人工智能:让学生在课堂上免登录使用大语言模型

大模型及其衍生的智能助理工具日益普及。对于中小学生而言,它们不仅是信息科技课的学习内容,也是未来学习生活中的重要工具。

近日,读谢作如、邱奕盛二位老师发表的论文《让大模型进入中小学信息科技课》,其中介绍了一种低代码搭建LLM访问平台的方法,更为先进、便捷和实用。XEduLLM:让大模型进入中小学信息科技课

在此基础上,参考浦育平台OpenXLabEdu手册,结合本人搭建平台的经历,写成保姆级教程,共享之。

备注:黑色文字是必读内容,是关键步骤;灰色文字是选读内容,是拓展解说。

01 安装XEdu环境

教师机需安装XEdu开发环境。

XEdu的全名为OpenXLabEdu,是基于OpenXLab的教育版,也是为AI教育设计的一套完整的学习与开发工具。OpenXLab是上海人工智能实验室开源的AI工具集合。

1. 下载XEdu一键安装包

图片

飞书网盘:

https://p6bm2if73b.feishu.cn/file/boxcn7ejYk2XUDsHI3Miq9546Uf?from=from_copylink

硬件要求:准备win10及以上的电脑,将一键安装包安装到纯英文路径下。飞书网盘里的一件安装包会不定期更新,可时常到网盘中查看与下载最新版。

2. 安装XEdu工具包

双击运行“XEdu_v1.6.8_20240829.exe”文件,将自解压为XEdu文件夹。

图片

02 获取LLM密钥

一般来说,绝大多数的中小学都没有算力服务器,教师需要先申请大模型服务商的API。

API(应用程序编程接口)是一种允许开发者将特定功能或数据集成到自己应用程序中的工具。借助大模型服务商提供的API服务,即可在自己的代码中远程调用大模型的能力,实现特定的功能。

API密钥(API key)是一种唯一标识符,是用来访问和调用API服务的凭证。API密钥用于验证请求者的身份,确保只有授权用户才能使用服务。这个密钥由API服务提供商发放,用户在注册并验证身份后,一般通过平台的用户界面获取。通过API,开发者可以发送HTTP请求到指定的URL,并附上必要的参数和API密钥,来获取所需的服务或数据。

大语言模型API允许开发者将大型语言模型集成到自己的应用程序中,通过发送HTTP请求到指定的URL,并附上必要的参数和API密钥,来获取模型的预测结果。

目前XEduLLM已经支持如下服务商:’openrouter’, ‘月之暗面-Kimi’, ‘幻方-深度求索’, ‘智谱-智谱清言’, ‘百度-文心一言’, ‘阿里-通义千问’等。

这些服务商都API价格都很便宜,有些还直接赠送了免费的额度。只要利用这些额度,就足够支撑好多节课的教学了。

获取大语言模型API密钥的流程通常包括在各平台网页上进行用户注册,注册完成后获取相应的算力资源,详细步骤请参考API与密钥获取。

名称 / 注册网址 / 如何获取key 

qwen(通义千问) https://dashscope.console.aliyun.com/apiKey API-KEY管理-创建新的API-KEY Key

openrouter https://openrouter.ai/settings/keys 右上角个人头像-Keys-Create Key

moonshot(月之暗面) https://platform.moonshot.cn/console/api-keys 左侧API Key管理-新建

deepseek(深度求索) https://platform.deepseek.com/api_keys 左侧API keys-创建API key

glm(智谱清言) https://open.bigmodel.cn/usercenter/apikeys 左侧API keys-创建API key

下面,以“智谱清言GLM”为例,介绍获取API的具体过程:

1. 访问官网(open.bigmodel.cn),注册登录

图片

2. 点击右上角的“API密钥”,“添加新的API key”

获取到的就是每个人独一无二的API密钥,将在应用调用API服务时进行身份鉴别和计费。

图片

图片

注: 当前多家服务商提供了免费的模型token额度,或提供价格低廉的token购买方案(大约1元能购买1百万字的文字对话权限),用于基本教学已经足够。具体费用请参见个平台说明,同一平台的不同模型资费也有差异,请注意正确配置。

03 三行代码启动LLM平台

1. 新建Jupyter文件

教师在XEdu文件夹中打开”jupyter编辑器.bat”,即自动启动浏览器并显示界面,如下图所示。

图片

2. 写入三行代码

from XEdu.LLM import Clientchatbot = Client(provider='openrouter',api_key='sk……1c3')# 引号内的密钥需要替换为自己的chatbot.run()

图片

3. 运行测试

运行代码后,将输出对应的ip地址。将地址复制到浏览器打开,即可看到像服务商提供的原生体验网页一样的对话界面。

图片

