Python掌控全球,GPT挑战Python!ChatGPT上线:数据分析与代码生成的全能工具

发表时间: 2023-07-17 12:22
大数据文摘授权转载自AI前线
作者 | 褚杏娟,核子可乐

当地 7 月 7 日,OpenAI 在社交平台表示,将向所有 ChatGPT Plus 用户开放代码解析器(Code Interpreter)功能。消息一出便瞬间引发了开发者们的广泛关注,该功能被有的开发者认为是自 OpenAI 发布 GPT-4 以来最强大的功能。
有了 Code Interpreter,语言模型不仅可以生成代码,还可以独立执行代码。这个插件允许用户直接在 ChatGPT 对话窗口直接调用 Python,直接进行数据上传、下载、分析(统计)、作图,甚至进行文件格式转换及解决定性和定量数据问题。
代替数据分析师?
大数据时代,对复杂数据集进行可视化的能力已经不只是一项技术,更是一种必需。数据可视化是我们从日常浏览的海量数据中提取洞察的关键,让我们能够将规模庞大的原始数据转换为既具有视觉吸引力、又易于理解的图形。然而,实现可视化的具体过程往往令人生畏,其中涉及到复杂的数据处理、设计和调试环节。
ChatGPT 的 Code Interpreter 被很多网友认为是数据可视化领域的规则颠覆者。
比如,之前如果要创建一份柱状图来说明不同产品在特定时期内对应收入,需要在 Python 中编写 SQL 查询或处理数据,这对缺乏编程背景的人来说比较困难。但有了 ChatGPT Code Interpreter 后,我们唯一要做的就是提出问题。只需用简单的语言指导 AI,它就能做好余下的工作,基于现实数据创建出详尽而准确的可视化结果。这种易用性不仅体现在柱状图中,饼状图、折线图、散点图等其他数据可视化类型也均可支持。
Code Interpreter 实际上是“沙盒、防火墙执行环境以及一些临时磁盘空间”中的 Python 解释器,其中的所有数据可视化都是使用 Python 生成的。
目前,已经有不少网友分享了自己如何让用这款 AI 工具如何生成富有洞见的可视化结果。Twitter 活跃用户、宾夕法尼亚大学沃顿商学院教授 Ethan Mollick 分享了自己使用 ChatGPT Code Interpreter 的经验。他上传了一个 XLS 文件,并向 AI 提出三个问题:
“你能通过可视化和描述性分析,帮助我理解数据内容吗?”
“你能试着用回归分析找到其中的模式吗?”
“你能运行回归诊断吗?”
Code Interpreter 完成了数据处理,并根据 Ethan 的要求给出准确的可视化与分析结果,展现出轻松处理复杂数据解释任务的强大能力。

部分结果示例
在另一个示例中,Ethan 要求 Code Interpreter 执行敏感性分析。尽管 AI 无法访问原始数据,仍能解决问题并提出有用的见解。这凸显出该工具在处理计划外数据相关问题时,表现出的良好适应性和智能水平。
Twitter 用户 Patrick Blumenthal 则向 Code Interpreter 提交了原始 UFO 目击数据集。该 AI 根据数据内容生成了完备的 HTML 热图,表现出利用不同数据集快速创建数据可视化结果的潜力。
这些真实示例说明,ChatGPT Code Interpreter 在简化数据可视化过程方面有着强大能力。通过对话中提出的问题,用户无需编写任何代码即可获取有价值的见解和关于数据的图形表示。Ethan 对 Code Interpreter 的评价是“用过的最有用、最有趣的 AI 模式”。
ChatGPT Code Interpreter 不仅是一款数据可视化工具,更是一款强大的数据分析工具。它能够解释复杂数据集、发现各种模式并为决策提供宝贵的信息和见解。
数字营销公司的 Greg Isenberg 表示,Code Interpreter 通过分析搜索引擎算法和用户行为,为内容优化生成数据驱动的见解,并通过定制的策略提高网站排名,从而彻底改变了 SEO。随着进入新的排名,新公司将会增加数百万美元的收入。将 Code Interpreter 与 Google Search Console 数据结合使用现在似乎已经成为一种流行的用法。
另一个例子中,一位 Twitter 用户分析了他最喜欢歌曲的 300 小时 Spotify 播放列表。该聊天机器人提供了可视化功能,还帮助进行数据检索,并解释了如何使用 Spotify API。
此外,Code Interpreter 不仅可以根据数据创建 GIF,还可以涉足其他格式的文件。一位名为 Riley Goodside 的提示工程师上传了一个 GIF,并要求聊天机器人使用 Zoom 将其转换为 MP4,Code Interpreter 也成功做到了。
有人认为,这种以对话方式执行复杂数据分析任务的能力,彻底改变了行业中的传统游戏规则。它将数据分析能力交付至每一个人手中,打破了以往高水平编码人员或数据科学从业者对这类知识的“垄断”。无论是想要解读销售数据的小企业主、想要分析学生成绩数据的教师,还是致力于数据驱动故事的记者,ChatGPT Code Interpreter 都能帮助大家更好地理解数据内容。
不过也有人表示,没有想象的那么强大。“在合并多个复杂文件的时候,塔只会遵循一些特定的方法合并,如果遇到的这个方法不行,现场就崩给你看。”知乎答主“极萨学院冷哲”表示,“它只适合做一些你看起来就知道怎么做,但是超级费工夫的批处理工作。但是对于那种你看起来都不知道怎么做、一脸懵的情况,他也会一脸懵。”另外需要注意的是,ChatGPT Code Interpreter 目前似乎对中文用户不太友好,不如使用英语带来的体验好。
“这种匆忙的开放,其实 OpenAI 遇到了非常大的服务器计算压力,以至于他们肯定是在后台做了限制之前我看内测的时候大家常用的抠图或者图像和视频处理,现在都被进行了限制,要么说不能做,要么说计算能力不足。“极萨学院冷哲”推测道。
改变编码方式
ChatGPT Code Interpreter 也在改变我们的编码方式。
Ethan 使用 Code Interpreter 获取旧的 scratch STATA 文件和代码,并使用 Python 复制它们。

