ClareCourseWare / docs /TEACHER_AGENT.md
claudqunwang's picture
Add structured AI courseware APIs
2a4f012

教师 Agent(AI 智能建课)

面向教师的 AI 助教,与 Clare 共用同一 Weaviate 数据库(GenAICourses),辅助设计与改进课程。

功能

功能 说明
课程描述生成 根据课程主题(及可选大纲)生成可用于课程介绍/选课页的简洁描述
课程文档内容建议 针对某一主题或现有文档片段,给出讲义/课件的内容与结构建议
作业和题库生成建议 根据主题与周次,给出作业题、练习题或考试题建议与示例
学生学习评估分析 根据学生表现摘要,给出分析结论与教学改进建议

使用方式

  1. Web 界面:启动后端与前端后,在页面右上角点击 「AI 智能建课」 进入教师仪表盘;使用完毕可点击 「返回学习」 回到 Clare 对话。
  2. API:直接调用以下接口(需已登录或按需鉴权):
    • POST /api/teacher/course-description — 课程描述
    • POST /api/teacher/doc-suggestion — 文档建议
    • POST /api/teacher/assignment-questions — 作业/题库建议
    • POST /api/teacher/assessment-analysis — 学习评估分析
    • GET /api/teacher/status — 状态(是否已配置 Weaviate)

Weaviate 配置(可选)

与 ClareVoice 相同:在环境变量或 .env 中配置:

  • WEAVIATE_URL:Weaviate Cloud 集群地址(如 https://riiqvgc7tuum6cgwhik9ra.c0.us-west3.gcp.weaviate.cloud
  • WEAVIATE_API_KEY:API Key
  • WEAVIATE_COLLECTION:可选,默认 GenAICourses

配置后,教师 Agent 会从 GenAICourses 中检索相关课程片段作为 RAG 上下文,生成更贴合课程内容的建议。未配置时仍可运行,仅不使用知识库检索。

依赖(启用 Weaviate 时)

若需在本仓库(非 ClareVoice Space)使用 Weaviate,请安装:

pip install weaviate-client>=4.0.0 llama-index-core>=0.10.0 llama-index-vector-stores-weaviate>=0.2.0 llama-index-embeddings-huggingface>=0.1.0 sentence-transformers>=2.2.0

索引需使用 HuggingFace sentence-transformers/all-MiniLM-L6-v2 构建(与 ClareVoice / build_weaviate_index.py 一致)。

代码结构

  • api/config.py — Weaviate 相关环境变量(USE_WEAVIATE 等)
  • api/weaviate_retrieve.py — 共用 Weaviate 检索
  • api/teacher_agent.py — 四个功能的 LLM + RAG 逻辑
  • api/routes_teacher.py — FastAPI 路由
  • web/src/components/TeacherDashboard.tsx — 教师仪表盘 UI(四张卡片)