11. 总结与展望

4 min

一个完整的 AI 应用,通常包含两条核心流水线:

  • 构建知识库(文档摄入):把各种格式的文档拆开、切块、打标、向量化、入库,构建知识库
  • 构建问答系统(AI问答系统):用户提问后,意图路由到 RAG / 工具调用 / 联网搜索,结果汇合到 Prompt 组装层,再交给 Ollama 生成答案

1. 文档摄入架构

写路径是最直接的一条流水线:文件进来,按格式拆开,切块、打标、向量化、入库。

文档摄入架构图

2. AI问答系统架构

一次提问可以同时走三条信息源:

  • 知识库(RAG)
  • 工具调用(Tool Calling)
  • 互联网(Web Search)

三条结果汇合到 Prompt 组装层,再统一交给 Ollama 生成答案。

AI应用调用架构图

读路径的关键:RAG 不再是唯一信息源,而是和工具调用、联网搜索并列的一条。生产环境很少只靠一个知识库回答所有问题,业务数据要查数据库、新闻类问题要联网。Spring AI 的 Advisor + Tool 体系让这三种信息源在同一个 ChatClient 调用里组合,最终汇合到同一个 Prompt 模板。

3. AI 应用能力与专栏功能对照

模块 状态 备注
文档摄入 完整实现 多格式 Reader、TokenTextSplitter、Qdrant 入库
意图路由 简化处理 固定走 RAG 分支,未引入 Router
Query Rewriter 完整实现 RewriteQueryTransformer
Multi-Query Expander 独立验证 MultiQueryExpandTest 跑通用法,未接入主管道
Qdrant 检索 + namespace 过滤 完整实现 FilterExpressionBuilder
结果合并 / 重排序 默认实现 RetrievalAugmentationAdvisor 默认行为,未自定义 reranker
Prompt 组装 完整实现 ContextualQueryAugmenter
Ollama 流式调用 完整实现 chatStream + SSE
来源追踪 完整实现 DOCUMENT_CONTEXT 提取的 extractSources
工具调用 本专栏未实现 Spring AI 实战 - 工具调用与联网
联网搜索 本专栏未实现 Spring AI 实战 - 工具调用与联网
评估框架 完整实现 Hit Rate / MRR / LLM-as-Judge

现有的代码覆盖了 RAG 的核心能力:多格式摄入、模块化检索管道、Qdrant 持久化、按 namespace 隔离的多知识库、流式问答、来源追踪、评估框架。每一段代码都对应实际工程里能直接用的能力,拿来即用。

4. 进阶方向

按"投入产出比"从高到低排:

  • Reranker:检索后用 Cross-Encoder 模型重排序。Bi-Encoder 检索快但粗,Cross-Encoder 慢但精,组合使用 MRR 通常能涨 10 ~ 20 个点
  • Hybrid Search:BM25 + 向量检索混合。关键词精确匹配和语义匹配互补,对术语密集的技术文档效果尤其明显,Qdrant 1.10+ 原生支持
  • 接入工具调用:用 Spring AI 的 @Tool 注解声明业务函数,让 LLM 自主决定何时调用。订单查询、库存检查这类结构化场景立刻就能用
  • 接入联网搜索:接 Tavily 或 Brave Search API,作为 RAG 的补充信息源。适合实时性强的场景(新闻、行情、最新文档)
  • 意图路由:引入一个轻量分类器决定每次提问该走哪条路径,避免每次都跑全量 RAG,省一半延迟和算力
  • 版本化知识库:把 namespace 设计成 kb-v1 / kb-v2,新版本完整摄入后再切换路由,零停机更新
  • Conversation Memory:用 VectorStoreChatMemoryAdvisor 把对话历史也存进向量库,模型既能查文档又能回顾上下文
  • Multi-Modal RAG:图文混合检索,处理含图表和图片的文档,用多模态 Embedding 模型
  • Graph RAG:结合知识图谱做多跳推理,适合实体关系密集的场景

5. 推荐资源