教育AI协议平台

EDUMCP是一个创新的开放平台协议,旨在打破教育领域AI应用的孤岛效应,实现不同AI模型、教育应用、智能硬件和教学内容的无缝互联和互操作性。

  • by aieducations
  • Python
  • 本地部署
  • 156 星标
  • 更新于
在 GitHub 查看 aieducations/edumcp

使用说明

EDUMCP

EDUMCP是education Model Context Protocol的缩写,是一种创新的开放平台协议,旨在打破目前教育领域人工智能应用中的筒仓效应。基于强大的模型上下文协议(MCP),EDUMCP实现了不同AI模型、教育应用程序、智能硬件甚至教学内容之间的无缝互连和互操作性。

人工智能辅导系统可以通过故事生成模型、交互式游戏引擎或虚拟实验平台轻松共享和理解数据和上下文。通过建立这样一个标准化的沟通桥梁,EDUMCP为教育领域带来了前所未有的可能性,使各种人工智能工具能够协同工作,为用户提供更丰富、更个性化、更鼓舞人心的学习内容和服务。

EDUMCP单句视频创作框架

您只需要提供一个句子主题,EDUMCP就可以为儿童生成大约30-60秒的动画视频。它将支持英语翻译:对话内容修改和图像更改。 比如:制作一个EDUMCP机器人的视频,让ROYA开始享受学习。

概述

AICHILDEDU是一个专为儿童设计的创新教育平台,利用人工智能的力量创造引人入胜、个性化和教育性的内容。该平台使用微服务架构来提供各种基于人工智能的教育体验,允许灵活扩展和功能扩展。

特性

  • 个性化故事生成:创建针对特定年龄组、主题和教育重点的定制教育故事
  • 教育测验创作:生成引人入胜的测验和问题,以强化学习目标
  • 多媒体集成:将文本、图像、语音和视频组合成综合教育材料
  • 适合年龄的内容:基于年龄组和发展阶段的内容定制
  • 多语言支持:支持以多种语言生成内容
  • 用户管理:具有家长、教师和管理员角色的综合用户系统
  • 家长控制:强大的家长控制功能,确保适合儿童的内容
  • 异步处理:资源密集型人工智能操作的非阻塞任务执行

系统架构

EDUMCP遵循微服务架构,包含以下关键组件:

                           ┌─────────────────┐
                           │   API Gateway   │
                           └───────┬─────────┘
                                   │
┌────────┬────────┬────────────────┼────────────────┬────────────────┐
│        │        │                │                │                │
▼        ▼        ▼                ▼                ▼                ▼
┌──────────┐ ┌─────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│   User   │ │ Content │ │ Learning     │ │Recommendation│ │  Analytics   │
│ Service  │ │ Service │ │ Service      │ │   Service    │ │   Service    │
└──────────┘ └─────────┘ └──────────────┘ └──────────────┘ └──────────────┘
                                 ┌──────────────────────────┐
                                 │       AI Services        │
                                 │                          │
                                 │ ┌─────────┐ ┌─────────┐  │
                                 │ │  Text   │ │ Image   │  │
                                 │ │Generator│ │Generator│  │
                                 │ └─────────┘ └─────────┘  │
                                 │ ┌─────────┐ ┌─────────┐  │
                                 │ │  Voice  │ │  Video  │  │
                                 │ │Generator│ │Generator│  │
                                 │ └─────────┘ └─────────┘  │
                                 └──────────────────────────┘

使用的技术

  • 后端:Python、FastAPI、Uvicorn
  • 数据库:PostgreSQL、MongoDB、Redis
  • AI和ML:LangChain、EDUMCP GPT模型、TensorFlow、PyTorch、Transformers
  • 存储:MinIO(对象存储)
  • 搜索:Elasticsearch
  • 容器化:Docker,Docker Compose
  • 认证:基于JWT的身份验证

入门指南

先决条件

  • Docker和Docker Compose
  • Python 3.10或更高版本(用于本地开发)

安装

  1. 克隆存储库:

    git clone https://github.com/CHILDEDUAI/aichildedu.git
    cd aichildedu
    
  2. 创建一个 .env 根目录中的文件,包含以下变量:

    # Database
    POSTGRES_USER=postgres
    POSTGRES_PASSWORD=postgres
    MONGODB_URI=mongodb://mongodb:27017/
    MONGODB_DB=EDUMCP
    
    # Authentication
    SECRET_KEY=your_secret_key_change_in_production
    
  3. 使用Docker Compose启动服务:

    docker-compose up -d
    
  4. API网关将在 http://localhost:8000

地方发展设置

  1. 创建虚拟环境:

    python -m venv venv
    source venv/bin/activate  # On Windows, use `venv\Scripts\activate`
    
  2. 安装依赖项:

    pip install -r requirements.txt
    
  3. 运行所需的服务:

    uvicorn aichildedu.user_service.main:app --reload --port 8001
    

使用示例

生成一个故事

import requests

api_url = "http://localhost:8000/api/v1/ai/text/story"

story_request = {
    "title": "The Curious Robot",
    "theme": "Technology and Friendship",
    "age_group": "6-8",
    "characters": [
        {
            "name": "Robo",
            "description": "A curious and friendly robot who wants to learn about the world"
        },
        {
            "name": "Mia",
            "description": "A smart girl who loves technology and building things"
        }
    ],
    "educational_focus": "Introduction to robotics and programming concepts",
    "length": "medium",
    "language": "en"
}

