企业内部通常积累了员工制度、产品资料和业务规范等大量文档,但文件分散、内容冗长,员工依靠人工翻阅或关键词搜索,难以快速定位准确答案,也无法确认回答依据。本项目面向企业知识管理与内部咨询场景,将 PDF、Word、TXT 文档统一构建为本地知识库,通过语义检索和来源引用提供可追溯的文档问答服务,降低资料查询成本;默认无需外部 API 即可运行,也便于保护企业内部文档数据。
点击空白处退出提示
企业内部通常积累了员工制度、产品资料和业务规范等大量文档,但文件分散、内容冗长,员工依靠人工翻阅或关键词搜索,难以快速定位准确答案,也无法确认回答依据。本项目面向企业知识管理与内部咨询场景,将 PDF、Word、TXT 文档统一构建为本地知识库,通过语义检索和来源引用提供可追溯的文档问答服务,降低资料查询成本;默认无需外部 API 即可运行,也便于保护企业内部文档数据。
系统包含用户登录、总览仪表盘、知识库管理、智能问答、对话历史和系统设置等功能模块。管理员可批量上传 PDF、Word、TXT 文档,系统自动完成格式与重复校验、文本解析、重叠切片、中文向量化及 FAISS 索引构建,并显示文件大小、切片数量和处理状态;支持删除文档及重新向量化。智能问答支持多轮对话和打字机效果,可根据语义检索结果生成本地证据式回答,并展示引用文档、页码或片段位置、原文摘要及相关度;配置 OpenAI API 后可切换至大模型生成模式。系统还支持查看、继续、清空和删除历史会话,统计知识库文档数、切片数、累计问答及近7日趋势,并可设置检索片段数量、加密保存或清除 API 密钥以及修改登录密码。
我负责需求梳理、系统架构、数据库设计、RAG流程、后端接口、前端页面验收、自动化测试和交付整理。项目后端采用 Python、Flask、Flask-SQLAlchemy 和 SQLite,建立用户、知识文档、文档切片、对话消息及系统设置等数据模型;使用 pypdf、python-docx 解析 PDF 和 Word,并兼容多种 TXT 编码,通过 LangChain 按固定长度和重叠比例切片。向量层采用 sentence-transformers 中文模型和 FAISS,本地缓存模型后可断网加载;检索时结合向量召回与中文关键词重排,提高小型知识库中的结果相关性。系统同时实现本地证据式回答和可选 OpenAI 生成模式,并保留文档、页码或切片位置、原文摘要及相关度。实现难点包括 Windows 中文路径下的 FAISS 索引读写、SQLite 切片与向量索引同步重建、多轮对话上下文管理及密钥安全存储;通过内存序列化和原子替换保证索引可靠更新,使用 Fernet 加密 API 密钥,并加入密码哈希、CSRF、防重复上传和文件大小限制。前端采用 Bootstrap 5、jQuery 和本地静态资源完成交互界面,最终通过5项Web集成测试和2项RAG单元测试,共7项测试。






评论