cssmagic / blog

CSS魔法 - 博客
http://blog.cssmagic.net/
2.8k stars 274 forks source link

买了 ChatGPT 会员却没用过 “代码解释器”?亏了,快看这三个案例 #123

Open cssmagic opened 2 months ago

cssmagic commented 2 months ago

ChatGPT 的付费会员不只是能调用 GPT-4 这么简单,还有很多宝藏功能有待探索。如果你还不了解 “代码解释器”,不妨来看看这三个真实案例,肯定对你有所启发。

什么是 “代码解释器”

功能简介

“代码解释器” 是 ChatGPT 在发布 GPT-4 之后不久,面向付费用户推出的一项高级功能。

这项功能利用了 GPT-4 的代码生成能力,根据当前任务自动编写 Python 代码并执行,最终将结果返回给用户。更神奇的是,即使生成的代码有错误,它也可以根据代码运行的报错信息来改进代码,通过多次迭代来完成任务。

在每次调用代码解释器时,ChatGPT 会创建一个可运行 Python 代码的沙箱环境。用户上传的文档也会保存在这个沙箱环境中,因此代码解释器可以访问这些文件,它在沙箱中生成的文件也可以提供链接给用户下载。

如今这项功能已经融入了 OpenAI 产品的方方面面,包括 ChatGPT、GPTs、Assistants API 等等。在付费版的 ChatGPT 中,它也是默认开启的,不需要额外激活。我们只需要在对话中描述需求,ChatGPT 就会在合适的时机调用代码解释器来完成任务。

“高级数据分析”

由于代码解释器具有执行 Python 代码、处理用户上传文件、生成图表的能力,因此它在数据分析领域有着广泛的应用,比如数据清洗、数据可视化、数据建模等等。

analyzing

有段时间,这项功能就曾改名为 “高级数据分析(Advanced Data Analytics)”,可见 OpenAI 对它信心满满。

但是,如果你既不是数据分析师,也不是程序员,那这项功能是不是就没有用武之地了呢?其实我们不要被它的名字迷惑了,把它想像成一个 “程序员员工”,让它帮你干活就可以了。我们来看第一个案例吧!

案例一:文档格式转换

我们先从一个简单的案例开始热热身。某天,魔法哥从网上下载了一个 docx 文档,需要转换为 Markdown 格式,而手边又没有合适的编辑软件,此时就可以让 ChatGPT 的代码解释器来试试身手。

我们进入 ChatGPT 的对话界面,把文件传上去,然后让它转换格式:

case-1

稍等片刻,ChatGPT 就完成任务了。我们点击它提供的链接,就可以下载转换好的文件了。

我们点开 “Finished analyzing” 折叠标记,可以看到代码解释器生成代码和执行代码的整个过程:

case-1-code

这个例子很好地演示了 Python 的强大生态,代码解释器可以引入丰富的 Python 包,帮助我们完成各种任务。

案例二:批量处理文件

你平常有没有遇到批量处理文件的场景?比如这一天,魔法哥用某个软件抓取了一个网页上的所有图片,但图片的存储目录比较混乱,需要整理。

case-2-1-file-dir

当前图片文件的目录结构是这样的:

├── aaaaaa
│   └── index.html
├── bbbbbb
│   └── index.html
├── cccccc
│   └── index.html
└── ...

我们期望的整理效果是这样的:

也就是说,整理完之后,文件目录结构应该是这样的:

├── aaaaaa.png
├── bbbbbb.png
├── cccccc.png
└── ...

如果写一段 Node.js 脚本或 Shell 脚本,当然也可以完成这个任务。不过这次魔法哥想偷个懒,让代码解释器来帮忙。

我们把整个目录打个包,上传到 ChatGPT,然后把我们的要求告诉它:

case-2-2

如你所见,只要把需求描述清楚,ChatGPT 就可以生成合适的代码来完成文件的批量操作。在上面的截图中,我们还可以看到代码解释器的第一次尝试并不成功,但它会根据错误信息改进代码;而第二次尝试就圆满完成了。

案例三:拯救大模型的短板

我们都知道,大型语言模型是个 “偏科生”,在数学计算方面并不擅长。ChatGPT 在回答数学问题时,往往会掉链子。

比如某天魔法哥向 ChatGPT 提了这个问题:

case-3-1

不出意外地出意外了,ChatGPT 很漂亮地列出了算式,但最后一步的计算结果似乎不太对劲。

这时,我们可以召唤出代码解释器来救场。于是,魔法哥追加了一句 “请使用你的代码能力解答这个问题”:

case-3-2

接下来代码解释器生成了一段代码,然后执行,最终得到了正确的计算结果。我们可以看到,代码解释器可以很好地弥补大模型在数学计算方面的不足,给出令人放心的答案。

补充一:代码解释器在 GPTs 中的应用

如果你经常需要调用代码解释器来处理某个重复的任务,那不妨把这项工作封装成一个 GPTs 机器人,以便重复调用。比如魔法哥经常需要处理上面的 “案例二”,于是就定制了一个名为 “图片整理” 的 GPTs。

在定制这个 GPTs 的时候,我们不仅要把任务描述填入 GPTs 的 “Instructions(指令)” 输入框,还要记得在 “Capabilities(能力)” 列表中勾选 “Code Interpreter”,为 GPTs 启用代码解释器的能力。

gpts-cap

除了代码解释器之外,GPTs 还集成了外挂知识库、网页浏览、绘图、外部 API 等五大工具。关于 GPTs 的开发技巧,请参考魔法哥的系列文章:GPTs 完全指南:入门篇 | 如何开发 | 如何上架 | 如何赚钱

补充二:代码解释器的局限

代码解释器是一个强大的工具,但它也需要消耗可观的计算资源,它的运行环境也不得不设置一些安全限制。因此,这里也跟大家提醒一下代码解释器的主要局限:

小结

ChatGPT 的代码解释器是一个强大而易用的工具,从现在开始,当你遇到一个新问题,不妨也试试能不能用上代码解释器,看它能为你带来什么惊喜吧!

魔法哥最近一年都在做 AI 领域的研发和探索,会陆续跟大家分享心得。新朋友请关注公众号,下次更新不迷路:

weixin-qrcode


📣 AI 魔法群开放啦!

对 AI 感兴趣的同学不妨扫码加群,与数百名同好交流分享:

qun-qr


🔥 推荐阅读

AI 应用开发指南:

ChatGPT 高级技巧:

AI 资讯与评述:


© Creative Commons BY-NC-ND 4.0   |   我要订阅   |   我要打赏