►第 1 章 Spring Boot 基礎
1.1 快速入門 - 10 分鐘建立第一個應用
本節概要
1.1.1 為什麼選擇 Spring Boot ?
1.1.2 建立開發環境
1.1.3 建立第一個 Spring Boot 專案
1.1.4 第一次啟動
1.1.5 為 Spring AI 做準備
1.1.6 本節重點回顧
1.1.7 下一步
1.1.8 參考資源
1.2 專案架構與配置 - 掌握自動配置與標準架構
本節概要
1.2.1 為什麼專案架構如此重要?
1.2.2 Spring Boot 標準專案結構
1.2.3 三層架構設計
1.2.4 配置管理策略
1.2.5 依賴注入架構
1.2.6 Maven 專案結構
1.2.7 環境配置管理
1.2.8 本節重點回顧
1.2.9 下一步
1.2.10 參考資源
1.3 核心註解與依賴注入 - 深入解析註解驅動開發
本節概要
1.3.1 為什麼需要註解?
1.3.2 Spring Boot 註解體系概覽
1.3.3 核心啟動註解
1.3.4 組件註解
1.3.5 依賴注入詳解
1.3.6 Web 開發核心註解
1.3.7 配置相關註解
1.3.8 為 Spring AI 做準備
1.3.9 本節重點回顧
1.3.10 下一步
1.3.11 參考資源
1.4 實戰:打造你的第一個 Spring Boot 應用
本節概要
1.4.1 專案需求分析
1.4.2 系統架構設計
1.4.3 資料模型設計
1.4.4 DTO 模式實作
1.4.5 資料流程圖
1.4.6 服務層實作
1.4.7 Controller 層實作
1.4.8 配置檔案
1.4.9 API 測試
1.4.10 安全性設計
1.4.11 關鍵技術說明
1.4.12 本節重點回顧
1.4.13 下一步
1.4.14 參考資源
►第 2 章 Spring MVC 與 API 開發
2.1 Spring MVC 基礎 - 架構原理與請求處理流程
本節概要
2.1.1 MVC 架構概述
2.1.2 現代架構:前後端分離
2.1.3 DispatcherServlet 工作流程
2.1.4 @RestController vs @Controller
2.1.5 JSON 自動處理機制
2.1.6 為 Spring AI 做準備
2.1.7 本節重點回顧
2.1.8 下一步
2.1.9 參考資源
2.2 RESTful API 設計 - 原則與最佳實踐
本節概要
2.2.1 REST 架構約束條件
2.2.2 HTTP 方法語義化使用
2.2.3 完整 CRUD 操作實現
2.2.4 URL 設計規範
2.2.5 HTTP 狀態碼最佳實踐
2.2.6 本節重點回顧
2.2.7 下一步
2.2.8 參考資源
2.3 請求與回應處理 - 精通 HTTP 參數綁定與內容協商
本節概要
2.3.1 請求參數處理
2.3.2 @PathVariable - 路徑參數
2.3.3 @RequestParam - 查詢參數
2.3.4 @RequestBody - 請求體參數
2.3.5 @RequestHeader - 請求標頭
2.3.6 統一回應格式設計
2.3.7 全域異常處理
2.3.8 HTTP 狀態碼最佳實踐
2.3.9 本節重點回顧
2.3.10 下一步
2.3.11 參考資源
►第 3 章 生產級 API 開發實踐
3.1 資料驗證與錯誤處理 - 建構穩固的防禦機制
本節概要
3.1.1 為什麼需要資料驗證?
3.1.2 資料驗證完整流程
3.1.3 Bean Validation 實作
3.1.4 自訂驗證註解
3.1.5 全域異常處理
3.1.6 自訂業務異常
3.1.7 實際應用場景
3.1.8 本節重點回顧
3.1.9 下一步
3.1.10 參考資源
3.2 檔案處理與多媒體 - 從上傳到安全存取
本節概要
3.2.1 檔案處理的重要性
3.2.2 HTTP 檔案上傳原理
3.2.3 檔案上傳配置
3.2.4 檔案上傳實作
3.2.5 檔案下載實作
3.2.6 安全性考量
3.2.7 實際應用場景
3.2.8 本節重點回顧
3.2.9 下一步
3.2.10 參考資源
3.3 API 文件化實戰 - 整合 Swagger 與 OpenAPI
本節概要
3.3.1 Swagger / OpenAPI 工作流程
3.3.2 整合 Swagger / OpenAPI
3.3.3 使用 Swagger 註解
3.3.4 API 測試工具
3.3.5 API 測試類型
3.3.6 實際應用場景
3.3.7 本節重點回顧
3.3.8 下一步
3.3.9 參考資源
►第 4 章 Spring AI 的誕生與核心價值
Spring AI 1.0 GA 的革命性變革
ChatClient - 統一的核心 API
增強的 LLM 功能
Advisor API - AOP 思想的延伸
4.1 取得 AI 入門鑰匙 - API Key 申請指南
本節概要
4.1.1 為什麼需要 API Key?
4.1.2 主要 AI 服務提供商
4.1.3 API Key 配置與管理
4.1.4 成本控制與監控
4.1.5 本節重點回顧
4.1.6 下一步
4.1.7 參考資料
4.2 Hello AI World - 建立您的第一個 AI 應用
本節概要
4.2.1 Spring AI 架構概述
4.2.2 專案建立與依賴配置
4.2.3 使用 ChatClient 實現 AI 對話
4.2.4 ChatClient 自動配置與客製化
4.2.5 ChatModel 直接使用方式
4.2.6 測試 AI 應用程式
4.2.7 ChatClient vs ChatModel 使用時機
4.2.8 本節重點回顧
4.2.9 下一步
4.2.10 參考資料
4.3 流式輸出實現 - 整合 Server-Sent Events (SSE)
本節概要
4.3.1 為什麼需要流式輸出?
4.3.2 ChatClient 流式輸出實作
4.3.3 進階流式輸出控制
4.3.4 使用 ChatModel 的流式輸出
4.3.5 應用程式配置
4.3.6 本節重點回顧
4.3.7 下一步
4.3.8 參考資料
4.4 深入 ChatModel - AI 對話核心機制
本節概要
4.4.1 Spring AI 架構全貌
4.4.2 ChatModel 核心介面
4.4.3 AI 模型參數配置
4.4.4 多模型支援架構
4.4.5 本節重點回顧
4.4.6 下一步
4.4.7 參考資料
4.5 前端串流處理 - Server-Sent Events 實戰
本節概要
4.5.1 EventSource API 基礎
4.5.2 建立流式聊天介面
4.5.3 JavaScript 流式聊天實現
4.5.4 本節重點回顧
4.5.5 下一步
4.5.6 參考資料
►第 5 章 Spring AI 進階功能
5.1 提示詞範本 (Prompt Template) - 標準化你的 AI 互動
本節概要
5.1.1 什麼是提示詞範本?
5.1.2 方式一:最簡單的 Fluent API
5.1.3 方式二:使用 PromptTemplate 類別
5.1.4 方式三:外部檔案管理(最佳實踐)
5.1.5 進階應用:動態角色切換
5.1.6 本節重點回顧
5.1.7 下一步
5.1.8 參考資料
5.2 多模態處理 - 讓 AI 看見與聽見
本節概要
5.2.1 什麼是多模態 AI?
5.2.2 支援多模態的 AI 模型
5.2.3 圖片分析功能實現
5.2.4 多媒體檔案處理
5.2.5 企業級應用場景
5.2.6 本節重點回顧
5.2.7 下一步
5.2.8 參考資料
5.3 圖像生成實戰 - 從文字到圖像
本節概要
5.3.1 AI 圖片生成的革命性影響
5.3.2 Spring AI 支援的圖片生成模型
5.3.3 OpenAI DALL·E 3 整合
5.3.4 進階功能實現
5.3.5 最佳實踐
5.3.6 本節重點回顧
5.3.7 下一步
5.3.8 參考資料
5.4 字幕產生器 - 影片自動上字幕
本節概要
5.4.1 為什麼需要 AI 字幕生成?
5.4.2 Spring AI 語音轉文字架構
5.4.3 Whisper 模型介紹
5.4.4 配置與實現
5.4.5 字幕格式說明
5.4.6 最佳實踐
5.4.7 本節重點回顧
5.4.8 下一步
5.4.9 參考資料
5.5 語音合成 (Text-to-Speech) - 賦予應用聲音
本節概要
5.5.1 為什麼需要 AI 配音?
5.5.2 Spring AI 語音生成架構
5.5.3 OpenAI TTS 模型與聲音
5.5.4 配置與實現
5.5.5 成本與效益分析
5.5.6 最佳實踐
5.5.7 本節重點回顧
5.5.8 下一步
5.5.9 參考資料
5.6 Function Calling(上)- 賦予 AI 操作世界的能力
本節概要
5.6.1 AI 為什麼需要工具?
5.6.2 Tool Calling 基礎架構
5.6.3 第一個 Tool - 時間查詢
5.6.4 @Tool 註解詳解
5.6.5 多工具協作
5.6.6 最佳實踐
5.6.7 完整示例:智能助手
5.6.8 重點回顧
5.6.9 下一步
5.6.10 參考資料
5.7 Function Calling(中)- 讀取企業資料
本節概要
5.7.1 為什麼需要 Tool Calling?
5.7.2 Tool Calling 架構
5.7.3 基礎工具實現
5.7.4 進階工具開發
5.7.5 實際應用場景
5.7.6 最佳實踐
5.7.7 工具設計模式
5.7.8 本節重點回顧
5.7.9 下一步
5.7.10 參考資料
5.8 Function Calling(下)- 進階工具鏈與多步驟任務
本節概要
5.8.1 為什麼需要工具鏈?
5.8.2 工具鏈執行流程
5.8.3 實戰:建立工具鏈系統
5.8.4 實際應用場景
5.8.5 控制器實現
5.8.6 本節重點回顧
5.8.7 下一步
5.9 即時資料查詢 - 串接氣象 API
本節概要
5.9.1 為什麼要整合真實 API?
5.9.2 中央氣象局 API 整合
5.9.3 實戰:建立天氣查詢系統
5.9.4 控制器實現
5.9.5 測試應用
5.9.6 錯誤處理策略
5.9.7 本節重點回顧
5.9.8 下一步
5.9.9 參考資料
5.10 結構化輸出 - 從 AI 回應到 Java 物件
本節概要
5.10.1 結構化輸出的重要性
5.10.2 三種轉換器的用途
5.10.3 現代化 API 實現
5.10.4 傳統轉換器實現
5.10.5 企業級應用場景
5.10.6 最佳實踐和優化
5.10.7 本節重點回顧
5.10.8 下一步
5.10.9 參考資料
►第 6 章 AI 記憶與知識管理
6.1 In-Context Learning - 賦予 AI 上下文感知能力
本節概要
6.1.1 為什麼需要 In-Context Learning?
6.1.2 In-Context Learning 核心概念
6.1.3 實現方式
6.1.4 Spring AI 1.0 的改進
6.1.5 實際應用場景
6.1.6 與其他概念的關係
6.1.7 本節重點回顧
6.1.8 In-Context Learning 的自動化:RAG
6.1.9 下一步
6.2 短期記憶系統 - ChatMemory 實戰應用
本節概要
6.2.1 為什麼需要 ChatMemory?
6.2.2 ChatMemory 架構設計
6.2.3 InMemoryChatMemory 實現
6.2.4 MessageWindowChatMemory(滑動視窗)
6.2.5 兩種 Advisor 的差異
6.2.6 多種儲存後端
6.2.7 重點回顧
6.2.8 下一步
6.3 Advisor 插件化開發 - 自訂 AI 增強功能
本節概要
6.3.1 什麼是 Advisor?
6.3.2 Spring AI 1.0+ 新版 API
6.3.3 實戰:TokenUsageLogAdvisor
6.3.4 Advisor 執行順序
6.3.5 進階範例
6.3.6 本節重點回顧
6.3.7 下一步
6.4 向量資料庫選擇 - 20+ 資料庫完整對比
本節概要
6.4.1 什麼是向量資料庫?
6.4.2 Spring AI 1.0 支援的向量資料庫
6.4.3 Docker Compose 快速部署
6.4.4 選擇決策樹
6.4.5 Spring AI 動態配置
6.4.6 性能對比
6.4.7 本節重點回顧
6.4.8 下一步
6.5 Neo4j 向量搜尋實戰 - 配置與部署
本節概要
6.5.1 為什麼選擇 Neo4j?
6.5.2 Docker 部署
6.5.3 向量索引配置
6.5.4 Spring AI 配置
6.5.5 資料操作
6.5.6 效能優化
6.5.7 實用 Cypher 查詢
6.5.8 常見問題
6.5.9 本節重點回顧
6.5.10 下一步
6.6 長期記憶系統 - 跨會話記憶管理
本節概要
6.6.1 向量記憶 vs 傳統記憶
6.6.2 基本配置
6.6.3 混合記憶架構
6.6.4 實戰範例
6.6.5 進階配置
6.6.6 適用場景與限制
6.6.7 記憶同步機制
6.6.8 本節重點回顧
6.6.9 下一步
6.7 智能摘要系統 - 自動整理對話重點
本節概要
6.7.1 為什麼需要智能摘要?
6.7.2 SmartMemoryAdvisor 設計
6.7.3 混合記憶策略
6.7.4 對話分析功能
6.7.5 記憶優化技術
6.7.6 本節重點回顧
6.7.7 下一步
►第 7 章 RAG 系統建構與企業知識庫整合
7.1 RAG 原理與實現 - 讓 AI 讀懂你的文件
本節概要
7.1.1 什麼是 RAG?
7.1.2 RAG 完整流程
7.1.3 RAG vs Fine-tuning vs Prompt Engineering
7.1.4 Spring AI RAG 實現
7.1.5 向量資料庫配置
7.1.6 完整使用流程
7.1.7 文本分塊策略
7.1.8 RAG 效能調校
7.1.9 實際應用場景
7.1.10 RAG 系統優化技巧
7.1.11 REST API 設計
7.1.12 與其他概念的關係
7.1.13 本節重點回顧
7.1.14 下一步
7.1.15 相關資源
7.2 內容向量化 - Embedding 技術詳解
本節概要
7.2.1 什麼是向量化?
7.2.2 Spring AI Embedding 模型
7.2.3 Spring AI 向量化實現
7.2.4 向量品質評估
7.2.5 相似度計算方法
7.2.6 向量化成本優化
7.2.7 多語言支援
7.2.8 實戰技巧
7.2.9 本節重點回顧
7.2.10 下一步
7.2.11 相關資源
7.3 知識來源處理 - 支援 PDF、Word、Excel
本節概要
7.3.1 什麼是 ETL?
7.3.2 Spring AI ETL 架構
7.3.3 PDF 文件處理
7.3.4 Office 文件處理(Tika)
7.3.5 文本文件處理
7.3.6 網頁內容處理
7.3.7 ETL Pipeline 設計
7.3.8 元資料增強
7.3.9 REST API 整合
7.3.10 本節重點回顧
7.3.11 下一步
7.3.12 相關資源
7.4 進階文件處理 - 整合 OCR 與壓縮檔
本節概要
7.4.1 為什麼需要進階文件處理?
7.4.2 多格式文件架構
7.4.3 Office 文件處理(Excel & PowerPoint)
7.4.4 圖像文件 OCR 處理
7.4.5 壓縮檔案批次處理
7.4.6 統一的多格式處理流程
7.4.7 本節重點回顧
7.4.8 下一步
7.4.9 參考資料
7.5 資料品質優化 - 提升檢索準確度
本節概要
7.5.1 Transform 階段的重要性
7.5.2 智能文本清理
7.5.3 智能文本分塊(Chunking)
7.5.4 元資料增強(Metadata Enrichment)
7.5.5 完整 ETL Pipeline 整合
7.5.6 ETL Pipeline 效能優化
7.5.7 本節重點回顧
7.5.8 下一步
7.5.9 參考資料
7.6 企業資料整合 - 資料庫、API 串接
本節概要
7.6.1 企業 RAG 的資料挑戰
7.6.2 企業資料整合架構
7.6.3 資料同步策略
7.6.4 資料安全與權限控制
7.6.5 資料同步監控
7.6.6 本節重點回顧
7.6.7 下一步
7.6.8 參考資料
7.7 生產環境實戰 - 部署、監控與優化
本節概要
7.7.1 生產環境的挑戰
7.7.2 容器化部署
7.7.3 效能優化策略
7.7.4 監控與告警
7.7.5 故障排除
7.7.6 本節重點回顧
7.7.7 第 7 章總結
7.7.8 參考資料
►第 8 章 Advanced RAG 技術與優化
8.1 Advanced RAG 概覽 - 提升檢索準確率的關鍵技術
本節概要
8.1.1 為什麼需要 Advanced RAG?
8.1.2 RAG 技術演進
8.1.3 Advanced RAG 核心組件
8.1.4 完整配置範例
8.1.5 效果對比
8.1.6 本節重點回顧
8.1.7 下一步
8.1.8 參考資料
8.2 Embedding 模型優化 - 從選擇到效能調校
本節概要
8.2.1 為什麼 Embedding 是 RAG 的關鍵?
8.2.2 Embedding 模型比較
8.2.3 Spring AI Embedding 配置
8.2.4 效能優化策略
8.2.5 效能監控
8.2.6 模型選擇建議
8.2.7 最佳實踐
8.2.8 本節重點回顧
8.2.9 下一步
8.2.10 參考資料
8.3 Re-ranking 實戰 - 精準重排以獲得最佳答案
本節概要
8.3.1 為什麼需要 Re-ranking?
8.3.2 Voyage AI Re-ranking 實現
8.3.3 配置和使用
8.3.4 效果對比
8.3.5 最佳實踐
8.3.6 本節重點回顧
8.3.7 下一步
8.3.8 參考資料