LangChain实战——RAG系统

2 阅读2分钟

AI问答知识库 - RAG流程基础功能实现

项目功能

  1. 多模态对话,支持图片,音频,PDF
  2. 知识库创建与文档上传
  3. 基于向量检索的RAG增强回答
  4. 用户注册登录与历史会话记录
  5. 向量数据库与检索的异步处理

技术栈

  • 前端
  1. React 19 + TypeScript
  2. Vite
  3. Ant Design + Tailwind CSS
  4. Axios
  • 后端
  1. FastApi
  2. SQLAlchemy 2.0
  3. LangChain
  4. pgvector
  • 数据库
  1. PostgreSQL 14+

项目特点

  • 端到端RAG:PDF解析与分块 -> 向量化 -> pgvector入库 -> 余弦距离TopK检索 -> 将参考资料注入提示词中增强回答的可用性。
  • 流式对话: 后端通过SSE协议推送流量输出,完成后落库完整恢复与引用信息;前端支持流式解析。
  • 实现可解释性与引用溯源: 要求模型按照[1][2]格式引用检索资料,并从回复中抽取引用编号。
  • 工程化与可靠性: 文档sha256去重避免重复入库;OCR兜底,当文本不足触发,支持百度OCR且token缓存。

项目缺陷

  1. 该项目只使用了langchain最基础的功能,并没有复杂的业务逻辑实现。
  2. 实现检索-增强-生成时,并没有进行优化处理,只是简单完成RAG流程。
  3. 后端响应时间较长,效率较低,还有未发现的bug。

总结

该项目适合对RAG流程落地不太熟悉以及想学习RAG的小伙伴,由于博主技术微薄,项目本身具有很大的缺陷,不过还是希望能够对大家有一些帮助

参考文档

本项目最开始是参照掘金上一位大佬(大模型真好玩)的rag实战项目,一点一点扩充的,如果有兴趣,各位可以跟我一样从零开始。并且这位大佬的技术博客对我有很大的启发与帮助,下面我将链接奉上: LangChain1.0实战之多模态RAG系统(一)——多模态RAG系统核心架构及智能问答功能开发本文介绍了基于Lang - 掘金

LangChain1.0实战之多模态RAG系统(二)——多模态RAG系统图片分析与语音转写功能实现本期分享通过集成全模态 - 掘金

LangChain1.0实战之多模态RAG系统(三)——多模态RAG系统PDF解析功能实现本文分享了基于LangChai - 掘金

LangChain1.0实战之多模态RAG系统(四)——Trae Solo搭建部署多模态RAG前端(附AI编程实践指南) - 掘金