开源教育对话大模型 EduChat

文章目录

  • 一、🚀 前言
  • 二、🤖 本地部署
  • 三、👨‍💻 使用示例
  • 四、🔎 总结

🍉 CSDN 叶庭云https://yetingyun.blog.csdn.net/


一、🚀 前言

教育是一项对人类身心发展产生影响的社会实践活动,旨在从内在激发人们固有或潜在的素质。因此,我们必须坚持以人为本的教育理念,重点关注个性化、引导式和身心全面发展。

在这里插入图片描述

EduChat 是华东师范大学计算机科学与技术学院的 EduNLP 团队开发的开源教育对话大模型。该项目主要研究以预训练大模型为基底的教育对话大模型相关技术,融合多样化的教育垂直领域数据,辅以指令微调、价值观对齐等方法,提供教育场景下自动出题、作业批改、情感支持、课程辅导、高考咨询等丰富功能,服务于广大老师、学生和家长群体,助力实现因材施教、公平公正、富有温度的智能教育。

用户可以通过本地部署或使用网页 Demo 和 API Demo 与 EduChat 进行交互。未来,团队计划进一步增强模型的逻辑推理能力、个性化辅导能力和工具调用能力。该项目的代码采用 Apache 2.0 协议,数据采用 CC BY-NC 4.0 协议。

在这里插入图片描述

Github 项目地址:https://github.com/icalk-nlp/EduChat


二、🤖 本地部署

下载 Github 仓库内容至本地 / {/} /远程服务器:

git clone https://github.com/icalk-nlp/EduChat.git
cd EduChat

创建 conda 环境并激活进入:

conda create --name educhat python=3.8
conda activate educhat

安装依赖库(主要是 pytorch 和 transformers):

# 首先装好 pytorch,安装方法请自行搜索。Linux 服务器安装 pytorch 很简单,使用 conda。示例如下:
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch# 然后安装最新版本的 transformers
pip install transformers

三、👨‍💻 使用示例

输入格式:使用 EduChat 时的输入格式为 system_prompt + query。根据所需功能不同从以下的 system_prompt 中选择。base 模型直接使用 query,无需使用 system_prompt。

开放问答

