1、立项背景和目标:
高校专业课程学习中,学生课后答疑需求频繁但教师精力有限,传统群聊问答重复率高、覆盖率低。本项目旨在构建基于大模型RAG技术的智能答疑系统,让上传的课程资料(PDF、PPT)成为知识库,实现7×24小时自动答疑,减轻教师负担并提升学生自学效率。
2、软件功能、核心功能模块的介绍:
系统包含学生端和管理端。学生端支持课程选择、多轮智能问答、历史会话查看、知识点收藏;管理端支持课程资料上传、知识库构建监控、问答记录统计、Prompt模板调优。核心模块为RAG检索增强生成引擎、多轮对话上下文管理、文档智能解析与向量化存储。
3、业务流程、功能路径描述:
教师上传课程资料,系统自动解析分块并生成向量存入Chroma数据库;学生选择课程后输入问题,系统检索Top3相关文档片段,结合历史对话上下文构造Prompt,调用大模型生成带溯源标注的答案;学生可继续追问或切换课程,管理员可在后台查看高频问题并优化知识库。
1、整体架构和设计思路,不同模块使用的技术栈:
采用前后端分离架构。前端使用Vue3 + Element Plus构建响应式界面;后端使用FastAPI提供异步API接口;数据层使用MySQL存储用户和课程数据,Chroma作为向量数据库存储文档嵌入;AI层使用LangChain框架编排RAG流程,接入OpenAI GPT-3.5 API(同时本地部署ChatGLM3-6B作为低成本备选)。
2、"我"的负责模块和结果(尽可能量化):
我独立负责RAG核心模块和前端问答页面。实现了基于LangChain的文档加载、RecursiveCharacterTextSplitter文本分割、OpenAI Embedding向量化流程;设计多轮对话Session管理,支持携带3轮历史上下文;通过优化Prompt模板和检索阈值,回答准确率从初始65%提升至82%;完成10门课程共500余份资料的入库测试,平均响应时间2.8秒。
3、"我"遇到的难点、坑,和解决方案:
难点一:大模型幻觉严重,经常回答课程外的内容。解决方案:严格限定RAG检索范围,在Prompt中强制要求"仅基于提供的参考资料回答",并在UI中展示答案引用的原文段落,既约束模型又提升可信度。难点二:长文档切分导致语义断裂。解决方案:采用滑动窗口切分策略(每块500字、重叠100字),保证上下文连贯性。难点三:API调用成本高。解决方案:实现本地ChatGLM3-6B模型兜底,简单问题走本地,复杂问题走API,月均成本降低约60%。