只看到“iPhone时刻”?ChatGPT+代码解释器,才是释放魔法
3 月底,OpenAI 迎来了“iPhone 时刻”,可调用插件“帮助 ChatGPT 访问最新信息、运行计算或使用第三方服务。”以后,用户出门选哪个商店就可以通过询问 ChatGPT,而 ChatGPT 则会调用“美版大众点评”给用户建议。俨然一副超级流量入口的架势。
除了引入第三方工具插件如 WolframAlpha、OpenTable 等,OpenAI 还公布了自己开发的插件——浏览插件和代码解释器。其中,代码解释器可以用来生成代码、运行代码、上传和下载从 csv 数据到图像等一系列格式的文件,并在 ChatGPT 界面内评估输出结果。
目前,代码解释器可以运行 Python,但只能访问一小部分库,执行少数特定的任务。《华尔街日报》畅销小说家、OpenAI 领域的科学传播者 Andrew Mayne 最近就在一直测试代码解释器,他发现 ChatGPT 即使只能使用基本库,也能执行很多任务,非常有意思。
除了生成代码之外,代码解释器还可以分析输出结果,并把结果代入另一个函数中。这就意味着,可以将不同的代码部分串联起来,将一个部分的输出结果,输入到另一个部分,实现功能的连续。
以文章开头的吃豆人动图的实现为例,先让代码解释器用算法生成一个迷宫,然后将它转换为一系列的方块,用以直观地表示迷宫的墙壁和通道,接下来再用算法找到迷宫的出口,然后让这一过程在视觉效果上模拟吃豆人游戏,最后,用得到的结果生成一张 gif 动图。
代码解释器的加入带来的区别是,之前用 ChatGPT 创建代码的时候,输出结果需要放到另一个环境中去测试。现在,完全可以在不离开 ChatGPT 会话界面的情况下,直接在 ChatGPT 内进行大量的开发工作,再加上 ChatGPT 的数据分析能力(如电子表格)、以及后续可以执行诸如绘图等一系列功能,可以说就此拥有了一个非常强大的编程和研究工具。
下面,是 Andrew 在测试 ChatGPT 的代码解释器插件时随机运行的一些有趣的实验案例。
谢泼德音调
“生命游戏之歌”的专辑封面
看着上面的生命游戏的专辑封面图,我突然想到,ChatGPT 或许能生成有效的二维码图片。于是,我先提出了一个简单的指令,ChatGPT 很快给出了结果:
二维码
看着生命游戏专辑图片和旁边的二维码,我在想……能不能让 ChatGPT 创建一个以二维码为终局的生命游戏模拟过程呢?(我告诉它通过从二维码倒推来作弊……)没错,它可以:
生命游戏二维码
在关于 ChatGPT 插件的博客文章中,我展示了一些用 Python 库进行图像处理的酷炫方法。这也让我不由得好奇,想看看 ChatGPT 还能用基础库做些什么。
使用 OpenCV(开放源代码计算机视觉类库)和一个简单的人脸识别算法(Haar Cascade Classifier),代码解释器能够创建一个函数,在下面这张图片中找到我的脸:
用 OpenCV 查找人脸
既然 ChatGPT 能打开并读取文件,那也意味着,理论上,ChatGPT 可以用这些数据生成新的东西。所以我们来让 ChatGPT 把一张图片转换成 ASCII 图像:
上传一张图片
转换成 ASCII 格式
既然代码解释器可以生成数据,并将其输出为包括 gif 动图在内的不同格式,那我们就来测试一下,ChatGPT 具体能做到什么程度。
首先,我让 ChatGPT 制作一个弹跳的方块:
跳动的方块
再来一场暴风雪:
暴风雪
接下来,生成一个生命游戏:
生命游戏
然后,我试着让 ChatGPT 用矢量立方体来生成生命游戏,得到的最接近的结果是这样的:
旋转的立方体
事实证明,ChatGPT 的代码解释器基本库中,包含了光学字符识别(OCR)。我决定用一个网站的屏幕截图来测试一下。果然,这个方法有用。能把 OCR 与一个非常强大的语言模型相结合,这有可能让 ChatGPT 具备了一定的恢复旧文档的能力。
尽管代码解释器没有访问 ics 库的权限,但它可以以纯文本形式生成日程邀请,然后让 ChatGPT 将其保存为 .ics 文件。
虽然目前已经有一些用 GPT-4 生成 SVG(可缩放矢量图)的好玩儿案例,但我很好奇 ChatGPT 和代码解释器能用简单的条块图像做出什么。
我让 ChatGPT 画一只猫,结果它确实生成了一张形似猫的图片。为了确保 ChatGPT 并不是因为执行过类似训练才做到这一点,我进一步要求 ChatGPT 画的猫要戴一顶蓝色的高顶帽,再叼一支烟斗。输出的结果虽然不完全是我设想中的高顶帽,但确确实实是一顶帽子,而且是蓝色的。
貌似一只猫
貌似一只戴帽子、叼烟斗的猫
一只戴帽子、叼烟斗的猫
虽然 ChatGPT 目前暂时无法将任何机器学习库加载到代码解释器中,但我们可以用 n-gram 进行一些基本的统计文本生成。在这个示例中,我喂了一本书给 ChatGPT,让它创建一个预测算法,用来预测文本序列中的下一个单词。很快,ChatGPT 给到的结果无一例外地再次证明了 GPT-4 的能力。
下个单词预测
这里重现一下开头的吃豆人模拟器,用代码解释器生成算法和 gif 动图的能力,让它制作一个迷宫,然后生成一个点找到迷宫的出口……然后让整个过程看起来像吃豆人游戏:
吃豆人模拟器
使用 Matplotlib 库,我们可以让 ChatGPT 模拟内行星(距离太阳最近的 4 颗行星)运行轨道,并将其保存为 gif 动图。
行星轨道
然后我想知道 ChatGPT 能否模拟一局跳棋。我设法移动了棋子,但出于礼貌没有取走任何其他玩家的棋子:
跳棋
那么 ChatGPT 可以模拟国际象棋吗?首先,我必须让 ChatGPT 创建它自己的国际象棋库(一个简化了规则的、不怎么标准的国际象棋库……)并使用 unicode 表示棋子,之后,ChatGPT 就能模拟一局游戏的开始,并将其保存为 gif 动图:
国际象棋
这是我与 ChatGPT 进行的关于生成国际象棋模拟过程的对话。可以看到,这里我只给出了一些指令,剩下的工作都是由 ChatGPT 和代码解释器完成的。
推荐阅读
TikTok还在“历劫”,字节Lemon8又入美国总榜Top10
新品35期|扩列、虚拟、AI,哪一个还能成为社交流量密码?
国内扭亏为盈、海外加速商业化,赚钱才是底气 | 快手财报解读
海外用户开始寻找TikTok替代品,华人创业者的短视频App冲到总榜第4
视频号商业化和AI大模型还很远,游戏出海真的能成为腾讯新增长点吗?
商务合作
Cassie | 微信:18506490569
Ares | 微信:18606066421
Lina | 微信:13381020131
Ania | 微信:13559431142
媒体合作Echo | 微信:13003974360
开发者&卖家对接Demerly | 微信:18150844790
客服服务(加入白鲸社群)Lia | 微信:baijing018
与CEO聊合作白鲸出海魏方丹 | 微信:bjbandari02
(添加请备注姓名、公司及职位)
长按识别二维码,备注“VIP”
申请加入白鲸出海VIP知识星球
获取更多资讯、活动、资源