跟gemini对话Rag架构总结

核心引擎:从“流水线”到“决策脑”

  • LangChain (工具库):负责底层对接。它帮你完成 PDF 文档的加载、文字切片、以及将文字转化成数字(向量)的工作。

  • LangGraph (指挥官):负责高层逻辑。它不再让 AI 走死板的直线,而是允许 AI 根据实际情况循环回头(例如:发现搜到的资料没用,就换个词重新搜)。

2. 知识储备:RAG 检索增强生成

  • 向量数据库 (Chroma/Milvus):这是 AI 的“私人图书馆”。你把业务手册存进去,它不仅存文字,还存文字的“含义数字(向量)”。

  • 检索逻辑:当用户提问时,系统不是在搜“关键词”,而是在搜“意思”。即使问法不同,只要意思相近,AI 就能从库里翻出那几页文档。

3. 记忆宫殿:基于状态的存档机制

  • Checkpoint (检查点):系统每运行一步都会“存档”。这保证了 AI 哪怕由于网络波动中断,重启后也能接上话。

  • 线程隔离 (Thread ID):通过唯一标识区分用户,确保张三的订单信息绝不会出现在李四的对话里。

  • 因果链条 (Parent ID)

    • 作用:它像 Git 的提交记录,把对话串成一棵树。

    • 优势:支持“时间旅行”。如果用户反悔或 AI 走错路,系统可以根据父节点 ID 瞬间回滚到之前的正确状态,避免 AI 产生逻辑混乱(幻觉)。


🛠️ 落地执行三部曲

第一阶段:知识数字化(离线阶段)

  1. 收集所有客服 PDF/Markdown 资料。

  2. 将文档切成 500 字左右的小块,并保留部分重叠。

  3. 通过 Embedding 模型将这些小块变成向量,存入MySQL + Chroma

第二阶段:逻辑图构建(核心阶段)

  1. 节点设计:定义“检索知识”、“生成回答”、“人工介入”等独立功能模块。

  2. 路线规划:设定规则。比如:如果检索结果评分低于 0.6,则触发“重新检索”或“转人工”。

  3. 存档配置:配置 MySQL 存档表,让对话具备持久化记忆和回溯能力。

第三阶段:全栈对接(上线阶段)

  1. Java 后端:用 Spring Boot 封装 AI 逻辑,提供流式(SSE)接口,让前端显示像打字机一样流畅。

  2. 前端 UI:追求 Apple Style 的极简对话框,展示 AI 回答的同时,标注出它参考了哪份文档。

  3. 人工控制台:当 AI 处理不了时,通过看板实时提醒人工客服接管该thread_id