ChatGPT 代码解释器:OpenAI 提供了多少 CPU

GPT4 代码解释器:资源限制详解 的文章中,我们实验拿到了 ChatGPT 的 Code Interpreter 提供了16个 X86_64 类型的 CPU 核。但是在验证有没有限制 CPU 进程数的时候遇到了问题,没法正确估算出这里可以用的 CPU 核。本篇文章将尝试回答下面的问题:

  1. 为什么之前的代码没法拿到 CPU 核数;
  2. 如何拿到 ChatGPT 的 CPU 核数限制;

当然本文还是基于下面的思路来验证可用的 CPU 核数:

定义一个比较耗 CPU 时间的计算函数, 串行执行 N 次记录总时间 m1, 然后每个核起一个进程并行运行 N 次,计算总时间 m2,那么总的核数大约是 core = m1/m2。

CPU 核数判定

阅读全文

ChatGPT 代码解释器:自然语言处理图片

GPT4 代码解释器:数据分析与可视化 我们看到了 Code Interpreter 在数据处理方面的强大能力。按照官方的说法,这里在图片处理场景也是很有用的,这篇文章一起来探索下。

那么 ChatGPT 到底支持对图片进行一些什么操作呢?那就要看 OpenAI 在代码执行环境中预装了哪些图片处理的 Python 库。在 GPT4 代码解释器:资源限制详解 里我们已经知道如何打印执行环境的 Python 库,只需要从里面找出处理图像的库,主要有以下库:

  • opencv-python: 它是一个用于处理图像的库,能进行图像处理和计算机视觉方面的很多操作。
  • Pillow: 这是一个 Python 的图像处理库,提供了广泛的文件格式支持,以及强大的图像处理能力。
  • imageio: 它是一个提供读写各种图像数据的库,包括动画和多维科学数据等。
  • scikit-image: 这是一个用于图像处理的 Python 库,它包括图像分割、几何变换、颜色空间操作等。
  • matplotlib: 这是一个用于绘制图形的库,可以用来生成各种静态、动态、交互式的图表。

因此,ChatGPT 处理图片的能力受限于这些库。下面我们通过实例来看看如何使用自然语言生成各种代码来处理图片。

阅读全文

ChatGPT 代码解释器:数据分析与可视化

OpenAI 在 2023 年 3 月份的博客 ChatGPT plugins 中介绍了插件功能,当时就提到了两个十分重要,并且 OpenAI 自己托管的插件 web browsercode interpreter,关于代码解释器(code interpreter),原文是这样说的:

We provide our models with a working Python interpreter in a sandboxed, firewalled execution environment, along with some ephemeral disk space. Code run by our interpreter plugin is evaluated in a persistent session that is alive for the duration of a chat conversation (with an upper-bound timeout) and subsequent calls can build on top of each other. We support uploading files to the current conversation workspace and downloading the results of your work.

也就是说,我们可以上传文件,用自然语言去描述具体的需求,然后由 ChatGPT 自行编写 Python 代码,并且在沙箱环境中执行,还可以下载结果文件。官方列出了几个比较好的使用场景:

  • 解决定量和定性的数学问题
  • 进行数据分析和可视化
  • 转换文件的格式

从 2023.7.6 号起,OpenAI 开始逐步给 Plus 用户灰度代码解释器(code interpreter)功能,具体可以看 ChatGPT — Release Notes,可以在官方论坛中看到有关代码解释器的一些帖子。
代码解释器带来的最引人注目的功能之一就是数据可视化。代码解释器使 GPT-4 能够生成广泛的数据可视化,包括 3D 曲面图、散点图、径向条形图和树形图等。

接下来本篇文章给大家展示如何用代码解释器来做一些数据分析和可视化的工作,以及代码解释器目前的一些缺陷

阅读全文