今回はChatGPTの新機能として2023年7月のアップデートで追加された、Advanced Data Analysisの使い方について解説します。
Code InterpreterはAdvanced Data Analysisに改名されました。
Code Interpreterが追加されたことにより、データの解析、コード生成、テストまでが全てChatGPTの内部で完結できるようになりました。
Advanced Data Analysisをアプリ開発やデータ解析に活用してみてください。
また、当ブログ内のChatGPTについての記事を以下のページでまとめていますので、あわせてご覧ください。

ChatGPTとは
ChatGPTは、OpenAIが提供する自然言語生成モデルです。GPT(Generative Pre-training Transformer)と呼ばれるモデルのアーキテクチャを採用しています。
GPTは、Transformerと呼ばれるニューラルネットワークを使用して、文書や言語処理タスクでのテキスト生成を行うモデルです。GPTは、大量のテキストデータを学習し、そのデータをもとに新しい文章を生成することができます。
ChatGPTは、GPTをもとにしたモデルであり、対話型システムやチャットボットなどで使われることを想定して開発されています。対話を続けることができるようになっており、ユーザーが入力するテキストに対して、自然で返答ができるようになっています。
プログラミング不要のOpenAIのサービスとしてChatGPTを利用する方法については、以下の記事で解説しています。

ChatGPTのAdvanced Data Analysisとは
Advanced Data Analysisは、ChatGPTがPythonのコードを読み込み、解釈し、実行するための機能です。この機能を使用すると、実際のPythonのコードを実行し、その結果を取得することができます。
- データ分析やデータ可視化(アップロードしたファイルの解析)
- 数学的な計算や複雑なアルゴリズムの解釈
- プログラミングの問題解決やコーディングの練習
これまでは、ChatGPTを使ってPythonのコードを生成した場合、外部の環境で実行し、動作を確認する必要がありました。しかし、今回のアップデートでは、ChatGPTとのチャット内でコードの実行ができるようになっています。
また、OpenAI日本担当のシェインさんのツイートによると、会話内のユーザーの評価をフィードバックして学習、回答できるようにもなっているようです。

Advanced Data Analysisの設定方法
ここからは実際にAdvanced Data Analysisを使うための設定方法について解説します。
まず、ブラウザでChatGPTの画面を開いたら、画面左下のメールアドレス横の…
ボタンをクリックし、プラス設定&ベータ
をクリックします。

設定
画面が開いたら、ベータ機能
をクリックし、高度なデータ分析
をON
に設定します。

ChatGPTのチャット画面に戻り、言語モデルをGTP-4
を選択します。
メニューが表示されたら、Advanced Data Analysis
を選択します。

以下の赤枠のように、Attach files
(マウスを+
ボタンに重ねると表示)というファイル選択ボタンが表示されたら準備完了です。

ChatGPT上でPythonコードを実行する
Advanced Data Analysisを使用して、ChatGPTとのチャット上でPythonコードを実行してみます。
ChatGPTに入力したプロンプト
以下のように簡単な計算を行うプロンプトを実行しました。
あなたは優秀なプログラマーです。
5の階乗(5!)を計算するPythonコードを作成してください。
作成したコードを実行し、結果を表示してください。
実行結果
チャットにプロンプトを入力して送信すると、以下のような回答が得られました。Hide work
をクリックすると実際にコードの作成と実行が行われて、結果がRESULT
として表示されました。

以前はコード作成はできても、そのコードを外部の環境で実行する必要がありました。しかしAdvanced Data Analysisを使用することでChatGPTのチャット上で実行できるようになったことが確認できました。

ChatGPT上でグラフを描画する
Code Interpreterでデータを可視化するライブラリであるmatplotlibを使ってグラフを描画できるかを確認します。
今回は以下の記事で紹介している折れ線グラフを描画するコードを利用します。

入力したコード
以下のPythonコードをChatGPTに入力して実行してもらいます。
import random
import numpy as np
from matplotlib import pyplot as plt
plotdata = []
sum = 0
#表示するデータを生成
for i in range(100):
sum += random.uniform(0, 10)
plotdata.append(sum)
#折れ線グラフを作成
plt.plot(plotdata)
plt.title('折れ線グラフ', fontname="MS Gothic")
plt.show()
実行結果
こちらが実行結果です。matplotlibを使って折れ線グラフが正しくChatGPTのチャット上に描画されました。


チャットから外部ファイルにアクセスする
Advanced Data Analysisで外部ファイルにアクセスすることが可能になりました。
会話履歴をファイルに保存して長期記憶を実現する
ファイルアクセス機能を利用して、ChatGPTとの会話を毎回ファイルに要約、追加することで、トークン数の上限を超えた長期記憶を実現する方法を、以下の記事で解説しています。

データセットを読み込んでAdvanced Data Analysisで可視化、分析する
ChatGPTのCode Interpreterを使用して、日本の都道府県別の人口データを分析する方法について解説しています。
データの読み込みから前処理、視覚化、さらには洞察の抽出まで、一連の分析手順を詳しく説明していますので、ChatGPTでデータ分析を自動化したい方におすすめです。

まとめ
ChatGPTのCode Interpreter(コードインタプリタ)の使い方について解説しました。
今回紹介したのはCode Interpreterの一部で、SNSでは様々な応用の仕方が公開されていますので、ぜひ試してみてください。
また、以下の記事で効率的にPythonのプログラミングスキルを学べるプログラミングスクールの選び方について解説しています。最近ではほとんどのスクールがオンラインで授業を受けられるようになり、仕事をしながらでも自宅で自分のペースで学習できるようになりました。
スキルアップや副業にぜひ活用してみてください。

スクールではなく、自分でPythonを習得したい方には、いつでもどこでも学べる動画学習プラットフォームのUdemyがおすすめです。
講座単位で購入できるため、スクールに比べ非常に安価(セール時1200円程度~)に学ぶことができます。私も受講しているおすすめの講座を以下の記事でまとめていますので、ぜひ参考にしてみてください。

それでは、また次の記事でお会いしましょう。
コメント