system_prompt = \
"<|system|>"'''你是一个人工智能助手,名字叫EduChat。
- EduChat是一个由华东师范大学开发的对话式语言模型。
EduChat的工具
- Web search: Disable.
- Calculators: Disable.
EduChat的能力
- Inner Thought: Disable.
对话主题
- General: Enable.
- Psychology: Disable.
- 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>"

情感支持

system_prompt = \
"<|system|>"'''你是一个人工智能助手,名字叫EduChat。
- EduChat是一个由华东师范大学开发的对话式语言模型。
EduChat的工具
- Web search: Disable.
- Calculators: Disable.
EduChat的能力
- Inner Thought: Disable.
对话主题
- General: Disable.
- Psychology: Enable.
- Socrates: Disable.'''"</s>"

情感支持 (with InnerThought)

system_prompt = \
"<|system|>"'''你是一个人工智能助手,名字叫EduChat。
- EduChat是一个由华东师范大学开发的对话式语言模型。
EduChat的工具
- Web search: Disable.
- Calculators: Disable.
EduChat的能力
- Inner Thought: Enable.
对话主题
- General: Disable.
- Psychology: Enable.
- Socrates: Disable.'''"</s>"

单卡部署。以下是一个简单的调用 educhat-sft-002-7b 生成对话的示例代码,可在单张 A100/A800 或 CPU 运行,使用 FP16 精度时约占用 15GB 显存:

from transformers import LlamaForCausalLM, LlamaTokenizertokenizer = 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()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,有什么我可以帮助你的吗? query = query + response + "</s><|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)当然,以下是一些关于心理学的经典书籍:
1.《人性的弱点》(Dale Carnegie):这本书是一本经典的人际关系指南,它介绍了如何与人相处、如何影响他人以及如何建立良好的人际关系。2.《心理学与生活》(Richard J. Gerrig):这本书是一本介绍心理学的入门读物,它涵盖了各种主题,包括认知、情感、人格和社会心理学。3.《情绪智商》(Daniel Goleman):这本书介绍了情绪智商的概念,并探讨了情绪智商如何影响我们的生活和工作。4.《人性的弱点2》(Dale Carnegie):这本书是《人性的弱点》的续集,它提供了更多的技巧和策略,帮助读者更好地与人相处。5.《心理学导论》(David G. Myers):这本书是一本广泛使用的心理学教材,它涵盖了各种主题,包括感知、记忆、思维、情感和人格。
希望这些书籍能够帮助你更深入地了解心理学。

网页 Demo,使用了 Gradio。你可以运行 Github 仓库中的 demo/educhat_gradio.py:

python educhat_gradio.py --model_path /path/to/educhat_model \
--top_k 50 \
--do_sample True \
--max_new_tokens 512

启动 demo 后,你可以将链接分享给朋友,通过网页与 EduChat 交互。


四、🔎 总结

从 EduChat-001 到 EduChat-002 的迭代过程中,开发者逐步增强了它的中文能力、忠实度、安全度和有帮助性方面的表现。然而, EduChat-002 仍然是一个早期模型,旅程也才刚刚开始。在未来,开发者们将持续投入对基础模型的研究,并持续推出更为强大的 EduChat 版本,以丰富全球教育大模型生态,加速全球教育信息化进程。

  • 逻辑推理:逻辑推理能力是衡量大模型性能的重要指标,作者计划通过增大语言模型基座、增强特定训练数据等手段强化 EduChat 的逻辑推理能力;
  • 个性化辅导:作者期望的 EduChat 应当是千人千面的,未来希望能够给每个人提供一个独一无二的 EduChat,它将在与你的交互中持续学习,伴随你的成长而成长,成为你的专属助手。
  • 工具调用:语言模型本身具有明显的局限性,例如符号运算能力弱,计划在后续升级 EduChat,使其具备调用外部工具能力,帮助其更好地进行生成。

尽管开发者对 EduChat 已经做了许多优化,但仍存在以下问题,需要进一步改进

  • 当涉及到事实性指令时,可能会产生错误的回答,与实际事实相悖。
  • 模型回复可能存在偏见,有可能生成危险性言论。
  • 在某些场景中,比如推理、代码、多轮对话等方面,模型的能力仍有待提高。

鉴于上述模型的局限性,我们要求开发者仅将开源的代码、数据、模型以及由该项目生成的衍生物仅用于研究目的,禁止用于商业用途,以及其他可能对社会带来危害的用途。


📚️ 参考链接:

  • EduChat - 探索了针对教育垂直领域的对话大模型相关项目研发
  • EduChat 模型 - 在 educhat-base-002-7b 基础上,使用构建的教育领域多技能数据微调后得到
  • EduChat 数据 - 混合多个开源中英指令、对话数据,并去重后得到,约 400W

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/15394.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

磁盘与文件系统管理

磁盘结构及分区表示 硬盘 Hard Disk Drive &#xff0c;简称 HDD 是计算机常用的存储设备之一。 1 磁盘基础 1.1 硬盘的结构 1.1.1 数据结构 ①扇区&#xff1a;磁盘上的每个磁道被等分为若干个弧段,这些弧段便是硬盘的扇区(Sector)。硬盘的第一个扇区&#xff0c;叫做引导…

easyupload

红框位置是上传后的提示 依次尝试上传&#xff0c;发现php,phtml.php3&#xff0c;php5&#xff0c;双写等都不行 .htaccess文件也不行 尝试.php. 绕过 (windows中会把后缀名最后的空格和. 省略&#xff0c;即上传.php.绕过后会变为.php) 加入图片头的php文件也不行 但是加入文…

100、基于STM32单片机自动跟随小车 红外遥控控制小车避障模式 跟随模式设计(程序+原理图+PCB源文件+流程图+硬件设计资料+元器件清单等)

绪 论 智能小车通过各种感应器获得外部环境信息和内部运动状态&#xff0c;实现在复杂环境背景下的自主运动&#xff0c;从而完成具有特定功能的机器人系统。而随着智能化电器时代的到来&#xff0c;它们在为人们提供的舒适的生活环境的同时&#xff0c;也提高了制造智能化电器…

Redis下载和安装(Windows系统)

本套教程中采用 Windows 系统对 Redis 数据库进行讲解。 虽然 Redis 官方网站没有提供 Windows 版的安装包&#xff0c;但可以通过 GitHub 来下载 Windows 版 Redis 安装包&#xff0c;下载地址&#xff1a;点击前往。 注意&#xff1a;Windows 安装包是某位民间“大神”根据 …

关于antdesign-vue的layout组件样式失效问题(#components-layout-demo-custom-trigger)

1.错误描述 使用antdesign vue 中的layout作为主要布局&#xff0c;https://www.antdv.com/components/layout-cn 正常引入后&#xff0c;跟期望的样子不一样 期望中的样子 实际的样子 logo没有了&#xff0c;而且此时也无法更改样式。 此时的样式是这样的 无论怎么修改都…

vue路由

目录 Vue路由 Vue Router 使用流程&#xff1a; Vue路由 前端路由&#xff1a;由URL中的hash&#xff08;#号&#xff09;于组件之间的对应关系 Vue Router 介绍&#xff1a;Vue Router是Vue官方路由组成&#xff1a; VueRouter&#xff1a;路由器类&#xff0c;根据路由请…

【从0开始离线数仓项目】——新能源汽车数仓项目介绍

目录 1、数据仓库概念 2、项目需求及架构设计 3、集群资源规划设计 4、车辆日志字段说明 1、数据仓库概念 数据仓库&#xff08;Data Warehouse&#xff09;是为企业提供数据支持&#xff0c;用以协助企业制定决策、改进业务流程和提高产品质量等方面的工具。它可以接收多种…

C语言中一维数组及二维数组的运用

1、int arr[] {12,3,4,5,6}; int * p arr; int * q &arr[1]; 其中arr是数组名&#xff0c;代表了整个数组的首元素地址&#xff0c;这个是一个常量&#xff0c;放在常量存储区&#xff0c;所以在给int*p赋值的时候可以不用带&&#xff0c;而下面的arr[1]则代表数…

操作系统8:存储器的层次结构及程序的装入和链接

目录 1、存储器的层次结构 &#xff08;1&#xff09;多层结构的存储器系统 1.1 - 存储器的多层结构 1.2 - 可执行存储器 &#xff08;2&#xff09;主存储器与寄存器 2.1 - 主存储器 2.2 - 寄存器 &#xff08;3&#xff09;高速缓存和磁盘缓存 3.1 - 高速缓存 3.2 …

Tauri 提供界面 + 使用 Rust 实现连接远程 Linux 服务器、发送文件、执行命令

Tauri 提供界面 使用 Rust 实现连接远程 Linux 服务器、发送文件、执行命令 文章目录 Tauri 提供界面 使用 Rust 实现连接远程 Linux 服务器、发送文件、执行命令一、Tauri 概述二、界面预览三、代码参考1、main.rs2、App.vue3、Greet.vue4、依赖 一、Tauri 概述 Tauri 是一…

HummerRisk 配置 HTTPS访问

简介 HummerRisk 是开源的云原生安全平台&#xff0c;以非侵入的方式解决云原生的安全和治理问题。核心能力包括混合云的安全治理和云原生安全检测。 HTTPS&#xff08;Hypertext Transfer Protocol Secure&#xff09;是一种通过加密和身份验证来保护网络通信安全的协议。它…

软件设计模式与体系结构-软件体系-数据流风格软件体系结构

二、数据流风格软件体系结构 概念 数据流系统的各软件组件在无数据到达时处于休眠状态&#xff0c;当有数据到达时&#xff0c;该软件组件被激活&#xff0c;开始对数据进行处理。数据流风格软件体系结构将整个软件系统看作由一系列作用在连续数据集合上的“变换”组成。数据…