一、立项背景和目标
背景问题:通用AI回答宽泛笼统,无法结合平台内真实教学资料与用户学习数据,给出可落地的实用建议。
核心目标:将AI从通用问答工具升级为平台专属业务助手,实现回答可追溯资料来源、推荐可解释原因、入口可直接访问。
目标拆解:
- 思考模式:仅做分析建议,不检索平台资料库。
- 内线模式:检索资料库并结合用户数据,提供推荐及改进建议。
- 推荐结果可直接预览、下载,无需用户二次检索。
二、软件功能(本次范围)
- AI对话:支持多轮上下文、附件解析、可选图片理解。
- 双模式切换:可自由切换思考模式与内线模式。
- 资料库联动检索:根据用户需求筛选平台资源。
- 推荐直达:展示推荐内容,支持直接预览、下载。
- 反馈闭环:用户点赞/点踩可影响AI后续回答风格。
三、核心功能模块介绍(本次范围)
1. AI交互模块(前端Home.tsx)
- 将用户文本、图片、文件发送至/api/ai_chat接口。
- 渲染结构化AI回复(直接答案、可选方案、可折叠分析)。
- 接收推荐资源,生成可直接访问的文件入口。
2. 资料库检索模块(后端backend.py)
- 通过_search_resource_content功能,按用户需求(学段/年级/学科/关键词)检索资源。
- 统计资源数据(点赞、点踩、评论数、好评率),生成推荐度并回传前端。
3. 推荐直达模块(前端)
- 推荐列表直接调用handlePreview/handleDownload功能,实现“推荐即入口”,无需二次跳转。
4. 反馈学习模块(后端)
- 通过/api/ai_feedback记录全站反馈,将用户偏好注入系统提示,优化回答风格。
四、业务流程
1. 用户在AI界面输入需求(如“小学三年级语文阅读课件”)。
2. 前端将消息、模式、用户ID、上下文、附件提交至/api/ai_chat。
3. 后端判断模式:思考模式不检索资料库;内线模式检索并整理资源。
4. 后端将资料、用户数据(内线模式)、提示约束传入LLM,返回结构化答案及推荐资源。
5. 前端展示答案及推荐文件入口,支持预览、下载。
6. 用户点赞/点踩后上报/api/ai_feedback,形成偏好闭环,优化AI表现。
一、立项背景和目标
背景问题:通用AI回答太笼统,没法结合平台里的教学资料和用户学习数据,给出能直接用的建议。
核心目标:把AI改成平台专属助手,做到回答能查来源、推荐能说清原因、点一下就能用。
目标拆解:思考模式(只分析不查资料);内线模式(查资料+结合用户数据推荐);推荐结果可直接预览下载。
二、软件功能(本次范围)
支持AI多轮聊天、解析附件/图片,可切换两种模式,能检索资料库、推荐文件直达,用户点赞/点踩可优化AI回答。
三、核心功能模块介绍(本次范围)
1. 前端AI交互模块:发送用户输入到指定接口,展示AI结构化回复,生成推荐文件入口;
2. 后端资料库检索模块:按用户需求检索资源,统计数据并生成推荐度回传前端;
3. 前端推荐直达模块:推荐列表可直接预览、下载,无需二次跳转;
4. 后端反馈学习模块:记录用户反馈,注入AI提示词优化回答风格。
四、业务流程
用户输入需求→前端提交相关信息到接口→后端判断模式并处理→AI返回答案和推荐资源→前端展示并提供文件入口→用户反馈优化AI。
五、功能路径(用户视角)
进入AI交互界面→选模式(思考模式只分析,内线模式查资料推荐)→输入需求(可注明学段/年级等)→查看AI答案(直接答案、可选方案、可折叠分析)→点击推荐入口预览/下载→点赞/点踩优化AI。
六、项目实现思路
前端管交互展示,后端管检索、数据处理和调用AI;两种模式边界清晰;推荐时标注关键信息和推荐理由;推荐文件可直接打开;用户反馈会持续优化AI回答。
七、技术线(本次范围)
AI会话管理用React等;回复渲染用React相关工具;资料检索用Flask等;文件处理用专用工具;文件预览下载用Flask和前端按钮;反馈优化用Flask接口和数据统计。
八、难点及解决方案(AI交互+资料库联动)
1. AI瞎答不结合平台资料:后端先查资料,再让AI基于资料回答;
2. 两种模式混用:后端按模式分流,思考模式不查资料;
3. 推荐不实用:优先按学段等筛选,再结合关键词和资源质量排序;
4. 推荐文件没法用:AI返回资源后,前端直接生成可点击入口;
5. 回答风格不稳定:记录用户反馈,动态优化AI提示词;
6. 可读性和专业性冲突:固定三段式输出,分析过程可折叠。