海外访问:www.kdjingpai.com
Ctrl + D 收藏本站

EduChat 是由华东师范大学 ICALK 团队开发的一个开源教育对话模型。它专注于教育场景,支持中英文对话,旨在为学生、教师和研究人员提供智能化的对话工具。模型基于 LLaMA、Qwen 等开源框架,通过大量教育领域数据进行微调,具备处理通用对话、心理学咨询和苏格拉底式教学对话的能力。EduChat 支持 GPU 部署,适合在教育研究或实际教学中使用。它还提供了数据清洗工具 CleanTool,帮助用户优化训练数据。项目在 GitHub 上开源,获得广泛关注,截至 2024 年已有 748 个星标。

 

功能列表

  • 支持中英文教育对话,适用于课堂教学、学术讨论和心理咨询。
  • 提供多种模型规模,包括 1.8B、7B、13B 和 14B 参数版本。
  • 支持苏格拉底式对话,引导用户深入思考。
  • 提供心理学主题对话,推荐相关书籍或提供情感支持。
  • 开源数据清洗工具 CleanTool,优化训练数据集。
  • 支持 GPU 加速部署,兼容 A100/A800 等硬件。
  • 提供示例代码,方便开发者快速调用模型。

使用帮助

安装与部署

EduChat 是开源项目,需通过 GitHub 下载并在本地部署。以下是详细安装步骤:

  1. 环境准备
    确保系统安装 Python 3.8+ 和 PyTorch。建议使用 GPU 环境(如 NVIDIA A100/A800),以支持 FP16 精度运行,约需 15GB 显存。安装必要的依赖库:

    pip install torch transformers
    
  2. 下载模型
    访问 GitHub 仓库 https://github.com/ECNU-ICALK/EduChat,克隆项目到本地:

    git clone https://github.com/ECNU-ICALK/EduChat.git
    

    模型文件需从 Hugging Face 下载。推荐使用 educhat-sft-002-7b 模型,适合单卡 GPU 运行。下载命令:

    huggingface-cli download ecnu-icalk/educhat-sft-002-7b
    
  3. 加载模型
    使用提供的示例代码加载模型。以下是调用 educhat-sft-002-7b 的 Python 代码:

    from transformers import LlamaForCausalLM, LlamaTokenizer
    tokenizer = LlamaTokenizer.from_pretrained("ecnu-icalk/educhat-sft-002-7b")
    model = LlamaForCausalLM.from_pretrained("ecnu-icalk/educhat-sft-002-7b", torch_dtype=torch.float16).half().cuda()
    model = model.eval()
    
  4. 生成对话
    配置系统提示词(system prompt),定义 EduChat 的角色和能力。例如:

    system_prompt = "<|system|>你是一个人工智能助手,名字叫EduChat。 - EduChat是一个由华东师范大学开发的对话式语言模型。 EduChat的工具 - Web search: Disable. - Calculators: Disable. EduChat的能力 - Inner Thought: Disable. 对话主题 - General: Enable. - Psychology: Disable. - Socrates: Disable.</s>"
    query = system_prompt + "<|prompter|>你好</s><|assistant|>"
    inputs = tokenizer(query, return_tensors="pt", padding=True).to(0)
    outputs = model.generate(**inputs, do_sample=True, temperature=0.7, top_p=0.8, repetition_penalty=1.02, max_new_tokens=256)
    response = tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:], skip_special_tokens=True)
    print(response)
    

    输出示例:

    你好!我是EduChat,有什么我可以帮助你的吗?
    
  5. 特色功能操作
    • 心理学对话:启用心理学主题后,EduChat 可推荐心理学书籍或提供情感支持。例如,输入“给我推荐几本心理相关的书籍”,模型会返回:
      当然,以下是一些关于心理学的经典书籍:
      1.《人性的弱点》(Dale Carnegie):介绍人际关系技巧,帮助建立良好沟通。
      2.《心理学与生活》(Richard J. Gerrig):全面介绍心理学基础知识,适合初学者。
      

      配置心理学对话:

      system_prompt = "<|system|>你是一个人工智能助手,名字叫EduChat。 - EduChat是一个由华东师范大学开发的对话式语言模型。 EduChat的工具 - Web search: Disable. - Calculators: Disable. EduChat的能力 - Inner Thought: Enable. 对话主题 - General: Disable. - Psychology: Enable. - Socrates: Disable.</s>"
      
    • 苏格拉底式对话:通过提问引导用户深入思考,适合教学场景。启用方法:
      system_prompt = "<|system|>你是一个人工智能助手,名字叫EduChat。 - EduChat是一个由华东师范大学开发的对话式语言模型。 EduChat的工具 - Web search: Disable. - Calculators: Disable. EduChat的能力 - Inner Thought: Disable. 对话主题 - General: Disable. - Psychology: Disable. - Socrates: Enable.</s>"
      

      示例输入:“什么是公平?” 模型会通过反问引导用户思考,如:“你认为公平的核心是什么?是结果相同还是机会均等?”

    • 数据清洗工具 CleanTool:用于优化训练数据,支持去重和低质量数据过滤。运行 CleanTool:
      python clean_tool.py --input data.json --output cleaned_data.json --gpu True
      
  6. 内测申请
    如果需要访问最新模型或数据,可发送邮件至 dan_yh@stu.ecnu.edu.cn,标题为“EduChat内测申请+单位”,邮件中说明用途。

使用注意事项

  • 确保 GPU 显存充足,7B 模型需约 15GB 显存,13B 模型需更多。
  • 模型不支持实时联网搜索,需本地配置数据。
  • 定期检查 GitHub 仓库更新,获取最新模型和文档。

应用场景

  1. 课堂教学辅助
    教师使用 EduChat 的苏格拉底式对话功能,引导学生深入探讨问题。例如,在哲学课上,输入“什么是真理”,模型会通过提问帮助学生分析概念。
  2. 心理学咨询支持
    学生或研究人员通过心理学对话功能获取情绪支持或书籍推荐,适合心理健康教育或研究场景。
  3. 教育数据研究
    研究人员使用 CleanTool 清洗教育领域数据集,提升模型训练质量,适用于学术研究。
  4. AI 开发测试
    开发者利用 EduChat 的开源代码,快速搭建教育对话系统,测试对话生成效果。

QA

  1. EduChat 支持哪些语言?
    EduChat 支持中英文对话,训练数据包含约 400 万条中英文指令和对话数据,适合多语言教育场景。
  2. 如何选择合适的模型版本?
    1.8B 和 7B 模型适合低算力设备,13B 和 14B 模型适合高性能 GPU,效果更强但资源需求高。
  3. 是否需要联网使用?
    不需要。EduChat 是本地部署模型,禁用网络搜索功能,需提前下载模型和数据。
  4. 如何参与项目开发?
    可在 GitHub 仓库提交 issue 或 pull request,参与模型优化或功能开发。
0已收藏
0已赞

相关推荐

找不到AI工具?在这试试!

输入关键词,即可 无障碍访问 必应 搜索,快速找到本站所有 AI 工具。

邮箱

联系我们

回顶部

zh_CN简体中文