企业智能文档问答助手(RAG)产品系统Vibe Coding

我要开发同款
Python后端开发2026年07月11日
6阅读

技术信息

语言技术
PythonFlaskSQLiteJavaScriptNLP
系统类型
Web算法模型
行业分类
人工智能企业服务

作品详情

行业场景

企业内部通常积累了员工制度、产品资料和业务规范等大量文档,但文件分散、内容冗长,员工依靠人工翻阅或关键词搜索,难以快速定位准确答案,也无法确认回答依据。本项目面向企业知识管理与内部咨询场景,将 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项测试。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论