使用 Spring AI 打造企業 RAG 知識庫

凱文大叔(蔡承凱) 著

  • 出版商: 深智
  • 出版日期: 2026-01-19
  • 定價: $820
  • 售價: 7.9$648
  • 語言: 繁體中文
  • 頁數: 728
  • ISBN: 6267757714
  • ISBN-13: 9786267757710
  • 相關分類: AI Coding
  • 尚未上市,歡迎預購

  • 使用 Spring AI 打造企業 RAG 知識庫-preview-1
  • 使用 Spring AI 打造企業 RAG 知識庫-preview-2
  • 使用 Spring AI 打造企業 RAG 知識庫-preview-3
  • 使用 Spring AI 打造企業 RAG 知識庫-preview-4
  • 使用 Spring AI 打造企業 RAG 知識庫-preview-5
  • 使用 Spring AI 打造企業 RAG 知識庫-preview-6
  • 使用 Spring AI 打造企業 RAG 知識庫-preview-7
  • 使用 Spring AI 打造企業 RAG 知識庫-preview-8
使用 Spring AI 打造企業 RAG 知識庫-preview-1

買這商品的人也買了...

相關主題

商品描述

本書以扎實的 Spring Boot/MVC/API 基礎為基石,

帶您精通 Spring AI 的核心組件,

最終具備開發企業級 AI 應用程式的能力

 

★ 從 Spring Boot 基礎教起,建立堅實的企業級開發能力

★ 精通 RESTful API 設計,打造穩健的生產級後端系統

★ 掌握多模態處理、語音合成,擴展智能應用邊界

★ 由 API 串接 AI,為模型賦予 Function Calling 行動力

★ 實戰企業級 RAG 知識庫,讓 AI 讀懂你的私有文件

★ 提供17個實作範例,涵蓋最新的MCP開發

 

【核心基礎】奠定企業級 AI 應用開發基石

穩固開發基礎:深入解析 Spring Boot 自動配置、三層架構,以及 RESTful API 開發

必備觀念與實踐:掌握依賴注入、Validation、全域錯誤處理、安全配置 API Key 的方法

掌握 Spring AI 核心價值:專注於解決將 企業數據、API AI 無縫串聯 的根本挑戰

統一 API 介面:透過 ChatClient,輕鬆整合多種主流 AI 模型

 

AI 實戰】建構高智能對話與多模態能力

RAG 知識庫核心:實作RAG系統,從而解決資料過時或幻覺 問題

賦予 AI 行動能力:透過 Function Calling突破AI限制,讓模型能調用外部 API 獲取即時數據、執行業務操作

記憶與上下文管理:建立 ChatMemory 系統,實現對話歷史的 短期記憶 和跨會話的 長期記憶

多模態功能集成:實現圖片、語音、影片分析及生成等功能

結構化輸出保證: AI 回應自動轉換為 類型安全 Java 物件,便於系統整合與數據處理

 

【企業部署與優化】打造生產就緒的 AI 平台

數據品質保證:深入了解 ETL 文本清理智能分塊 元資料增強 等技術

Advanced RAG學習 EmbeddingRe-ranking排序優化,將檢索準確率提升至 90% 以上

MCP協議擴展:掌握MCP,這是標準AI工具接口,可輕鬆整合外部服務

生產部署與監控:進行效能監控與成本追蹤

【本書適合】

Java 開發者: 熟悉 Spring Boot Spring Framework,希望快速進入 AI 應用開發領域

企業架構師與技術主管: 負責設計穩定、高效能、可擴展的 企業級 AI 平台 RAG 知識庫

數據工程師與後端工程師: 需要將 LLM、向量資料庫和企業數據進行深度整合,並重視系統穩定性

學生與轉職者: 渴望打下紮實的企業級後端(Spring Boot)與 AI 工程基礎,未來走向數據分析或 AI 工程領域

鑑於 Spring 框架在眾多企業核心業務系統中具有深厚的根基Spring AI 的核心價值在於解決將 企業數據、API AI 無縫串聯 的根本挑戰,是企業級 Java AI 開發的首選

作者簡介

凱文大叔(蔡承凱)

擁有超過 20 年的 Java 開發經驗,對 Java 生態系統了如指掌,擅長使用 Spring Boot 框架開發高效穩定的系統。除了全職軟體工程師的角色,也在 Amazing Talker 擔任程式語言講師,透過深入淺出的教學方式,幫助學員快速掌握技術。 近期,專注於人工智慧(AI)的應用研究,尤其是模型整合、RAG及智能化工作流程( Dify )的應用,探索 AI 科技如何改變未來。歡迎加入學習與成長的行列,一起探索 AI 的無限可能!

 

歡迎追蹤我的社群帳號

FB: 凱文大叔教你寫程式

Youtube: 凱文大叔AI程式設計教室

Threads: 凱文大叔(@cai.chengkai)

 

也歡迎透過 Email 跟我分享你的學習心得。

Email:kevintsai1202@gmail.com.tw

目錄大綱

►第 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 參考資料

8.4系統品質保證 - 內容審核與自動化評估
本節概要
8.4.1 為什麼需要內容審核與評估?
8.4.2 多層內容審核系統
8.4.3 RAG 系統評估測試
8.4.4 持續監控與自動化
8.4.5 監控面板
8.4.6 本節重點回顧
8.4.7 下一步
8.4.8 參考資料

►第 9 章 MCP 協議整合與工具開發
9.1 認識 MCP - AI 的標準化接口

本節概要
9.1.1 什麼是 MCP?
9.1.2 MCP 架構設計
9.1.3 傳輸方式
9.1.4 JSON-RPC 2.0 協議
9.1.5 MCP 核心功能
9.1.6 MCP 在企業中的應用價值
9.1.7 MCP vs 其他解決方案
9.1.8 本節重點回顧
9.1.9 與 Spring AI 的整合
9.1.10 下一步
9.1.11 參考資源

9.2 Spring MCP 快速入門
本節概要
9.2.1 專案架構
9.2.2 Maven 依賴配置
9.2.3 MCP Client 配置
9.2.4 MCP Client 核心服務
9.2.5 與 ChatClient 整合
9.2.6 命令列互動應用
9.2.7 工具發現與調用
9.2.8 資源讀取
9.2.9 啟動和測試
9.2.10 進階配置
9.2.11 本節重點回顧
9.2.12 下一步
9.2.13 常見問題

9.3 使用 MCP 工具 - 擴展 AI 能力
本節概要
9.3.1 MCP Server 架構概覽
9.3.2 專案配置
9.3.3 開發 MCP 工具
9.3.4 註冊 ToolCallbackProvider
9.3.5 雙傳輸模式支援
9.3.6 啟動和測試
9.3.7 本節重點回顧
9.3.8 實戰應用
9.3.9 下一步
9.3.10 參考資源

9.4 開發 MCP Server - 打造自己的工具集
本節概要
9.4.1 版本要求
9.4.2 進階功能架構
9.4.3 智能提示系統(Prompts)
9.4.4 自動完成功能(Completions)
9.4.5 客戶端通知機制
9.4.6 資料庫整合
9.4.7 配置和啟動
9.4.8 測試進階功能
9.4.9 本節重點回顧
9.4.10 與其他章節整合
9.4.11 企業應用場景
9.4.12 下一步
9.4.13 參考資源