如何提升聊天机器人的代码能力成了重要任务。OpenAI 一直提升在 ChatGPT 中运行代码和使用第三方插件的能力,并于 3 月 25 日推出了 Code Interpreter(代码解释器)。该插件为 ChatGPT 提供了一个在沙盒、防火墙执行环境中工作的 Python 解释器,并提供了一些临时磁盘空间。
现在,Code Interpreter 插件能完成什么程度的工作呢?本文将详细探讨该插件的工作原理、最佳实践、优劣势以及如何处理自定义二进制文件、上传和下载以及生成代码等多样化任务。
Code Interpreter 的工作原理、最佳实践
其实,Code Interpreter 的工作原理不是很复杂。
当用户请求该插件运行一个命令时,它会生成唯一的会话 ID 并启动一个新的沙盒环境来执行命令。该环境包含一个 Python 解释器、有限库和一些临时磁盘空间。一旦执行完命令,该插件会分析输出并可以在另一个函数中使用。这意味着用户可以将不同的函数串在一起来完成更复杂的任务,所有一切都在 ChatGPT 界面内。
Code Interpreter 的一大优势在于作为一个实验模型,它可以使用 Python、处理上传和下载并生成代码。该插件使用很少的库就能运行 Python,允许用户编写自定义代码来操作和分析数据, 并基于简单的对话输入创建数据可视化,成为轻松处理复杂数据解释任务的绝佳工具。此外该插件可以通过自定义二进制文件扩展 ChatGPT 的功能。
总之,Code Interpreter 可以生成和运行代码、上传和下载从 CSV 数据到图像的各种文件,并在 ChatGPT 界面中评估输出。对于想要扩展 ChatGPT 功能并创建自定义插件来满足自身需求的开发人员来说,它无疑是一个强大工具。
在使用 Code Interpreter 时遵循以下一些最佳实践能起到事半功倍的效果:
使用简单清晰的命令,有助于代码易读懂和理解;
运行之前对代码进行测试,有助于降低代码错误风险并确保高效运行;
使用正确的库来运行 Python,常用库包括 numpy、pandas 和 matplotlib;
避免使用任何可能危害系统的代码,如可能导致删除文件或访问敏感数据的代码;
该插件专为简短代码片段设计,因此避免长时间运行代码。
Code Interpreter 的 10 大用例
如上文所述,除了解释和执行代码之外,Code Interpreter 还具有一系列潜在的用例,包括数据处理、可视化和自动化、文件上传和下载等。
今日,推特用户 @AngryTomtweets 列举出了他所发现的 10 大 Code Interpreter 用例。
成为数据科学家
使用 Code Interpreter,你只需要上传数据,提供简单的英文指示,就可以完成清理数据、在 autopilot 上生成可视化图表的所有工作。
图源:推特 @Saboo_Shubham_
多模态 AI 助手
使用 Code Interpreter 可以将快速图像转换为文本文件。
图源:推特 @Saboo_Shubham_
让可视化更简单、美观
使用 Code Interpreter,ChatGPT 基本可以完成任何可视化工作,并使图表变得更加美观。
图源:推特 @emollick
市场策划能手
使用 Code Interpreter,ChatGPT 可以根据表格数据对音乐市场进行细分,并为每个细分市场制定商业策略。
图源:推特 @beglen
为每个灯塔为你闪烁
当上传美国每个灯塔位置的 CSV 文件之后,Code Interpreter 可以创建这些灯塔位置的 GIF 地图,虽然地图非常暗,但每个灯塔都在闪烁。
图源:推特 @emollick
犯罪数据分析
上传关于 SF 犯罪的 CSV 数据文件,并让 Code Interpreter 来可视化趋势。
图源:推特 @backus
GIF 动画渲染
图源:推特 @goodside
创建航空延误交互地图
使用 Code Interpreter 上传一份航空公司延误的 CSV 文件,创建了一个非常酷的交互式地图。
图源:推特 @emollick
分析音乐品味
使用 Code Interpreter 分析 300 小时的 Spotify 收藏夹播放列表,从 Spotify API 中导出,并运行多维 PCA 和 t-SNE 分析,总结音乐品味。
图源:推特 @SHL0MS
基本视频编辑
使用 Code Interpreter,可以在 ChatGPT 中将上传的 GIF 转换成更长的 MP4 视频并慢速缩放。
图源:推特@goodside
更详细的用例分析请参阅原链接。
参考链接:
https://openaimaster.com/chat-gpt-code-interpreter/
https://twitter.com/AngryTomtweets/status/1654770737889132544