如何利用 AI 帮助孩子爱上查字典
如何利用 AI 帮助孩子爱上查字典
如何利用 AI 帮助孩子爱上查字典 如何利用 AI 帮助孩子爱上查字典 Modified September 10, 2024 搭建视频 No access 拼音查字法扣子 Agent 搭建 00:00 三)笔画查字法 这个逻辑也比较简单,直接调用插件就好啦 提示词 Code block Markdown Role: 笔画查字法,用来帮助用户按照[工作流]的执行顺序,调用对应的插件,一步一步查到用户想要的汉字。 工作流: 1. 提醒用户输入,汉字的总笔画数,根据用户的输入调整参数[笔画],可使用参数如“二”则可以输入数字“2” 2. 根据用户输入的[笔画],调用插件 [汉语查字典配套使用 / query dictionary],把[笔画]做为参数传入,格式如下: strokes:[笔画] 同时处理返回值,注意使用代码块和数列的形式把处理的结果完整的展示给用户,如下: Code block Markdown Role: 笔画查字法,用来帮助用户按照[工作流]的执行顺序,调用对应的插件,一步一步查到用户想要的汉字。 工作流: 1. 提醒用户输入,汉字的总笔画数,根据用户的输入调整参数[笔画],可使用参数如“二”则可以输入数字“2” 2. 根据用户输入的[笔画],调用插件 [汉语查字典配套使用 / query dictionary],把[笔画]做为参数传入,格式如下: strokes:[笔画] 同时处理返回值,注意使用代码块和数列的形式把处理的结果完整的展示给用户,如下: 使用过程中,如果发现没有输出完整,就提示“没找到,继续完整的输出”就好啦 效果展示 扣子使用链接:https://www.coze.cn/s/ihJuGrck/ 四、总结 整体难度其实是偏高的,大家感兴趣的可以试试,如果能够跟着完成,甚至把逻辑和操作想清楚。对于智能体的掌握一定是能有很大提升的。 但是也是有很大的门槛,之后看看能不能给大家出一些基础的教学吧 这周因为出门,也确实用了很多零碎的时间来写... 却没什么时间整理... 好啦,写到这里我们今天的内容也结束啦,感谢大家的观看,也希望我的内容能够让大家喜欢,有所收获。感兴趣的小伙伴可以点个关注跟随我一起学习,观看更多往期文章。 下次见,我是景淮,祝你有个开心美好的一天 嘿,大家好呀,我是景淮,一个在加拿大的朋友,每天陪你一起玩转 AI。 今天终于腾出时间,更新了一下之前的一个 GPTs :儿童汉语词典 具体内容可以参考下下面的文章 GPTs Action 实战:儿童汉语词典 GPTs Action 实战:儿童汉语词典 因为今年 3,4 月份的时候 AirCode 的服务器停止运行了,所以这个 GPTs 也就同时停止使用啦 当时把 API 架在 AirCode 的服务器上了。今天终于抽出空,自己写了 API 接口还有弄了下服务器,把需要使用的 API 放在了对应的我自己的服务器上。 所以也就借着这个机会把,这个部署的过程和代码记录和分享一下。 本文会根据以下内容顺序进行: • ChatGPT GPTs 使用链接和一些问题 • 扣子搭建逻辑图 • 使用扣子重新搭建 • 总结 一、ChatGPT GPTs 使用链接 因为这篇之前写过了,关于 GPTs 的搭建内容我就不再重述了,大家感兴趣的可以直接查看下之前的内容。 我把我重新配置的 Action 和 提示词重新分享一下,大家可以看看参考下。 一)Action 🎹 服务器是用的我自己的,API 中转也是重新部署的,大家要是感兴趣可以试试哈。 对应的api参数我也放在下面了。 1. 查询汉字 接口 GET /characters 描述 根据拼音、笔画数或部首查询汉字。 查询参数 • pinyin: (字符串) 汉字的拼音。 • strokes: (数字) 汉字的笔画数。 • radical: (字符串) 汉字的部首。 • rs: (字符串) 部首和笔画数的组合,格式为 部首,笔画数。 示例 GET /characters?pinyin=ma GET /characters?pinyin=ma3 GET /characters?strokes=16 GET /characters?radical=6 GET /characters?rs=60,3 2. 获取汉字的笔画顺序 接口 GET /character/:char 描述 获取指定汉字的笔画顺序详情。 路径参数 服务器是用的我自己的,API 中转也是重新部署的,大家要是感兴趣可以试试哈。 对应的api参数我也放在下面了。 1. 查询汉字 接口 GET /characters 描述 根据拼音、笔画数或部首查询汉字。 查询参数 • pinyin: (字符串) 汉字的拼音。 • strokes: (数字) 汉字的笔画数。 • radical: (字符串) 汉字的部首。 • rs: (字符串) 部首和笔画数的组合,格式为 部首,笔画数。 示例 GET /characters?pinyin=ma GET /characters?pinyin=ma3 GET /characters?strokes=16 GET /characters?radical=6 GET /characters?rs=60,3 2. 获取汉字的笔画顺序 接口 GET /character/:char 描述 获取指定汉字的笔画顺序详情。 路径参数 • char: (字符串) 需要查询笔画顺序的汉字。 示例 GET /character/汉 3. 生成汉字笔画的PNG图片 接口 POST /generate png 描述 生成指定汉字的每个笔画的PNG图片。 请求体 • text: (字符串, 必填) 需要生成PNG图片的汉字。 注意: 请求体应为JSON格式。 示例请求 POST /generate png Content Type: application/json { "text": "汉" } 二)提示词 json { "a": 61, "b": 10 } python from PIL import Image, ImageDraw, ImageFont import os File paths for the fonts font path 1 = '/mnt/data/HYChenTiJiaGuWen 2.ttf' font path 2 = '/mnt/data/书体坊金文大篆体.ttf' font path 3 = '/mnt/data/方正小篆体.ttf' font path 4 = '/mnt/data/FangZhengShengShiKaiShuJianTi 1.ttf' Load fonts font size main = 65 font size label = 20 font main 1 = ImageFont.truetype(font path 1, font size main) font main 2 = ImageFont.truetype(font path 2, font size main) font main 3 = ImageFont.truetype(font path 3, font size main) font main 4 = ImageFont.truetype(font path 4, font size main) font label = ImageFont.truetype(font path 4, font size label) image width = 4 font size main + 3 50 + 2 60 4 words, 3 gaps of 50px, and 60px padding on both sides image height = font size main + 60 2 + font size label word height + padding top/bottom + label height image = Image.new('RGB', (image width, image height), 'white') draw = ImageDraw.Draw(image) texts main = ['草', '草', '草', '草'] texts label = ['甲骨文', '金文', '小篆', '楷书'] fonts main = [font main 1, font main 2, font main 3, font main 4] x positions = [60 + i (font size main + 50) for i in range(4)] y position main = 60 y position label = y position main + font size main for i in range(4): Draw main character draw.text((x positions[i], y position main), texts main[i], fill='black', font=fonts main[i]) Draw label draw.text((x positions[i], y position label), texts label[i], fill='black', font=font label) image.show() 三)效果展示 这边只展示部首查字法,其他的原来的文章中有,大家也可以去试试 💡 现在 GPTs 显示图片的能力确实不太稳定。所以就只能把链接展示出来了。大家先看一看好啦 现在 GPTs 显示图片的能力确实不太稳定。所以就只能把链接展示出来了。大家先看一看好啦 然后接下来是文字的讲解部分 以上就是之前创建的 汉语词典 GPTs 的修复。 GPTs 使用链接: https://chatgpt.com/g/g JizZEdYq0 yi yu ci dian 二、扣子逻辑图 一)为什么我们使用 Agent 搭建呢? 在我使用 ChatGPT GPTs 搭建的过程中,其实很多时候会发现,不够稳定,很多步骤会被他跳过,也不能理解,我的工作流和项目的复杂度其实会有点高。 这已经是逻辑和工作流处理效果最好的 GPT 了,换成国内其他的大模型恐怕效果会更差。 Agent 则有所区别,我们可以借助 Agent 的形式对之前的内容进行分解,重组。这样就可以大大的提高原有效果的稳定性。在关键的地方调用 API 等方式,也可以提高回答的准确性。 二)逻辑图 🥛 还是尽量使用三种方式进行查字典,另外古汉字的目前还不太确定能不能展示出来。 还是尽量使用三种方式进行查字典,另外古汉字的目前还不太确定能不能展示出来。 三、使用扣子重新搭建 之前两天我们已经制作了几个插件用来辅助我们搭建相关的工作流了。 如何在扣子中手搓插件 如何在扣子中手搓插件 如何在扣子调用已有的 API 制作插件 如何在扣子调用已有的 API 制作插件 今天我们正式开始尝试使用扣子搭建我们的汉语词典。 我们可以分析下这张图,这次的复杂程度其实是偏高的。为了比较好的效果,最好是是多次使用大模型来完成。 黄色的部分是用户需要参与的,而蓝色的部分是由 AI 进行处理的。 查字典的部分其实需要频繁的跟 AI 进行交互,所以我们可以使用多个单 Agent 的模式来制作。 汉语学习的部分可使用工作流的方式来完成。 所以最后我们需要制作一个多 Agents 模式的 Bot。 其中包含四个单独的单 Agent Bot:部首查字、笔画查字、拼音查字、学习汉字等四个 单 Agent。 让我们一个一个来 一)部首查字 Agent 因为控制要求比较多,所以还是把大多数的执行逻辑放在了工作流中。 整体执行逻辑 Agent 引导用户输入想要查询部首的笔画数,然后调用工作流,把笔画数传入其中。 工作流中,先根据对应的知识库查询,对应的笔画的部首有哪些,展示给用户,然后用户选择对应的笔画并输入去除部首后的笔画数。 继续调用知识库,找到部首对应的部首编号,把编号和去掉部首的笔画数进行拼接,调用我们提前做好的插件。 工作流执行结束后,得到符合要求的文字。再由 Agent 把结果用数列的形式展示给用户。 Agent 中的 提示词 1. 丨 2. 亅 .... ··· Code block Markdown 1. 展示{{input}}的结果给用户 注意使用代码块和数列的形式展示给用户,如下: 效果展示 搭建视频 No access 部首查字法扣子 Agent 搭建 00:00 No access 部首查字法扣子 Agent 搭建 00:00 二)拼音查字法 这个逻辑比较简单,直接调用插件就好啦 提示词 效果展示 搭建视频 No access 笔画查字法 00:00 No access 笔画查字法 00:00 四)根据汉字给出解析 同样的这一段内容其实比较复杂,也比较多,所以准备放入工作流中,因为工作流中可以更容易的一步一步获得稳定、准确的结果。 这边先给出文档,和工作流图,大家可以先看看 明后天给大家更新制作视频和思路。 可能放大不太看的清,可以明天看下视频的内容。 Agent 提示词 工作流中的内容 汉字小故事 汉字变化 代码 文字处理 多音字解释和练习题 文字处理2 效果展示 搭建视频 No access 根据汉字给出解释 00:00 No access 根据汉字给出解释 00:00 五)汉语词典 Bot 选择使用 多 Agent 模式,然后把刚才建立的工作流完整的添加进来。增加一个变量参数,用来存储用户根据三种查字法,查到的汉字。 搭建视频 No access 汉语词典 00:00 No access 汉语词典 00:00 🥖 最后的效果展示,因为录制视频的时候 API 有点问题,所以后面调整、修复了一下。 最后的效果展示,因为录制视频的时候 API 有点问题,所以后面调整、修复了一下。