# AI Teacher Assistant Agent(Courseware)API 将原有教师端能力重构为**模块化 AI Teacher Assistant Agent**,基于「课程描述 + 辅助材料」与 RAG,生成全链路教学资源。所有生成内容均带 **Reference**。 ## Reference 规范(技术约束) - **本地 VDB(Weaviate / 上传文件)**:`[Source: Filename/Page]` - **Web Search**:`[Source: URL]` 回答末尾包含 References 小节,或正文中按上述格式标注来源。 ## 核心模块与 API | 模块 | 路径 | 说明 | |------|------|------| | Course Vision & Structure Builder | `POST /api/courseware/vision` | 输入课程基本信息 + 教学大纲 → 课程定位、学习目标、层级化知识树 | | Activity & Assignment Designer | `POST /api/courseware/activities` | 设计课堂活动、作业及 Rubric;支持从上传资料提取核心知识点(`rag_context_override`) | | Teaching Copilot & Student Adaptation | `POST /api/courseware/copilot` | 课堂实时辅助;根据学生画像(Name, Progress, Behavior)动态调整建议 | | Course QA Optimizer | `POST /api/courseware/qa-optimize` | 基于 Smart Quiz 答题数据分析弱点,输出教学优化建议 | | Content Generator | `POST /api/courseware/content` | 生成 Markdown 详细教案 + 可用于 PPT 的结构化数据 | - 状态:`GET /api/courseware/status` ## 请求/响应示例 ### 1. Course Vision ```json POST /api/courseware/vision { "course_info": "IST345 生成式人工智能与负责任创新", "syllabus": "Week 1–5 基础;Week 6–10 应用与伦理。" } → { "ok": true, "content": "...课程定位、学习目标、知识树...\n\n## References\n[Source: GenAICourses]", "weaviate_used": true } ``` ### 2. Activities(可传入上传资料摘要) ```json POST /api/courseware/activities { "topic": "RAG 与检索增强", "learning_objectives": "理解 embedding、检索流程", "rag_context_override": "(可选)从上传文件 RAG 得到的摘要,覆盖 Weaviate 检索" } ``` ### 3. Teaching Copilot ```json POST /api/courseware/copilot { "current_content": "正在讲 Transformer 自注意力", "student_profiles": [ { "name": "张三", "progress": "80%", "behavior": "积极提问" }, { "name": "李四", "progress": "60%", "behavior": "沉默" } ] } ``` ### 4. QA Optimizer ```json POST /api/courseware/qa-optimize { "quiz_summary": "第 3 题正确率 45%,多数混淆了 encoder/decoder", "course_topic": "Transformer 与 Seq2Seq" } ``` ### 5. Content(教案 + PPT 数据) ```json POST /api/courseware/content { "topic": "Prompt Engineering", "duration": "1 课时", "outline_points": "Zero-shot, Few-shot, CoT" } ``` ## 代码结构 - `api/courseware/`:模块化实现 - `prompts.py`:各模块独立 Prompt 模板 - `references.py`:Reference 格式化(Filename/Page、URL) - `rag.py`:RAG 上下文 + 引用(Weaviate + 可选 Web) - `vision_builder.py`、`activity_designer.py`、`teaching_copilot.py`、`qa_optimizer.py`、`content_generator.py` - `api/weaviate_retrieve.py`:新增 `retrieve_from_weaviate_with_refs()` 返回 `(text, refs)` - `api/routes_courseware.py`:Courseware API 路由 ## 与教师端原有接口的关系 - 原有 `api/teacher/*`(课程描述、文档建议、作业建议、评估分析)保留不变。 - `GET /api/teacher/status` 增加 `courseware_modules` 与 `courseware_base`,便于前端跳转或聚合展示。