跟gemini对话Rag架构总结
核心引擎:从“流水线”到“决策脑”
LangChain (工具库):负责底层对接。它帮你完成 PDF 文档的加载、文字切片、以及将文字转化成数字(向量)的工作。
LangGraph (指挥官):负责高层逻辑。它不再让 AI 走死板的直线,而是允许 AI 根据实际情况循环和回头(例如:发现搜到的资料没用,就换个词重新搜)。
2. 知识储备:RAG 检索增强生成
向量数据库 (Chroma/Milvus):这是 AI 的“私人图书馆”。你把业务手册存进去,它不仅存文字,还存文字的“含义数字(向量)”。
检索逻辑:当用户提问时,系统不是在搜“关键词”,而是在搜“意思”。即使问法不同,只要意思相近,AI 就能从库里翻出那几页文档。
3. 记忆宫殿:基于状态的存档机制
Checkpoint (检查点):系统每运行一步都会“存档”。这保证了 AI 哪怕由于网络波动中断,重启后也能接上话。
线程隔离 (Thread ID):通过唯一标识区分用户,确保张三的订单信息绝不会出现在李四的对话里。
因果链条 (Parent ID):
作用:它像 Git 的提交记录,把对话串成一棵树。
优势:支持“时间旅行”。如果用户反悔或 AI 走错路,系统可以根据父节点 ID 瞬间回滚到之前的正确状态,避免 AI 产生逻辑混乱(幻觉)。
🛠️ 落地执行三部曲
第一阶段:知识数字化(离线阶段)
收集所有客服 PDF/Markdown 资料。
将文档切成 500 字左右的小块,并保留部分重叠。
通过 Embedding 模型将这些小块变成向量,存入MySQL + Chroma。
第二阶段:逻辑图构建(核心阶段)
节点设计:定义“检索知识”、“生成回答”、“人工介入”等独立功能模块。
路线规划:设定规则。比如:如果检索结果评分低于 0.6,则触发“重新检索”或“转人工”。
存档配置:配置 MySQL 存档表,让对话具备持久化记忆和回溯能力。
第三阶段:全栈对接(上线阶段)
Java 后端:用 Spring Boot 封装 AI 逻辑,提供流式(SSE)接口,让前端显示像打字机一样流畅。
前端 UI:追求 Apple Style 的极简对话框,展示 AI 回答的同时,标注出它参考了哪份文档。
人工控制台:当 AI 处理不了时,通过看板实时提醒人工客服接管该
thread_id。