GPTs 实战:“摩斯密码”
GPTs 实战:“摩斯密码”
GPTs 实战:“摩斯密码” GPTs 实战:“摩斯密码” Modified July 11, 2024 二、分步实现需求 一)事物转换成短句 提示词 Code block Markdown Copy 根据[事物]的名称,结合上述事物的描述和下面的方法论生成下述的提示。 核心特征识别:确定您要描述的对象的最基本和最显著的特征。 本质功能提炼:提炼这些特征,将其转化为简洁而准确的功能描述。这一步骤关键在于简化和概括,即用最少的话语描述这些特征的本质。 直观表达方式:使用直观且容易理解的语言将这些功能表达出来。这些句子应该清晰、简洁,并且尽量让人一读即懂。避免使用过于专业或复杂的术语,让描述即便对于非专业人士也是通俗易懂的。 字数限制:每一个提示字数都不应该超过 5 个单词。 固定三句 用可爱的方式来表达 用英文进行描述 使用最简单的单词进行描述 302. 案例 沙丁鱼的提示 1. 跟紧前面的鱼。 2. 与旁边的鱼保持相等距离。 3. 让后面的鱼跟上。 效果展示 💡 Giraffe 1. Tall, tall neck. 2. Spots all over. 3. Eats from trees. 二)统计字母、生成密码 突然发现,生成三句的时候,单纯的数字 0 9 只有十个数字还是比较少的。所以我更换成了 emoji 表情! 提示词 Code block Markdown Copy 使用python统计出上述所有使用到的字母,注意不需要区分大小写。同时给这些字母设置“摩斯密码”,使用两位数字的方式表示 ,最后使用表格横向展示的形式展示给我 每行最多八个格子,超过则换行,换到最下面 使用的数字不可以重复 横向展示 如:: | Letter | a | c | e | f | k | l | m | |: :|: :|: :|: :|: :|: :|: :|: :| | Emoji | 01 | 02 | 03 | 04 | 05 | 06| 效果如下 三)字母转换成数字编码 提示词 Code block Markdown Copy 利用上面表格中的内容,把初始生成的三句话中的所有字母替换成对应的数字编码。 去掉句子中的空格和标点 注意原来是三句,数字编码也应该是三句 效果展示 💡 1. "Tall, tall neck." 130106061301060608030205 2. "Spots all over." 121009131201060609140311 3. "Eats from trees." 03011312041109071311030312 四)背景图设计 因为稳定性考虑,这次我直接把背景图画完,会放在 knowledge 中,直接使用即可。 随便画一张好看的图片 在中间部分增加一个遮罩图层(为了方便快捷,我直接使用 ps 了, Python 也可以不过需要描述的清楚一些) 白色遮罩层,透明度 95% 五)图片合成 提示词 Code block Markdown Copy 利用python完成以下要求 1. 把上述的表格按照之前的形式,使用我上传的字体,从 距离上方120px处开始放置。 表格内的内容要求初始字体大小为 45 px 保持表格的内外边框。 表格整体需要在水平方向上居中 表格中的内容在自己的格子内,垂直水平居中 2. 在表格下面 40 px 处开始 依次 把上述转换后的 数字编码 句子,左对齐的方式放在图片上,其中 最左边距离图片的左边缘 300px。 每句一行,每一行之间的行间距为100px,同时字体大小为45px 效果展示 代码 Code block Markdown Copy from PIL import Image, ImageDraw, ImageFont Load the image image path = "/mnt/data/DALL·E 2024 05 15 17.59.10 A vibrant and colorful children's style wallpaper in a 16 9 ratio. The design features an enchanting forest scene with playful animals such as a smili copy.png" image = Image.open(image path) Load the font font path = "/mnt/data/Baloo2 VariableFont wght.ttf" font size table = 45 font size text = 45 font table = ImageFont.truetype(font path, font size table) font text = ImageFont.truetype(font path, font size text) Create draw object draw = ImageDraw.Draw(image) Table content header = ["Letter", "a", "c", "e", "f", "k", "l", "m", "n"] emoji row = ["Morse", "01", "02", "03", "04", "05", "06", "07", "08"] additional letters = ["o", "p", "r", "s", "t", "v"] additional morse = ["09", "10", "11", "12", "13", "14"] Calculate table start position table start y = 120 Calculate table width and height padding = 10 cell width = max(font table.getsize(header[i])[0] for i in range(len(header))) + padding 2 cell height = font table.getsize(header[0])[1] + padding 2 Calculate total table width table width = cell width 8 Calculate start x to center the table table start x = (image.width table width) // 2 Function to draw cell def draw cell(x, y, text, font): draw.rectangle([x, y, x + cell width, y + cell height], outline="black", width=2) w, h = draw.textsize(text, font=font) draw.text(((x + (cell width w) / 2), (y + (cell height h) / 2)), text, font=font, fill="black") Draw the first row for i in range(len(header)): draw cell(table start x + i cell width, table start y, header[i], font table) Draw the second row for i in range(len(emoji row)): draw cell(table start x + i cell width, table start y + cell height, emoji row[i], font table) Draw the additional rows for i in range(len(additional letters)): draw cell(table start x + i cell width, table start y + cell height 2, additional letters[i], font table) draw cell(table start x + i cell width, table start y + cell height 3, additional morse[i], font table) Sentences in Morse code morse sentences = [ "130106061301060608030205", "121009131201060609140311", "03011312041109071311030312" ] Draw Morse code sentences morse start y = table start y + cell height 4 + 40 morse start x = 300 line spacing = 100 二、分步实现需求 一)事物转换成短句 提示词 效果展示 💡 Giraffe 1. Tall, tall neck. 2. Spots all over. 3. Eats from trees. Giraffe 1. Tall, tall neck. 2. Spots all over. 3. Eats from trees. 二)统计字母、生成密码 突然发现,生成三句的时候,单纯的数字 0 9 只有十个数字还是比较少的。所以我更换成了 emoji 表情! 提示词 效果如下 三)字母转换成数字编码 提示词 效果展示 💡 1. "Tall, tall neck." 130106061301060608030205 2. "Spots all over." 121009131201060609140311 3. "Eats from trees." 03011312041109071311030312 1. "Tall, tall neck." 130106061301060608030205 2. "Spots all over." 121009131201060609140311 3. "Eats from trees." 03011312041109071311030312 四)背景图设计 因为稳定性考虑,这次我直接把背景图画完,会放在 knowledge 中,直接使用即可。 随便画一张好看的图片 在中间部分增加一个遮罩图层(为了方便快捷,我直接使用 ps 了, Python 也可以不过需要描述的清楚一些) 白色遮罩层,透明度 95% 五)图片合成 提示词 效果展示 代码 三、提示词编写测试 一)初版提示词 python Display the image directly from IPython.display import display display(image) 二)未修复 感觉现在代码解释器有问题,每次都把代码展示出来,但是不执行! 该死的草台班子! 一堆 bug.... 受不了了,夸不了一点... 三)效果展示 谜底(青蛙,但明显输出的结果有问题...) 四、GPTs 使用链接(待修复) https://chatgpt.com/g/g HvLV2QZIV mo si mi ma xiao you xi 💡 当输出代码的时候,需要再要求执行一次代码才能画图。 前提是在分配字母和数字对应的过程中没有出错。 可以分步先玩一下,这个等修复 当输出代码的时候,需要再要求执行一次代码才能画图。 前提是在分配字母和数字对应的过程中没有出错。 可以分步先玩一下,这个等修复 五、总结 其实内容按照之前的写法应该是没有问题的,但是他不自动执行 Python 了。 难顶 出个新模型,没快乐两天,又完蛋了!昨天能用的今天也用不了了... 真滴烦,看看之后会不会修复吧 好啦,写到这里我们今天的内容也结束啦,感谢大家的观看,也希望我的内容能够让大家喜欢,有所收获。感兴趣的小伙伴可以点个关注跟随我一起学习,观看更多往期文章。 下次见,我是景淮,祝你有个开心美好的一天 嘿,大家好呀,我是景淮,一个加拿大的程序员,沉迷 AI 不能自拔中。 我又来更新了嘿嘿!就是这么勤快的景淮 其实最近更新的内容都不难,甚至提示词的复杂度也是直接降低下来了。主要也是为了平衡一下用户的能力,做的一些调整。 关注我比较久的朋友可能知道,我这个账号有点像是养成账号的风格。内容和知识诅咒越来越重,很多内容放在一个月前,我可能根本不想写。 因为我觉得对于大家来说可能太简单了,所以我的文章一直都有越写越难读的倾向。在多次被朋友吐槽后,决定还是做一些调整。 最主要,我写的东西其实基本慢慢都会跟孩子、家长、家庭教育相关。我希望我能帮助一些原意为了孩子开始接触 AI 的一些家长,起到一个开路的作用。 如果想要跟孩子一起玩,有想法但无从下手,那希望我的文章能够帮一下大家,找到开始的那个切入点就好啦 没错,今天我们的孩子王系列内容主题如下 儿童 GPTs 实战:“摩斯密码” 本文会根据以下内容顺序进行: • 需求分析 • 分步实现需求 • 提示词编写测试 • GPTs 使用链接 • 总结 一、需求分析 一)什么是摩斯密码 💡 摩斯密码(Morse Code)是一种通过点(.)和划( )的组合来表示字母、数字和标点符号的编码系统。它最初是由塞缪尔·摩尔斯(Samuel Morse)和阿尔弗雷德·韦尔(Alfred Vail)在19世纪30年代发明的,用于电报通信。每个字母和数字在摩斯密码中都有一组独特的点和划的组合。例如: • A: . • B: ... • C: . . • 1: . • 2: .. 摩斯密码的应用范围很广,不仅用于电报通信,还被广泛用于航空、海事通信以及业余无线电等领域。它在紧急情况下特别有用,因为它可以通过声音、光信号或其他方式传递信息,即使在复杂的环境中也能有效地进行通信。 摩斯密码(Morse Code)是一种通过点(.)和划( )的组合来表示字母、数字和标点符号的编码系统。它最初是由塞缪尔·摩尔斯(Samuel Morse)和阿尔弗雷德·韦尔(Alfred Vail)在19世纪30年代发明的,用于电报通信。每个字母和数字在摩斯密码中都有一组独特的点和划的组合。例如: • A: . • B: ... • C: . . • 1: . • 2: .. 摩斯密码的应用范围很广,不仅用于电报通信,还被广泛用于航空、海事通信以及业余无线电等领域。它在紧急情况下特别有用,因为它可以通过声音、光信号或其他方式传递信息,即使在复杂的环境中也能有效地进行通信。 简单来说,就是使用 点和划 来表示字母、数字、符号,从而达到拼凑成一个完整的单词、完整的句子的方式,来传递信息。 同样的在我们生活中,我们也可以使用灯光、声音、手势来发送类似于摩斯密码传递信息给我们的小伙伴们。 所以,说白了,摩斯密码就是用来偷偷传递信息的。 二)简化版的“摩斯密码” 摩斯密码本身对于孩子来说其实是枯燥并且很有难度的,因为它需要记住每个字母和数字对应的点和划的组合。对于孩子来说不管是这种记忆,还是理解这些组合都是很有挑战的,更何况孩子们的认知和记忆能力还在发展阶段。 不过对于孩子来说,他们很容易去接受新的东西,特别是通过游戏和互动的方式。 💡 在我们的设计中,我们会使用一些简单的数字代表一些字母。当我们给孩子一组数字时,孩子可以通过替换的方式获取到他们一串字母,再通过组合的方式。获取到对应的信息。 甚至大家可以在后续开发拓展游戏,比如增加一些暗码等等。 在我们的设计中,我们会使用一些简单的数字代表一些字母。当我们给孩子一组数字时,孩子可以通过替换的方式获取到他们一串字母,再通过组合的方式。获取到对应的信息。 甚至大家可以在后续开发拓展游戏,比如增加一些暗码等等。 首先,对于孩子来说,我们的游戏可以提升孩子多种能力。 1. 认知能力 ◦ 记忆力:孩子需要记住每个数字对应的字母,这有助于提高他们的记忆能力。 ◦ 逻辑思维:通过数字和字母的转换,孩子们需要运用逻辑来解码信息,这有助于培养他们的逻辑思维能力。 ◦ 记忆力:孩子需要记住每个数字对应的字母,这有助于提高他们的记忆能力。 ◦ 逻辑思维:通过数字和字母的转换,孩子们需要运用逻辑来解码信息,这有助于培养他们的逻辑思维能力。 2. 语言和文字能力 ◦ 字母和词汇识别:孩子们通过游戏更加熟悉字母和词汇,增强他们的字母识别能力和词汇量。 ◦ 拼读能力:将解码后的字母组合成词语,有助于提高他们的拼读和语言表达能力。 ◦ 字母和词汇识别:孩子们通过游戏更加熟悉字母和词汇,增强他们的字母识别能力和词汇量。 ◦ 拼读能力:将解码后的字母组合成词语,有助于提高他们的拼读和语言表达能力。 3. 数学和数字能力 ◦ 数字识别和使用:孩子们通过使用数字来代表字母,增强他们对数字的认识和使用能力。 ◦ 数序理解:通过游戏,孩子们会对数字和字母之间的顺序和对应关系有更深的理解。 ◦ 数字识别和使用:孩子们通过使用数字来代表字母,增强他们对数字的认识和使用能力。 ◦ 数序理解:通过游戏,孩子们会对数字和字母之间的顺序和对应关系有更深的理解。 4. 问题解决能力 ◦ 解码和推理:解码数字信息并将其转换为字母和词语,需要孩子们动脑筋进行推理和解决问题。 ◦ 耐心和坚持:在解码过程中,孩子们需要保持耐心和坚持,这有助于培养他们的耐性和毅力。 ◦ 解码和推理:解码数字信息并将其转换为字母和词语,需要孩子们动脑筋进行推理和解决问题。 ◦ 耐心和坚持:在解码过程中,孩子们需要保持耐心和坚持,这有助于培养他们的耐性和毅力。 5. 合作与沟通 ◦ 团队合作:如果游戏涉及多人合作,孩子们需要互相沟通和协作,共同解码信息,这有助于培养他们的团队合作精神和沟通能力。 ◦ 社交互动:通过互动和交流,孩子们可以增强社交技能,学会如何与他人合作和分享信息。 ◦ 团队合作:如果游戏涉及多人合作,孩子们需要互相沟通和协作,共同解码信息,这有助于培养他们的团队合作精神和沟通能力。 ◦ 社交互动:通过互动和交流,孩子们可以增强社交技能,学会如何与他人合作和分享信息。 6. 创造力和想象力 ◦ 创造性思维:游戏过程中,孩子们可能会遇到新的挑战和问题,他们需要发挥创造力来解决这些问题。 ◦ 想象力:将数字转换为字母,再将字母组合成词语,需要一定的想象力和创造性思维。 ◦ 创造性思维:游戏过程中,孩子们可能会遇到新的挑战和问题,他们需要发挥创造力来解决这些问题。 ◦ 想象力:将数字转换为字母,再将字母组合成词语,需要一定的想象力和创造性思维。 三)游戏需求拆解 对于这个游戏,我们可以分为以下步骤来执行,从而获得我们想要的结果。 1. 我们需要由 GPT 来生成一句简短且完整的英文句子。 例如那句经典的: I am Iron Man 2. 分析上面生成的句子中,在不考虑大小写的情况下,总共使用了几种字母 例如上述句子:i,a,m,r,o,n = 总计 6 个字母 例如上述句子:i,a,m,r,o,n = 总计 6 个字母 3. 随机生成上述字母和 1 6 数字之间的对应关系 a. i = 2 b. a = 4 c. m = 5 d. r = 1 e. o = 3 f. n = 6 a. i = 2 b. a = 4 c. m = 5 d. r = 1 e. o = 3 f. n = 6 4. 转换对应关系 a. I am Iron Man = iamironman = 2452136543 a. I am Iron Man = iamironman = 2452136543 5. 最后我们给孩子们提供出 最后的数字组和 字母与数字的对应关系即可 6. 为了美观,对于这类题型,我们可以把其放在一块好看的背景图上。 四)需求图 在画图时候,灵机一动,准备把其和之前的猜谜语结合在一起。 三句话完成对用户输入内容的描述。 "摩斯密码" 加密,最后给出答案。