基于 LangChain + ChromaDB 构建的私有知识库问答系统,支持 PDF/DOCX/TXT/MD 文档入库、向量检索与 LLM 智能问答,集成 OCR 识别扫描版文档,Gradio Web 交互界面,纯本地部署方案。
点击空白处退出提示
基于 LangChain + ChromaDB 构建的私有知识库问答系统,支持 PDF/DOCX/TXT/MD 文档入库、向量检索与 LLM 智能问答,集成 OCR 识别扫描版文档,Gradio Web 交互界面,纯本地部署方案。
多格式文档入库:支持 PDF、DOCX、TXT、Markdown 等格式上传,自动解析文本内容并标注来源。
智能文本分割与向量化:采用 RecursiveCharacterTextSplitter 按语义分割文档为 chunk,调用硅基流动 BGE-M3 Embedding 模型生成向量,存入 ChromaDB 向量数据库持久化。
扫描件 OCR 识别:自动检测扫描版 PDF,切换 Tesseract OCR + Poppler 引擎提取图片中的文字,解决无文本层文档的入库难题。
知识库问答:基于 LangChain LCEL 管道,检索 top-k 相关文档片段后由 DeepSeek-V3 大模型生成回答,支持按文档名筛选检索范围。
Gradio Web 交互界面:左侧文档管理面板(上传/入库/状态),右侧对话窗口,实时反馈入库进度。
独立负责全栈开发:从技术选型、架构设计到编码实现和部署全流程。
技术栈:Python + LangChain + ChromaDB + Gradio + SiliconFlow API(BGE-M3 Embedding / DeepSeek-V3 LLM)。
架构亮点:LCEL 声明式管道串联检索与生成,PyPDFLoader 文本提取失败时自动回退 OCR 识别,入库前空内容过滤避免 ChromaDB upsert 崩溃。
难点攻克:解决 ChromaDB 1.5 与 LangChain 多版本依赖冲突;扫描版 PDF 自动检测与 poppler/Tesseract 环境适配;纯免费 API(硅基流动)方案下的推理延迟优化。



评论