ChatGPT + 代码解释器 = 魔法 – @AndrewMayne - 图1

tl;dr:OpenAI 正在测试在 ChatGPT 中运行代码和使用第三方插件的能力。

OpenAI 宣布我们正在为 ChatGPT 开发插件,以扩展其功能。[链接]插件范围从WolframAlphaOpenTable等第三方工具,到我们的浏览插件和代码解释器,它们可以生成代码、运行代码、上传和下载从 csv 数据到图像的文件,并在 ChatGPT 界面内评估输出。

目前,代码解释器使用少量库运行 Python。我一直在玩Code Interpreter,看到它甚至可以使用基本库可以做什么非常有趣。

ChatGPT + 代码解释器 = 魔法 – @AndrewMayne - 图2

除了生成代码,代码解释器(CI) 还可以分析输出并将其用于另一个函数。这意味着您可以将不同的代码部分串在一起,获取一个的输出并将其提供给另一个。上面的吃豆人gif是CI用算法生成迷宫,把迷宫变成方块,用算法找到出口,做成吃豆人的样子,然后生成gif。

以前,当我使用 ChatGPT 创建代码时,这涉及获取输出并将其放入另一个环境中进行测试。现在,您无需离开 UI 即可在 ChatGPT 中进行大量开发。当您将其添加到分析数据(例如电子表格)然后执行绘图等功能的能力中时,您就拥有了一个非常强大的编码和研究工具。

以下是我使用 ChatGPT 的代码解释器插件进行的随机实验的一些示例。

声音

当我意识到 ChatGPT 可以理解很多数学数据并且 CI 可以生成可下载的文件时,我让 ChatGPT 生成 Shepard 音调(一种音调似乎在不断变高的声音错觉。)ChatGPT 在图表中显示了音调,然后能够使用 CI 将其输出为 wav:

ChatGPT + 代码解释器 = 魔法 – @AndrewMayne - 图3

谢泼德音

进一步推动声音功能,我要求 ChatGPT 生成 Conway 的 Game of Life 会话,然后将其转换为音乐。当第一遍听起来有点太随意时,我要求它让它更令人愉悦。ChatGPT 对其应用了五声音阶,结果如下:

歌曲中的生命游戏

想象一整张音乐数学专辑(斐波那契数列、Mandelbrot 集、元胞自动机等等!)我要求 ChatGPT 为 Game of Life 歌曲生成专辑封面。由于它没有连接到 DALL-E,我要求它从模拟帧生成图像。

生命游戏框架(作为专辑封面)

ChatGPT + 代码解释器 = 魔法 – @AndrewMayne - 图4

二维码

看着图像让我意识到 ChatGPT 可能会生成一个有效的 QR 码图像。我给了它一个简单的,结果如下:

ChatGPT + 代码解释器 = 魔法 – @AndrewMayne - 图5

二维码

ChatGPT + 代码解释器 = 魔法 – @AndrewMayne - 图6

看着彼此相邻的 Game of Life 和 QR 码让我想知道……我可以让 ChatGPT 创建一个以 QR 码结尾的 Game of Life 模拟吗?(我告诉它通过从二维码向后工作来作弊……)是的,它可以:

生命游戏二维码

ChatGPT + 代码解释器 = 魔法 – @AndrewMayne - 图7

图片

在有关 ChatGPT 插件的博客文章 [链接] 中,我们展示了一些很酷的 Python 库用法来进行图像处理。这让我很好奇您还可以用基本库做些什么。

使用 OpenCV 和一个简单的面部识别算法(Haar Cascade 分类器),CI 能够创建一个函数来在这张图像中找到我的脸:

使用 OpenCV 进行人脸识别

ChatGPT + 代码解释器 = 魔法 – @AndrewMayne - 图8

由于它可以打开和读取文件,这也意味着理论上它可以使用该数据生成新的东西。所以我要求 ChatGPT 拍摄图像并将其转换为 ASCII 图像:

上传的图片

ChatGPT + 代码解释器 = 魔法 – @AndrewMayne - 图9

转换为 ASCII

ChatGPT + 代码解释器 = 魔法 – @AndrewMayne - 图10

生成动画

The fact that CI could generate data and output it into different forms including animated gifs had me wondering how far you could push this. First I asked it to make a bouncing block:

