Contents
dr:OpenAI正在测试在ChatGPT中运行代码和使用第三方插件的能力。
OpenAI宣布我们正在为ChatGPT开发插件,以扩展其功能。[链接] 插件的范围从第三方工具,如 WolframAlpha 和 OpenTable,到我们的浏览插件和代码解释器,可以在 ChatGPT 界面中生成代码、运行代码、上传和下载从 csv 数据到图像的文件,并评估输出。
目前,代码解释器运行带有少量库的Python。我一直在使用代码解释器,看到它甚至可以使用基本库做什么也很有趣。
除了生成代码之外,代码解释器 (CI) 还可以分析输出并将其用于另一个函数。这意味着您可以将不同的代码段串在一起,获取一个代码的输出并将其提供给另一个。上面的吃豆人 gif 是通过让 CI 使用算法生成迷宫,将迷宫转换为块,使用算法找到出口,使其看起来像吃豆人然后生成 gif 制成的。
以前,当我使用 ChatGPT 创建代码时,这涉及获取输出并将其放入另一个环境中进行测试。现在,您可以在 ChatGPT 中进行大量开发,而无需离开 UI。当您将其添加到分析数据(例如电子表格)的能力中,然后执行绘图等功能时,您就拥有了一个非常强大的编码和研究工具。
以下是我使用 ChatGPT 的代码解释器插件进行的一些随机实验示例。
声音
当我意识到 ChatGPT 理解大量数学数据并且 CI 可以生成可下载的文件时,我要求 ChatGPT 生成 Shepard 音调(一种声音错觉,似乎音调越来越高)。ChatGPT 在图表中显示了音调,然后能够使用 CI 将其输出为 wav:
谢泼德语气
为了进一步提高声音能力,我要求ChatGPT生成康威的生活游戏,然后将其转换为音乐。当第一遍听起来有点太随机时,我要求它让它更令人愉悦。ChatGPT 对其应用了五声音阶,结果如下:
歌曲中的生命游戏
想象一整张音乐数学专辑(斐波那契数列、曼德布洛特集合、元胞自动机等等!我要求ChatGPT为《生命游戏》歌曲制作一张专辑封面。由于它没有连接到DALL-E,我要求它从模拟帧生成图像。
生命游戏框架(作为专辑封面)
二维码
看着图像让我意识到 ChatGPT 可能会生成一个有效的二维码图像。我给了它一个简单的,结果是这样的:
二维码
看着相邻的生命游戏和二维码让我纳闷……我可以让 ChatGPT 创建一个以二维码结尾的生活游戏模拟吗?(我告诉它通过从二维码向后工作来作弊……是的,它可以:
生命游戏二维码
图像
在关于 ChatGPT 插件的博客文章 [链接] 中,我们展示了一些很酷的 Python 库用于图像处理。这让我很好奇,看看你还能用基本库做什么。
使用OpenCV和一个简单的人脸查找算法(Haar Cascade Classifier),CI能够创建一个函数来查找我的脸:
使用OpenCV进行人脸查找
由于它可以打开和读取文件,这也意味着理论上它可以使用该数据来生成新的东西。所以我要求 ChatGPT 拍摄一张图像并将其转换为 ASCII 图像:
上传的图片
转换为 ASCII
生成动画
CI可以生成数据并将其输出为不同的形式,包括动画GIF,这一事实让我想知道你能把它推多远。首先,我要求它做一个弹跳块:
弹跳块
然后是暴风雪:
暴风雪
接下来是生命游戏的会议(这就是启发二维码实验的原因):
[生命游戏]
我试图让它用矢量化的立方体来做到这一点。这与我在尝试其他东西之前一样接近:
[旋转立方体]
光学字符识别
事实证明,光学字符识别是CI中的库之一。我决定通过网站上的屏幕截图来测试这一点。果然,它有效。将 OCR 与真正强大的语言模型相结合的能力为恢复旧文档引入了一些有趣的可能性。
日历邀请
尽管 CI 无权访问 ics 库,但它可以生成纯文本形式的日历邀请,然后让 ChatGPT 将其另存为.ics文件。
绘图
虽然有一些 GPT-4 生成 SVG 的有趣例子,但我很好奇 ChatGPT 和 IC 可以用简单的块图像做什么。我要求它画一只猫,它创造了一些类似猫的东西。为了确保它不是凭记忆这样做的,我要求一顶蓝色礼帽和烟斗。虽然不完全是我想到的礼帽 – 仍然是一顶帽子和蓝色。
一只似是而非的猫
一只戴着帽子和烟斗的似是而非的猫
一只戴着烟斗的帽子里的猫
Creating machine learning models (sort of)
虽然 ChatGPT 目前无法将任何机器学习库加载到 CI 中,但我们可以使用 n-gram 进行一些基本的统计文本生成。在这个例子中,我给了它一本书,要求它创建一个预测算法,然后预测文本序列中的下一个单词。结果不会很快让 GPT-4 担心,但仍然很有趣。
下一个单词预测
模拟
我决定重新审视CI生成动画GIF和算法的能力,并让它制作一个迷宫,然后让一个点找到出迷宫的路……然后让整个事情看起来像吃豆人:
吃豆人模拟器
使用 Matplotlib 库,我能够让 ChatGPT 模拟内行星的轨道并将其保存为 gif。
行星的轨道
然后我想知道我是否可以让它模拟跳棋游戏。我设法移动了棋子,但太客气了,无法接受其他玩家的跳棋:
跳棋
国际象棋呢?首先,我必须让 ChatGPT 创建自己的国际象棋库(一个非常简单的国际象棋库,包含减少且不太合法的移动……)并使用 unicode 进行棋子,之后,它能够模拟游戏的开始并将其保存为.gif:
棋
这是我与ChatGPT进行国际象棋模拟的对话。如您所见,我只是给出了一些指令,ChatGPT 和 CI 完成了其余的工作:
https://video.wordpress.com/embed/XwBH7Nmw?cover=1&preloadContent=metadata&useAverageColor=1&hd=1
总结
这些只是我对 ChatGPT 和代码解释器插件的一些探索。随着越来越多的人获得访问权限,我相信我们将看到一些非常令人兴奋的应用程序。