response = requests.post(api_url, json=story_request)
task = response.json()

print(f"Story generation task created: {task['task_id']}")
print(f"Check status at: {task['status_check_url']}")

检查任务状态

import requests

task_id = "task_12345"
status_url = f"http://localhost:8000/api/v1/ai/text/tasks/{task_id}"

response = requests.get(status_url)
status = response.json()

print(f"Task status: {status['status']}")
print(f"Progress: {status['progress']}%")

检索生成的内容

import requests

task_id = "task_12345"
result_url = f"http://localhost:8000/api/v1/ai/text/tasks/{task_id}/result"

response = requests.get(result_url)
story = response.json()

print(f"Story Title: {story['title']}")
print(f"Summary: {story['summary']}")
print("\nContent:")
print(story['content'])

API文档

API文档可在以下网址获取:

  • API网关: http://localhost:8000/docs
  • 用户服务: http://localhost:8001/docs
  • 内容服务: http://localhost:8002/docs
  • 学习服务: http://localhost:8003/docs
  • AI文本生成器: http://localhost:8010/docs
  • AI图像生成器: http://localhost:8011/docs
  • AI语音生成器: http://localhost:8012/docs
  • AI视频生成器: http://localhost:8013/docs

服务体系结构

用户服务

处理用户管理、身份验证和授权。管理用户配置文件、子帐户和家长控制。

内容服务

使用以下功能管理教育内容的创建、存储、检索和组织:

  • 内容类型管理:

    • 故事:具有性格发展、主题和道德课程的互动教育叙事
    • 测验:可定制的问题集,包括答案、难度级别和评分机制
    • 课程:具有教育目标和先决条件的结构化学习材料
  • 内容组织:

    • 分类:具有父子关系的内容分层组织
    • 标签:灵活的内容标签,可提高可发现性和过滤性
    • 集合:用户创建或策划的内容集(自定义、课程、特色)
  • 内容过滤和搜索:

    • 基于最小/最大年龄范围的适合年龄的过滤
    • 难度级别过滤(初级、中级、高级)
    • 内容评级过滤(G、PG、教育)
    • 多语言支持
    • 全文搜索功能
  • 内容元数据:

    • 教育价值追踪
    • 主题和主题分类
    • 阅读时间估算
    • 字数统计指标
  • 用户交互:

    • 内容反应(喜欢、最喜欢、有用)
    • 内容共享和权限
    • 用户特定内容集合
  • 多媒体资产管理:

    • 图像、音频和视频资产的存储和检索
    • 与教育内容的资产关联

学习服务

通过以下功能跟踪学习进度、个性化学习路径和教育成就:

  • 学习路径管理:

    • 课程设计:基于年龄组和科目的结构化学习路径
    • 先决条件:学习材料的依赖性管理
    • 进度跟踪:实时监控学习里程碑
    • 自适应学习:根据表现动态调整内容难度
  • 评估和评价:

    • 进展评估:定期评估学习成果
    • 技能水平分析:跟踪特定学科的能力
    • 性能指标:学习活动的详细分析
    • 成就系统:游戏化奖励和成就徽章
  • 个性化功能:

    • 学习风格检测:确定个人学习偏好
    • 内容建议:基于人工智能的下一步学习建议
    • 节奏调整:基于个人进步的灵活学习速度
    • 基于兴趣的学习:根据表现出的兴趣定制内容
  • 进度报告:

    • 详细分析:全面的学习进度可视化
    • 家长/教师仪表板:监护人和教育工作者的监测工具
    • 进度报告:定期自动评估摘要
    • 学习见解:人工智能生成的改进建议
  • 协作学习:

    • 同伴学习:促进小组学习活动
    • 社会互动:安全、有节制的同行沟通
    • 集团项目:协作教育任务
    • 共同成就:社区学习里程碑
  • 学习支持:

    • AI辅导:困难概念的智能辅助
    • 家庭作业帮助:有指导的问题解决支持
    • 评审会议:自动审查具有挑战性的材料
    • 学习资源:加深理解的附加材料

人工智能服务

文本生成器

创建具有以下功能的教育故事和测验:

  • 基于年龄、主题和教育重点的个性化故事生成
  • 可定制难度等级的测验生成
  • 异步任务处理,实现更好的资源管理
  • 基于模板的内容定制

图像生成器

创建插图以配合教育内容:

  • 故事插图生成
  • 字符可视化
  • 教育图表

语音发生器

为教育内容提供音频旁白:

  • 不同人物声音的故事叙述
  • 多语言支持
  • 适合年龄的语音适应

视频发生器

创建教育视频和动画:

  • 故事动画
  • 教育概念可视化
  • 互动式学习内容

发展与贡献

开发工作流程

  1. 分叉存储库
  2. 创建要素分支
  3. 实施您的更改
  4. 为新功能编写测试
  5. 提交拉取请求

代码的风格

本项目遵循PEP 8风格指南。在提交PR之前,请确保您的代码符合这些标准。

许可证

此项目在Apache License 2.0下获得许可-有关详细信息,请参阅License文件。