1. 项目概述:基于LangChain的RAG企业知识库问答系统
这套系统是我在三个月内部署落地的第三代企业知识库解决方案。相比传统ES检索方案,它最大的突破在于用Ollama本地化部署的AI大模型作为理解引擎,结合LangChain框架的RAG(检索增强生成)能力,实现了对非结构化文档的语义化问答。前端用Vue3构建交互界面,后端通过Flask提供API服务,Chroma向量数据库负责高效检索——整套技术栈全部采用当前主流开源方案,实测在16GB内存的服务器上即可流畅运行。
关键优势:完全私有化部署避免数据泄露风险;支持PDF/Word/Excel等多格式文档自动解析;问答响应速度控制在3秒内(实测平均2.4秒)
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心架构设计解析
2.1 技术选型逻辑
LangChain作为核心框架绝非偶然。它提供的Document Loaders能直接对接企业常见文档存储(SharePoint/本地NAS等),Text Splitters解决长文本分块难题,而最关键的RAG Pipeline只需50行代码即可搭建。相比纯API调用方案,这种可编程性让我们能定制处理客户特有的行业术语。
Ollama的选择经过严格对比测试:
- 实测Llama2-7B在中文QA任务上准确率比ChatGLM高12%
- 模型量化后仅需6GB显存
- 支持通过
ollama pull快速切换模型版本
前端选用Vue3+Element Plus的组合,主要考虑:
- 企业用户需要复杂的表格展示和条件筛选
- Composition API更适合管理多步骤的问答状态
- 静态资源打包后仅1.2MB,内网加载更快
2.2 数据流设计
mermaid复制graph TD
A[文档上传] --> B(Chroma向量化存储)
B --> C{用户提问}
C --> D[语义检索Top3片段]
D --> E[大模型生成回答]
E --> F[反馈学习循环]
实际开发中优化了三个关键点:
- 采用
zh_segment替代默认分词器,专业术语识别率提升35% - 为Chroma配置
hnsw索引类型,百万级向量检索耗时<800ms - 添加了查询重写层,将"怎么申请报销
