Instructional Agents API完全指南:从基础调用到高级定制开发
Instructional Agents API完全指南从基础调用到高级定制开发【免费下载链接】instructional_agents(EACL26 Main) Instructional Agents: Reducing Teaching Faculty Workload through Multi-Agent Instructional Design项目地址: https://gitcode.com/gh_mirrors/in/instructional_agentsInstructional Agents API是一个基于ADDIE模型的自动化课程材料生成服务能够显著减轻教学人员的工作负担。本指南将从基础环境搭建到高级API定制开发为你提供完整的API使用教程帮助你快速掌握这个强大工具的全部功能。快速入门从零开始搭建API环境 环境准备与依赖安装要开始使用Instructional Agents API你需要先准备以下环境Docker和Docker Compose推荐用于生产环境或Python 3.11适用于本地开发最便捷的安装方式是使用Docker容器化部署。首先克隆项目仓库git clone https://gitcode.com/gh_mirrors/in/instructional_agents cd instructional_agents环境变量配置创建.env文件并配置必要的环境变量可参考项目中的.env.exampleOPENAI_API_KEYyour_openai_api_key_here API_PORT8000启动服务Docker方式使用Docker Compose快速启动服务# 构建并启动服务 docker-compose up -d # 查看日志 docker-compose logs -f # 停止服务 docker-compose down本地开发模式可选如果你需要进行API开发可以使用本地Python环境# 安装依赖 pip install -r requirements.txt # 启动API服务器 python api_server.py # 或使用uvicorn实现热重载 uvicorn api_server:app --host 0.0.0.0 --port 8000 --reloadAPI核心功能解析掌握课程生成全流程 Instructional Agents API的核心功能是自动化课程材料生成其工作流程基于ADDIE模型分析、设计、开发、实施和评估。下面是API的主要工作流程示意图Instructional Agents API工作流程主要API端点概览API提供了以下核心端点涵盖课程生成的完整生命周期端点方法描述/healthGET健康检查接口确认服务是否正常运行/api/course/generatePOST提交课程生成任务/api/course/status/{task_id}GET查询任务状态和进度/api/course/results/{task_id}/filesGET获取生成结果文件列表/api/course/results/{task_id}/download/{file_path}GET下载生成的文件/api/catalog/uploadPOST上传自定义课程配置Catalog/api/catalog/listGET列出可用的Catalog健康检查接口在开始使用API之前建议先通过健康检查接口确认服务状态GET /health成功响应示例{ status: healthy, version: 1.0.0, timestamp: 2024-01-01T00:00:00 }基础API调用创建你的第一个课程生成任务 提交课程生成任务使用/api/course/generate端点提交课程生成任务以下是一个基本示例POST /api/course/generate Content-Type: application/json { course_name: 机器学习导论, model_name: gpt-4o-mini, exp_name: ml_intro_v1, copilot: false, catalog: default_catalog }请求参数说明course_name(必填): 课程名称model_name(可选): AI模型名称默认使用gpt-4o-miniexp_name(可选): 实验名称用于区分不同的生成任务copilot(可选): 是否启用Copilot模式默认falsecatalog(可选): 课程配置Catalog名称默认使用default_catalog成功提交后API会返回任务ID{ task_id: uuid-string, status: started, message: Course generation started }查询任务状态使用返回的task_id查询任务进度GET /api/course/status/{task_id}响应示例{ task_id: uuid-string, status: running, progress: 45, current_stage: Generating slides, error: null, created_at: 2024-01-01T00:00:00, updated_at: 2024-01-01T00:05:00, exp_name: ml_intro_v1 }任务状态可能的值pending: 等待中running: 运行中completed: 已完成failed: 失败获取和下载结果任务完成后获取生成的文件列表GET /api/course/results/{task_id}/files然后使用以下接口下载具体文件GET /api/course/results/{task_id}/download/{file_path}高级定制使用Catalog优化课程生成 Catalog是什么Catalog是包含课程设计参数的JSON配置文件允许你自定义课程生成的各个方面。通过Catalog你可以控制学生档案、教师偏好、课程结构、评估设计等。Catalog的基本结构标准的Catalog JSON结构如下{ student_profile: { student_background: ..., aggregate_academic_performance: ..., anticipated_learner_needs_and_barriers: ... }, instructor_preferences: { instructor_emphasis_intent: ..., instructor_style_preferences: ..., instructor_focus_for_assessment: ... }, course_structure: { course_learning_outcomes: ..., total_number_of_weeks: ..., weekly_schedule_outline: ... }, assessment_design: { assessment_format_preferences: ..., assessment_delivery_constraints: ... }, teaching_constraints: { platform_policy_constraints: ..., ta_support_availability: ..., instructional_delivery_context: ..., max_slide_count: 50 }, institutional_requirements: { program_learning_outcomes: ..., academic_policies_and_institutional_standards: ..., department_syllabus_requirements: ... }, prior_feedback: { historical_course_evaluation_results: ... } }项目中提供了默认的Catalog文件catalog/default_catalog.json上传和使用自定义Catalog首先创建你自己的Catalog JSON文件使用API上传CatalogPOST /api/catalog/upload Content-Type: multipart/form-data file: your_catalog.json列出所有可用的CatalogGET /api/catalog/list在课程生成时使用自定义CatalogPOST /api/course/generate Content-Type: application/json { course_name: 深度学习基础, model_name: gpt-4o-mini, exp_name: dl_basics_v1, catalog: your_uploaded_catalog }输出文件结构详解了解生成的课程材料 生成的课程材料会保存在exp/{exp_name}/目录下典型的文件结构如下exp/{exp_name}/ ├── result_instructional_goals.md # 教学目标 ├── result_resource_assessment.md # 资源评估 ├── result_target_audience.md # 目标受众分析 ├── result_syllabus_design.md # 课程大纲设计 ├── result_assessment_planning.md # 评估计划 ├── result_final_exam_project.md # 期末考试/项目设计 ├── processed_chapters.json # 处理后的章节信息 ├── statistics.json # 生成统计数据 ├── chapter_1/ # 第一章材料 │ ├── slides.tex # LaTeX幻灯片源文件 │ ├── slides.pdf # 生成的PDF幻灯片 │ ├── script.md # 教学脚本 │ └── assessment.md # 评估材料 └── chapter_2/ # 后续章节...性能优化与最佳实践 ⚡提高API调用效率的技巧课程生成时间根据章节数量和模型选择课程生成可能需要10-60分钟请合理安排任务提交时间批量处理对于多个相似课程考虑使用相同的Catalog模板以提高效率模型选择测试环境可使用gpt-4o-mini提高速度生产环境可根据质量需求选择更高级的模型错误处理与故障排查API使用标准HTTP状态码表示请求结果200: 请求成功400: 请求参数错误404: 资源未找到如任务ID不存在500: 服务器内部错误错误响应格式{ detail: 具体错误信息 }常见问题及解决方法Docker构建失败检查网络连接确保有足够磁盘空间LaTeX包较大API服务无法启动检查OPENAI_API_KEY是否设置端口是否被占用任务一直处于pending状态检查容器日志docker-compose logs api确保系统资源充足LaTeX编译失败检查生成的.tex文件语法查看编译日志exp/{exp_name}/.cache/安全建议在生产环境中使用API时请遵循以下安全最佳实践限制CORS来源只允许可信域名访问API始终使用HTTPS加密传输添加身份验证机制如API密钥或OAuth通过环境变量管理敏感信息不要硬编码API密钥设置Docker资源限制和API请求超时开发指南扩展和定制API功能 如果你需要扩展API功能可以参考以下开发指南添加新API端点在api_server.py中添加新的路由函数使用Pydantic定义请求和响应模型更新API文档docs/API_DOCUMENTATION.md修改课程生成工作流主要业务逻辑位于以下文件src/ADDIE.py实现ADDIE模型的核心流程run.py任务执行和协调修改后需要重启API服务使更改生效。总结与资源 通过本指南你已经了解了Instructional Agents API的基本使用方法和高级定制技巧。这个强大的工具能够帮助教育工作者自动生成高质量的课程材料显著减轻教学负担。要深入了解更多细节请参考以下资源完整API文档docs/API_DOCUMENTATION.md工作流文档docs/WORKFLOW_DOCUMENTATION.md项目源码src/开始使用Instructional Agents API体验自动化课程设计的强大能力吧【免费下载链接】instructional_agents(EACL26 Main) Instructional Agents: Reducing Teaching Faculty Workload through Multi-Agent Instructional Design项目地址: https://gitcode.com/gh_mirrors/in/instructional_agents创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考