Taste of Tech Topics

Acroquest Technology株式会社のエンジニアが書く技術ブログ

ChatGPT Code Interpreter を利用して、お手軽にデータ分析・可視化

カメラ好き機械学習エンジニアの@yktm31です。

先日、OpenAIから、公式のプラグインとして「Code Interpreter」が発表されました。
「Code Interpreter」は、ChatGPT上でPythonのコードを生成・実行する仕組みを持っています。
これまでも、ChatGPTで、プログラムのソースコードを出力することは可能でしたが、実行まではできませんでした。

「Code Interpreter」は、ChatGPTの有料版で利用することが可能ですが、ユーザーが自然言語で指示や要求を出すだけで、
ChatGPTがその内容を理解し、ソースコードの生成から実行まで行えたり、既存のコードを解釈してその動作を説明したりすることが可能になります。

openai.com

本記事では、この「Code Interpreter」を利用して、CSVファイルを元に、データの可視化を行ってみます。

Code Interpreter の特徴

最初に、簡単にCode Interpreterの特徴をまとめてみます。

  • GPTモデルが、プロンプトに応じたコードを生成し、バックエンドで実際に実行してくれる。
  • グラフや画像を出力することができる。
  • 一定時間有効なファイルシステムが提供され、ファイル入力やデータダウンロードすることができる。
  • これまでもコード生成はできたものの、実行にChatGPTの裏で実行され、その結果をもとに 回答をしてくれる点が、一番の特徴と言えます。

    また、グラフ描画やファイルの入出力が可能になったことで、活用方法がより幅広くなりました。

    データ分析・可視化してみる

    本記事では、デジタル庁が公開している、マイナンバー政策に関するデータを対象に、 データ分析・可視化してみたいと思います。

    www.digital.go.jp

    利用するデータの概要は以下です。

    • マイナンバーカードの登録数や申請数、それらの割合の週次データ
    • 13カラム
    • 約60行 (60週分の週次データ)

    Code Interpreter プラグインを有効化し、ファイルとプロンプトを入力

    まず、GPT-4のモデルを選択し、「Code Interpreterプラグインを有効化します。

    次に、マイナンバー政策のCSVデータをアップロードします。 入力するのは、以下のプロンプトです。

    添付のデータを元に、マイナンバーの週ごとの申請数と、人口に対する交付枚数率をグラフ表示してください。

    ここまでの様子は👇

    出力結果を見てみる

    Code Interpreterは、与えられたデータとプロンプトから、何を実行すればよいか自ら道筋を立て、 コードを生成していくれます。

    まず得られた出力は、「まずはファイルを読み込んで内容を確認しましょう。」という答え。

    pandasでCSVファイルを読み込み、先頭5行分のデータを表示してくれます。 ただ表示するだけでなく、データにどんな情報が含まれているかまで、読み取ってくれます。

    次に、グラフを描画する処理に入ります。

    が、Code Interpreterはデータの形式をみて、グラフ描画にデータ変換が必要だと判断したようです。 そんな変換処理も、自動でやってのけます。

    いよいよグラフ表示です。 matplotlibを利用して、実際にグラフを表示してくれます。

    ※ここまで添付してきたgifは、実際の出力を早送りしています。

    まとめ

    たった1文プロンプトを与えただけで、ここまでやってくれるCode Interpreter、 感動を覚えるすごさでした。

    簡単にデータの傾向を見るのにはもちろん、プロンプト次第でより高度なことも望めそうです。

    今後も、ChatGPTの活用方法や最新情報を発信していきたいと思います! それではまた👋

    Acroquest Technologyでは、キャリア採用を行っています。
    • ディープラーニング等を使った自然言語/画像/音声/動画解析の研究開発
    • Elasticsearch等を使ったデータ収集/分析/可視化
    • マイクロサービス、DevOps、最新のOSSクラウドサービスを利用する開発プロジェクト
    • 書籍・雑誌等の執筆や、社内外での技術の発信・共有によるエンジニアとしての成長
      少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。 www.wantedly.com

    当社ChatGPT関係の記事

    acro-engineer.hatenablog.com

    acro-engineer.hatenablog.com

    acro-engineer.hatenablog.com