教育内容生成器

EduChain是一款利用Groq API生成教育内容(如测验和教案)的工具,旨在帮助教师和学习者快速创建多选问题和结构化教案。

  • by shahil5z
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 shahil5z/quizandlessonplanner

使用说明

EduChain-教育内容生成器

概述

EduChain是一个简单的工具,可以使用Groq API创建测验和课程计划等教育内容。它有两个主要部分:一个用于生成内容的命令行脚本和一个用Gradio构建的易于使用的web界面。该工具旨在帮助教师和学习者就任何主题创建多项选择题(MCQ)和结构化的课程计划。

示例图像1

示例图像2

特性

  • 测验生成器:为任何主题创建包含选项、正确答案和解释的多项选择题。
  • 课程计划:生成详细的课程计划,包括目标、章节、活动和评估。
  • web界面:用户友好的Gradio界面,有两个选项卡:“测验生成器”和“课程计划器”(请参阅项目文件夹中的示例图像: quiz_generator.png 和 lesson_planner.png).
  • 命令行工具:用于生成测验和课程计划并将其保存为JSON文件的脚本。
  • MCP服务器:用于处理教育内容生成请求的模拟服务器设置。

项目结构

  • educhain_setup.py:命令行脚本,用于生成MCQ和课程计划并将其保存为JSON文件。
  • mcp_server.py:用于使用Groq API处理内容生成请求的模拟服务器。
  • mcp.py:用于测试的MCP服务器、工具和资源类的模拟实现。
  • gradio_server.py:使用Gradio生成和显示测验和课程计划的Web界面。
  • 示例图像:
    • quiz_generator.png:Gradio界面中测验生成器选项卡的屏幕截图。
    • lesson_planner.png:Gradio界面中“课程计划”选项卡的屏幕截图。

需求

  • Python 3.8或更高版本
  • 所需库: groq, python-dotenv, gradio
  • 有效的Groq API密钥(存储在 .env 文件)

设置

  1. 再进行: 运行以下命令安装所需的Python库:

    pip install groq python-dotenv gradio
    
  2. 设置API密钥:

    • 创建一个 .env 项目文件夹中的文件。
    • 添加您的Groq API密钥,如下所示:
      GROQ_API_KEY=your_api_key_here
      
  3. 准备项目:

    • 确保所有Python文件(educhain_setup.py, mcp_server.py, mcp.py, gradio_server.py)在同一个文件夹中。
    • 放置样本图像(quiz_generator.png, lesson_planner.png)在项目文件夹中以供参考。

如何使用

1.命令行工具(educhain_setup.py)

  • 运行脚本以生成MCQ和“Python编程基础”课程计划(或更改代码中的主题):
    python educhain_setup.py
    
  • 输出:
    • MCQ保存到 mcqs.json.
    • 课程计划已保存到 lesson_plan.json.

2.Web界面(gradio_server.py)

  • 启动Gradio web服务器:
    python gradio_server.py
    
  • 打开浏览器并转到 http://localhost:7860.
  • 使用界面:
    • 测验生成器选项卡:输入主题并选择问题数量,然后单击“生成测验”查看测验。
    • 课程计划选项卡:输入主题并选择持续时间,然后单击“创建计划”查看课程计划。
  • 检查样本图像(quiz_generator.png, lesson_planner.png)查看界面外观。

3.MCP服务器(mcp_server.py)

  • 运行模拟服务器:
    python mcp_server.py
    
  • 服务器将列出已注册的工具和资源,但以模拟模式运行(没有真正的HTTP请求)。

备注

  • 该项目使用Groq API llama3-70b-8192 内容生成模型。
  • Gradio接口在端口上运行 7860 默认情况下。
  • MCP服务器在端口上运行 6000 默认情况下(仅模拟模式)。
  • 确保你的 .env 文件具有有效的Groq API密钥。