ChatGPT Code Interpreter 基于机器学习技术,主要支持 Python,但 ChatGPT Code Interpreter 在设计上也兼顾了对其他编程语言的理解和交互能力,是一款功能完备、适用范围极广的编码工具。
ChatGPT Code Interpreter 之所以大受欢迎,原因之一就是它能弥合技术知识与创造力之间的巨大鸿沟。大家不再需要精通 Python、HTML 或者 JavaScript,即可将数据可视化由想法变成现实。反过来,我们也可以依靠 ChatGPT Code Interpreter 的 AI 编码知识解决各种繁重的开发任务。
ChatGPT Code Interpreter 是“无代码运动”这一整体趋势的重要组成部分。无代码运行的目标是消除编码需求,借此降低技术的获取门槛。其中涉及一系列工具和平台,希望帮助人们无需编写任何代码即可创建软件、网站和应用程序等。
无代码运动正在蓬勃发展,ChatGPT Code Interpreter 等工具则引领着这股潮流。由于无需编写任何代码即可实现复杂的数据可视化与高级数据分析,ChatGPT Code Interpreter 正切实推动技术大众化、将数据之力交付到每个人手中。
虽然 ChatGPT 的 Code Interpreter 改变了游戏规则,但它也还有一些限制:
  1. Plus 会员要求:目前,这项强大的功能仅适用于专业会员。此付费墙可能会限制无法负担专业会员资格的个人或组织访问,从而排除一部分潜在用户。

  2. 等待时间:注意到代码执行的等待时间相对较长。虽然考虑到正在执行任务的复杂性,这是可以理解的,但在经常需要快速结果的快节奏环境中,这可能是一个问题。

  3. 有限的互联网访问:出于安全原因,Code Interpreter 无法访问互联网。这意味着它无法进行外部 API 调用或实时从网络获取数据,这可能会限制其在某些用例中的功能。

  4. 知识截止:截至目前,ChatGPT 的训练数据仅包含截至 2021 年 9 月的信息。虽然这是最近的事,但这确实意味着该模型可能不知道或无法利用技术的某些进步或变化,如编程语言,或从那时起出现的库。

  5. 复杂错误处理:虽然 ChatGPT 在理解和执行代码方面做得值得称赞,但处理复杂错误或错误可能并不那么简单。对于初学者来说,如果没有集成开发环境 (IDE) 通常提供的详细错误消息,对代码进行故障排除可能会有点困难。

但无论如何,ChatGPT Code Interpreter 仍被认为是编程未来在当前阶段的投射。ChatGPT Code Interpreter 用对话消解了编程过程中的技术元素,有助于推动编程能力的大众化。

参考链接:

https://docs.kanaries.net/articles/chatgpt-code-interpreter

https://indianexpress.com/article/technology/artificial-intelligence/openai-code-interpreter-chatgpt-data-scientist-jobs-8818501/

https://medium.com/@abhijeetvichare76/revolutionizing-data-analysis-with-chatgpts-code-interpreter-30d6e0916fe6