Bouncing block

ChatGPT + 代码解释器 = 魔法 – @AndrewMayne - 图11

Then a snowstorm:

Snowstorm

ChatGPT + 代码解释器 = 魔法 – @AndrewMayne - 图12

Next a session of Game of Life (this is what inspired the QR code experiment):

[Game of life]

ChatGPT + 代码解释器 = 魔法 – @AndrewMayne - 图13

I tried to get it to do this with a vectorized cube. This is as close as I got before trying something else:

[Rotating cube]

ChatGPT + 代码解释器 = 魔法 – @AndrewMayne - 图14

OCR

It turns out that Optical Character Recognition is one of the libraries in CI. I decided to test this out with a screen grab from a website. Sure enough, it works. The ability to combine OCR with a really capable language model introduces some interesting possibilities for restoring older documents.

ChatGPT + 代码解释器 = 魔法 – @AndrewMayne - 图15
ChatGPT + 代码解释器 = 魔法 – @AndrewMayne - 图16

Calendar invites

Although CI doesn’t have access to the ics library, it can generate a calendar invite in plain text and then have ChatGPT save it as an .ics file.

ChatGPT + 代码解释器 = 魔法 – @AndrewMayne - 图17

Drawing

While there’s been some interesting examples of GPT-4 generating SVGs, I was curious to see what ChatGPT and IC could do with simple block images. I asked it to draw a cat and it created something cat-like. Just to make sure it wasn’t doing that from memory, I asked for a blue top hat and pipe. While not exactly the top hat I had in mind – still a hat and blue.

A plausible cat

ChatGPT + 代码解释器 = 魔法 – @AndrewMayne - 图18

A plausible cat with a hat and a pipe

ChatGPT + 代码解释器 = 魔法 – @AndrewMayne - 图19

A cat in the hat with a pipe

ChatGPT + 代码解释器 = 魔法 – @AndrewMayne - 图20

Creating machine learning models (sort of)

While ChatGPT can’t load any machine learning libraries into CI (presently), we can do some basic statistical text generation using n-grams. In this example I gave it one of my books, asked it to create a prediction algorithm and then predict the next word in a text sequence. The results won’t have GPT-4 worried anytime soon, but were still interesting to see.

Next word prediction

ChatGPT + 代码解释器 = 魔法 – @AndrewMayne - 图21
ChatGPT + 代码解释器 = 魔法 – @AndrewMayne - 图22

Simulation

I decided to revisit CI’s ability to generate animated gifs and algorithms and had it make a maze, then have a dot find its way out of the maze…then make the whole thing look like Pac-Man:

Pac-Man simulator

ChatGPT + 代码解释器 = 魔法 – @AndrewMayne - 图23

Using the Matplotlib library I was able to get ChatGPT to make a simulation of the orbits of the inner planets and save it as a gif.

Orbits of planets

ChatGPT + 代码解释器 = 魔法 – @AndrewMayne - 图24

I then wondered if I could get it to simulate a game of checkers. I managed to move the pieces, but was too polite to take any of the other players’ checkers:

Checkers

ChatGPT + 代码解释器 = 魔法 – @AndrewMayne - 图25

What about chess? First I had to get ChatGPT to create its own chess library (a very simple chess library of reduced and not quite legal moves…) and use unicode for the pieces, after that, it was able to simulate the start of a game and save it as a .gif:

Chess

ChatGPT + 代码解释器 = 魔法 – @AndrewMayne - 图26

Here’s the conversation I had with ChatGPT to make the chess simulation. As you can see, I just gave a few instructions and ChatGPT and CI did the rest:

Wrapping up

These are just some of my explorations with ChatGPT and the Code Interpreter plugin. As more people get access I’m sure we’re going to see some really mind-blowing applications.

ChatGPT + 代码解释器 = 魔法 – @AndrewMayne - 图27

由安德鲁梅恩出版

《华尔街日报》畅销小说家、埃德加与惊悚片奖决赛入围者、鲨鱼周明星、A&E 不信任安德鲁·梅恩、OpenAI 的创意应用程序和科学传播者。 查看安德鲁梅恩的所有帖子

发表 2023 年 3 月 23 日2023 年 3 月 23 日