ChatGPT Code Interpreterできること

created by en-japan Yue.Pu

Code Interpreter（コードインタープリター）とは、ChatGPTが提供する公式プラグインの一つで、このプラグインを利用することで、ChatGPT上でPythonを使ったコードの実行や、ファイルのアップロード・ダウンロードができるようになります

# まず使い方
<font color="red">現時点では課金アカウントしか使えません。</font>

1. ChatGPTにログインし、左下の3点→「Settings」をクリックします。
2. 「Beta features」をクリックし、「Code interpreter」の右にあるトグルボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/c653cf60-47a1-c296-a5d0-6089d6c33fad.png)
3. TOP画面に戻り、[New chat]をクリックし、「GPT-4」をクリックし「Code Interpreter」をクリックします。
4. ChatGPTのアイコンが紫色になっていれば設定完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/23b03e4e-396a-cd16-fca9-195b4c063523.png)
5. 入力画面の左端にある「＋」マークを押すと、ファイルなどを添付できます。
    * 添付ファイルはcsv、PDF、zip、jpg/png、動画などです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/e19987f5-650a-3888-eb1f-02af9029a7ba.png)

# できること
## ファイル・文字処理
サンプル論文は[nature machine intelligence](https://www.nature.com/articles/s42256-023-00652-2?utm_source=xmol&utm_medium=affiliate&utm_content=meta&utm_campaign=DDCN_1_GL01_metadata)です。
* 論文PDFをアップロードし、内容をまとめてもらいます。
    * <font color="red">現時点ではOCR機能を使えないので、画像ベースのPDFを読めません。</font>
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/e40aad96-042c-f833-32c2-145fb0d49dcd.png)
* Word Cloudの生成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/7c0a712e-83e5-b1bc-8a3e-685506b40913.png)
    * [Show work]を押せば、実行したソースコードが見られます。ソースコードはAIが作成したものです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/c37ccd30-6889-390a-b006-da62739139ca.png)
* さらに細かい要求を指示できます。例えば、文字色を変えてみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/c73f6628-742f-2e1a-5446-26d3e71e2fd2.png)
* zipファイルの処理
    * <font color="red">zipファイルの作成やunzipなどの操作ができます。それを使って、一度に複数のファイルをアップロード・ダウンロードできます。</font>
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/30859b95-0f0a-c0ed-8408-23f24e3e637e.png)
##### 感想
長い文章や論文の内容を要約して、読者が選択する時間と読む時間を節約できるようです。

## 画像処理
* 自然言語で指示
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/1e26c409-57c6-33cf-9555-a047b3e732c1.png)
    * unzipと画像処理という2つの作業を分けて、順番に実行したようです。
    * 漢字のファイル名がまだ正しく表示できません。（漢字フォントファイルが必要ようです。）
    * 最初のzipファイルは```zip -r file.zip file1.txt file2.txt```のようなコマンドで生成する方が良いです。MacOSのzip機能は変なファイルを巻き込むようですから。
    * 処理後の1枚画像：
![combined_image.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/4b58f85f-4e56-1d24-4d79-8ecbd059d2cf.jpeg)
* 更に細かい処理を指示
    * 自動的に足りない情報を質問するようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/1125a047-e4af-fd2e-ae29-188152b9240e.png)
    * フォントファイルを提供し、色とサイズを指定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/ee7d6bb8-d773-9d5a-650d-1a59b55d9a37.png)
    * 成果物：
![combined_image_with_text.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/853e8cf4-6add-ee46-00b3-94ca86808ca3.jpeg)
    * AIが生成したソースコードが完全ではなかったので、順調とはいきませんでした。例えば：
        * AIは処理に必要なpythonライブラリを導入し忘れていたので、以下のようなエラーが発生しました。
        * 対話が長すぎて、その前に生成したファイルが失われました。
    * 問題の原因を指摘すれば、AIが自身で改修できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/bd16a3f5-b184-47b7-c512-5e52d1fe2e5d.png)

