企业在日常经营中需要频繁查阅合同、标书、产品手册、培训资料等 PDF 文档,人工翻页检索效率低,容易遗漏关键条款或技术细节。同时,将敏感文档上传至公有云大模型存在数据泄露风险,许多中小企业希望在不外泄资料的前提下获得智能问答能力。本项目面向有文档知识库问答需求的中小企业、创业团队及内部培训场景,提供可本地部署的 PDF 智能检索与问答方案,解决“文档难检索、外部 AI 不安全”两类核心痛点,帮助用户基于自有资料快速获取准确答案。
点击空白处退出提示
企业在日常经营中需要频繁查阅合同、标书、产品手册、培训资料等 PDF 文档,人工翻页检索效率低,容易遗漏关键条款或技术细节。同时,将敏感文档上传至公有云大模型存在数据泄露风险,许多中小企业希望在不外泄资料的前提下获得智能问答能力。本项目面向有文档知识库问答需求的中小企业、创业团队及内部培训场景,提供可本地部署的 PDF 智能检索与问答方案,解决“文档难检索、外部 AI 不安全”两类核心痛点,帮助用户基于自有资料快速获取准确答案。
本项目为一套完整的 PDF 智能问答 Web 应用,包含以下功能模块:
1. PDF 上传与解析:用户通过页面上传 PDF,后端使用 PyPDF 自动提取全文,并校验文件有效性与可提取文本。
2. 向量索引构建:对文档进行分段切块(支持 overlap 重叠),使用多语言 SentenceTransformer 模型生成向量,构建 FAISS 语义索引。
3. 语义检索问答:根据用户提问检索 Top-K 最相关段落,经相似度阈值过滤后作为上下文,调用大语言模型生成基于文档的回答。
4. 流式对话界面:深色主题 Web 前端,支持 Markdown 渲染、打字机式流式输出,交互体验接近主流 AI 聊天产品。
5. 会话管理:基于 session_id 隔离多用户会话,支持会话 TTL 过期清理与数量上限控制,避免内存占用过高。
6. 本地部署:通过 OpenAI 兼容接口对接 LM Studio 等本地推理服务,文档与问答数据全程不出本机,满足隐私与安全要求。
本人独立完成该项目的需求分析、架构设计、前后端开发及联调测试。技术架构为前后端分离:后端使用 FastAPI + Uvicorn,提供 /upload_pdf 上传建库与 /chat 流式问答接口;RAG 引擎封装为 FAISSStore 类,采用 L2 归一化 + IndexFlatIP 实现余弦相似度检索,并实现两阶段相似度过滤与 top-k 兜底策略;前端使用原生 HTML/CSS/JavaScript,通过 Fetch + ReadableStream 消费流式响应;大模型通过 OpenAI SDK 对接 LM Studio 本地服务。实现难点包括:PDF 文本切块策略设计、向量检索准确率优化、上下文长度截断防止超出模型 token 上限,以及多会话内存管理与过期清理机制。



评论