然后,就可以将这个链接分享给全班学生一同体验。学生就像注册用户使用智谱清言AI一样,向AI提问,与AI交互。

图片

备注:教师也可以使用XEduLLM工具,零代码搭建平台。详细资料参见https://xedu.readthedocs.io/zh-cn/master/xedu_llm/introduction.html#

具体步骤可参照Eason1011在bilibili上的教程:https://www.bilibili.com/video/BV12tWsePEmA。

不过本人在电脑上未能成功安装XEduLLM软件,可能是因为兼容问题,因此建议首选XEdu环境下搭建平台。

04 课堂教学建议

教师应当采取一系列策略,引导学生正确使用大模型,促进其学习和发展。

1. 理解原理,使用LLM提升学习品质

向学生清晰地传达使用大语言模型的目的和意义。例如,当学生在学习编程语言时,大语言模型可以作为一个辅助工具,用来解释编程概念、提供代码示例,甚至是帮助学生调试代码。

通过这些实例,学生能够直观地看到大语言模型是如何帮助他们克服学习中的难点,提高学习效率的。

2. 鼓励创新,引导二次开发实践

对于已有Python代码基础的学生,可以鼓励他们使用XEduLLM工具进行二次开发,构建个性化的智能体。

这不仅能让学生深入理解编程逻辑,还能激发他们在实际问题解决中的创造力。通过动手实践,学生能够将理论知识转化为实用技能,增强对编程的兴趣。

3. 批判性阅读,警惕AI一本正经地胡说八道

教师应当鼓励学生对生成式AI提供的答案进行批判性思考。以信息课为例,当学生查询某个算法的工作原理时,教师可以引导学生比较不同来源的信息,评估答案的可靠性。

通过提问和验证,学生逐步建立起批判性思维,学会如何在海量信息中筛选出最准确的内容。

4. 实践操作,充分体验大模型魅力

在课堂上安排充分的时间用于学生使用大模型。例如,让学生尝试用大语言模型来完成一个编程任务的部分内容,然后在小组讨论中分享自己的体验和遇到的问题。

教师还可以教授学生如何编写有效的提示词,以及如何与大模型进行多轮互动,以获得更精准的回答。

通过这些有针对性的教学活动,教师不仅能帮助学生有效地利用大语言模型这一工具,还能培养他们的批判性思维能力和创新精神,为他们的未来发展奠定坚实的基础。

参考资料:

[1] OpenXLabEdu. 快速体验XEduLLM. https://xedu.readthedocs.io/zh-cn/master/xedu_llm/quick_start.html

[2] 谢作如,邱奕盛.XEduLLM:让大模型进入中小学信息科技课[J].中国信息技术教育,2024,(15):89-91.

[3] Eason1011. XEduLLM:大模型工具时代来临.https://www.bilibili.com/video/BV12tWsePEmA

### 解决MySQL死锁问题的方法 #### 使用`SHOW ENGINE INNODB STATUS` 为了诊断死锁,可以利用命令 `SHOW ENGINE INNODB STATUS\G;` 来获取最近一次发生的死锁信息。这有助于理解哪些查询参与到了死锁之中以及涉及的具体表和索引[^1]。 ```sql SHOW ENGINE INNODB STATUS\G; ``` 此命令返回的信息非常详尽,包含了发生死锁的时间戳、事务ID、锁定的记录以及其他相关细节。 #### 设置合理的隔离级别 调整事务的隔离级别可以在一定程度上减少死锁的发生概率。较低级别的隔离(如读已提交)可能降低死锁的风险,但这取决于应用程序的需求和数据一致性要求[^2]。 设置会话或全局范围内的隔离级别: ```sql SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; -- 或者对于整个服务器生效 SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED; ``` #### 控制事务大小并尽早释放锁 保持事务尽可能短小,并尽快完成操作以释放所持有的任何锁。长时间运行的大事务增加了与其他事务冲突的可能性,从而提高了死锁的概率[^4]。 启动一个新的事务时应考虑如下方式: ```sql START TRANSACTION; -- 执行必要的 SQL 语句... COMMIT; ``` #### 尝试捕获异常重试逻辑 由于无法完全预防死锁,在应用层面上实现一个简单的重试机制是一个有效的策略。当检测到错误码为1213(即发生了死锁),可以选择回滚当前事务并重新尝试执行相同的SQL序列。 Python伪代码示例展示如何处理这种情况: ```python import pymysql def execute_with_retry(connection, sql_query, max_retries=3): retries = 0 while True: try: with connection.cursor() as cursor: cursor.execute(sql_query) connection.commit() break except pymysql.MySQLError as e: if e.args[0] == 1213 and retries < max_retries: retries += 1 continue raise execute_with_retry(conn, "YOUR_SQL_QUERY_HERE") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

筱晓沁的教学苑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值