「ChatGPT Code Interpreterの活用方法を知りたい…」「ChatGPTでPythonの実行できるの?」そう思う方も多いのではないでしょうか。
実は、ChatGPT Code Interpreterを使用することで、簡単かつ迅速にグラフを作成することが可能です。
今回PROMPTYでは、ChatGPT Code Interpreterを用いたグラフ作成の実例をまとめてご紹介します。
Code Interpreterの概要について知りたい方は、こちらの記事をご覧ください。
ChatGPTのCode Interpreterというコード実行プラグインがChatGPT Plus会員(有料会員)にリリースされたことが分かりました。 これにより、ChatGPTを使用している間、データ解析やグラフ生成といった機能[…]
はじめに
こちらのCode Interpreterでは質問文で指定した処理内容をPythonで実行します。
Pythonのバージョンは、3.8.10を使用しています。少し古いバージョンですが、ChatGPTの学習データが2021年までであることを踏まえると、妥当なバージョンです。
ChatGPT Code Interpreterでは、numpy, scipy, pandas, matplotlib, seaborn, sklearn, statsmodels, math, datetime, collectionsなど主要な標準ライブラリを揃えています。
セキュリティや安全性の観点から、現在の実行環境では、OpenAIによって使用できるライブラリが制限されています。
実際にChat GPT Code InterpreterでPythonコードを実行する
① 演算とグラフの作成するコードを実行する
Chat GPT Code Interpreterにpyファイルを読みこんで実行します。今回は二次関数のグラフの描画と積分の計算を行います。
プロンプト:
こちらのPythonコードを実行します。
import numpy as np
import matplotlib.pyplot as plt
from scipy import integrate
# 関数の定義
def f(x):
return x**2
# xの範囲
x = np.linspace(1, 5, 1000)
# yの計算
y = f(x)
# グラフの描画
plt.plot(x, y, label='y=x^2')
plt.fill_between(x, y, color='skyblue', alpha=0.5) # 面積を塗りつぶす
plt.legend()
plt.show()
# 面積(数値積分)の計算
area, error = integrate.quad(f, 1, 5)
print(f"The area is: {area}")
GPT-4の出力(Code Interpreter):
このように、読み込んだPythonコードの処理内容を解説しながら、コードを実行してくれます。
グラフや積分値も問題なく出力されました。
② 素数を判定するコードを実行する
指定した数字が素数であるかを判定するコード読み込んで実行します.
プロンプト:
こちらのPythonコードを実行します。
def is_prime(n):
if n <= 1:
return False
elif n <= 3:
return True
elif n % 2 == 0 or n % 3 == 0:
return False
i = 5
while i * i <= n:
if n % i == 0 or n % (i + 2) == 0:
return False
i += 6
return True
num = int(input("Enter a number: "))
if is_prime(num):
print(num, "is a prime number.")
else:
print(num, "is not a prime number.")
GPT-4の出力(Code Interpreter):
Code Interpreterで利用できるようにコードを修正してから、素数の判定を実行してくれました。
③ 画像の輪郭を検出するコードを実行する
アップロードした画像から物体のエッジ(境界)を検出し、その輪郭をプロットするコードを実行します。具体的には、画像内の急激な輝度の変化をエッジとみなすCanny法と呼ばれる手法を用いてエッジ(境界)を検出します。
プロンプト:
アップロード画像に対して、以下の処理を実行してください。
from skimage import io, filters, measure
from skimage.color import rgb2gray
from skimage.feature import canny
from skimage.segmentation import clear_border
from skimage.measure import label, regionprops
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
# 画像を読み込む
image = io.imread('your_image_path')
# グレースケールに変換する
gray_image = rgb2gray(image)
# エッジ検出(Canny法)を行う
edges = canny(gray_image)
# 輪郭を検出する
contours = measure.find_contours(edges, 0.8)
# 元の画像に輪郭を描画する
fig, ax = plt.subplots()
ax.imshow(edges, cmap=plt.cm.gray)
for contour in contours:
ax.plot(contour[:, 1], contour[:, 0], linewidth=2)
plt.show()
アップロードした画像:
GPT-4の出力(Code Interpreter):
問題なくコードを実行し、画像内の物体(文字の)輪郭を検出してプロットしています。
まとめ
今回PROMPTYでは、ChatGPTのCode InterpreterでいくつかのPythonコードを実行しました。このCode Interpreterを活用することで、Pythonコードの実行を簡単に行うことができます。
今回の例を参考に、皆さまもChatGPTのCode Interpreterを使ったPythonコードの実行をしてみてはいかがでしょうか。