基于DeepSeek+RAG的知识库问答系统~文章
基于DeepSeek+RAG的知识库问答系统~文本向量处理+rag知识库+Web网页界面
项目介绍
本项目是一个基于检索增强生成(Retrieval-Augmented Generation,RAG)技术构建的智能知识库问答系统,主要面向汽车销售咨询场景,同时也可扩展至企业客服、校园咨询、产品手册查询等领域。系统以 Flask 作为 Web 应用开发框架,提供用户注册登录、知识文档管理、智能问答、来源展示和问答历史查询等功能。管理员或业务人员可将车型参数、优惠政策、金融方案、保养说明及常见问题等资料录入知识库,系统会自动完成文本清洗、分块和向量化存储。当用户提出问题时,系统先利用中文向量模型检索语义最相关的知识片段,再将问题与检索结果共同提交给 DeepSeek 大语言模型,由模型生成准确、自然且符合业务语境的回答


选题背景与意义
随着企事业单位电子文档、产品资料和业务制度持续增长,传统依靠人工查找文件或关键词搜索的方式逐渐暴露出检索效率低、语义理解弱、知识利用不充分等问题。通用大语言模型虽然具有较强的文本理解和生成能力,但其训练数据具有时效边界,面对企业内部资料、垂直领域知识和实时业务政策时,容易出现无法回答或生成错误内容的“幻觉”现象。RAG 技术通过“先检索、后生成”的方式,将私有知识库与大语言模型结合,使模型能够依据外部知识完成回答。
关键技术栈:向量模型 + DeepSeek
系统使用本地部署的 bge-small-zh-v1.5 模型完成中文文本向量化,并通过 Sentence Transformers 加载和推理。知识入库时,系统先对正文进行清洗,再按照固定窗口切分文本;当前默认分块长度为 420 个字符,相邻分块重叠 80 个字符,以兼顾语义完整性和检索粒度。每个知识分块被编码为归一化向量并保存至数据库。用户提问时,系统为问题添加中文检索指令并生成查询向量,然后计算查询向量与知识分块向量的点积。由于向量已归一化,该点积可用于衡量余弦相似度,最终选取相似度最高的 Top-K 知识片段作为回答依据,当前默认召回数量为 3。
系统的 RAG 流程分为知识入库和在线问答两个阶段。知识入库阶段依次执行文档录入、文本清洗、重叠分块、向量编码和持久化存储
系统功能模块图