##### 感想
上記の実行では、自然言語で画像処理、文字を画像化することを試しました。
現時点では、AI自己デバッグがまだ弱いようです。ソースコードの確認が必要です。

## QRコード
* 文字列からQRコードを作り
    * <font color="red">現時点では日本語の場合は特定のpythonライブラリを使うことができないようです。なので、ここからは英語で指示します。</font>

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/9265ecc3-2bb5-e349-8946-e0a4a9425959.png" width=40%>

* 改善方法を質問
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/65817cad-ebda-776e-543f-f8a5a8eed357.png)
    * 改善
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/9637bcf4-8533-ee4a-b452-be5ec9a33a58.png)
    * 成果物(残念)
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/624316b9-0371-99ff-35af-a01dc809a8fb.png" width=30%>

* ロゴが大きすぎる問題の解決
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/99e1f835-0dfc-9f81-01a4-88ecd4cf1c51.png" width=70%>

## gif生成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/7f6945df-8275-0565-1070-cf7cc4873b97.png)
* 成果物：
![animated_image_4_resized.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/86a1a22c-5b3f-cb26-1d8f-beaf7d22dd14.gif)

## 動画処理
*  パノラマ画像から動画生成
    *  <font color="red">できるだけ詳しく説明するべきです（利用者の高い言語化能力が必要）。</font>
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/84185dab-209a-d789-0c12-0bc926134bb8.png" width=70%>

* AIから作業内容の説明
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/ce5887f7-0bf6-f86f-75e8-b172b58c858c.png" width=70%>

* 成果物
    * (記事を作るためにgifに変換しました。)
![resized_pano_video.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/4cf01060-0f9c-9362-2bce-52cccf7b8373.gif)

* 動画に字幕を追加してみたが。。。
    * 現時点ではpython環境では実現できない内容のソースコードが提供されます。それをローカル環境で実行できます。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/0153a755-1afc-b5a9-98bf-5269508b6485.png" width=70%>

## データ分析
サンプルデータは[IBM Supply Chain Intelligence Suite](https://www.ibm.com/docs/ja/scis?topic=data-sample-csv-file)を使います。
* まず、生データのデータクレンジング
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/cc31ba16-07f0-8ff5-cad4-8fbc4b16bc2d.png)
    * AI自身で判断し、作業をできます。
    * 従来、人間で作業すると、データクレンジングだけでも結構手間がかかります。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/3af6d937-39c4-b75c-99aa-da0933c1a858.png" width=70%>

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/aaba3a7b-ff9e-ffcc-4d71-ea644b188a64.png" width=70%>

* 特に確認したい内容がなかったので、データの特徴を可視化してもらいました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/b1b19880-beee-33e3-73b0-e6dac4597da6.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/1598b064-8b8e-c7f5-763c-a5c4b0a5d6fb.png)
* ベンダーの貢献度より、会社の経営戦略を変えられるかもしれません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/3c4bc6bc-82f3-28b4-fd19-845840b986f1.png)
* 直接にビジネス提案を求めます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3456096/7e8ec4de-6366-53f4-4a58-1fbf24f9662c.png)
#### コメント
これからAIは会社戦略、経営提案、問題発見などの分野で役に立つようになります。

# 全体的の感想
* 目標を説明すると、AIは自分で方法を決めて、解決するツールです。
* 英語を使ったほうがいいです。日本語の場合は実行されないかもしれません。
    * python環境では、漢字フォントファイルがないので、文字化けしやすいです。フォントファイルをアップロードすることで解決できます。
* AIはうまく人間の意味を理解できないので、ユーザーの高い文字表現能力を求めます。
    * それても成果物の人工確認が必要です。
* 現時点では、AIのデバッグ能力が弱いので、利用者からの指摘が必要です。
    * 長く相談すると、環境がリセットされます。ここまでの内容が忘れられます。
* python環境には色々な制限があり、もし実行できない場合は、ソースコードが提供されます。ローカルの環境を用意する必要があります。
    * 大きなファイルの処理はまだできません。タイムアウトになりますので。
* まだbeta版ので、未来のバージョンでは上記問題が解決されられると思います。