ChatGPT Plusユーザー向けの Code Interpreter で QRコード生成を試す！（Pythonの qrcode パッケージを使用した処理）

## はじめに
ChatGPT Plusユーザー向けの Code Interpreter が使えるようになっていたので、早速 QRコード生成を試してみたというメモ的な記事です。
**※ 記事公開後に、グラフ描画も追加で試してみたので、記事の最後に追記しました**
**※ さらに [PowerPointファイルの生成も試したので、追加の記事を書きました](https://qiita.com/youtoy/items/c9a4ca1bf864ed4ad766)**

## Code Interpreter とは
Code Interpreter に関する公式情報は、以下の 3月に公開された「ChatGPT plugins」に関する記事に掲載されていました。

●ChatGPT plugins
　https://openai.com/blog/chatgpt-plugins#code-interpreter

この時には、アルファ版の公式プラグインの 1つとして、以下のように紹介されていました。「Python での処理を行えて、アップロード・ダウンロードも扱える」という説明が書かれていたりしました。
![Code Interpreterの説明](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/3f796b4d-39c4-607c-b101-1f64450d830c.png)

## Code Interpreter の提供開始について
ChatGPT の Code Interpreter は、7/7（金）の　AM3時時点の公式ツイートで、「来週中に、全ての ChatGPT Plusユーザーが利用できるようになる」と予告されていた機能です。

https://twitter.com/OpenAI/status/1677015057316872192

そして、Twitter を見ていると、7/7 に使えるようになった方が出始めたようでした。自分のアカウントでは、7/7中は利用できない状況だったのですが、7/8 になった後のタイミングで利用できるようになっていたようでした。

### 公式のリリースノート
以下の公式のリリースノートでは、「Code interpreter is now rolling out in beta on web (July 6)」というタイトルの項目が記載されています。

●ChatGPT — Release Notes | OpenAI Help Center
　https://help.openai.com/en/articles/6825453-chatgpt-release-notes

## Code Interpreter で QRコード生成を試す
Code Interpreter を早速試してみます。

アップロードした特定のファイルへの処理も行えるようですが、ファイルアップロードは使わない QRコード生成をやってみます（※ 冒頭で引用した公式ツイートの内容を参考にしてみました）。

### 機能を有効化する
最初に、設定メニューから機能を有効化します。

ChatGPT Plusユーザーの方で、機能が有効化できる状態になっていれば、「Settings」の「Beta features」に「Code interpreter」を有効化するメニューが出てきているはずです。それを ON にします。
![Code interpreter の有効化](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/f5920dc7-ef45-378b-0c6c-da51c257ffd0.png)

そして、モデルの選択で GPT-4 のほうを選んだ際、選択肢の中で「Code Interpreter」が選べるようになっています。
![Code Interpreterが出てきている状態](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/9bcfbb34-befc-22a3-8876-54be008aee25.png)

その「Code Interpreter」を選ぶと、テキスト入力欄の左側に「＋マーク」が出てきています。そのマークにマウスカーソルを合わせると、「Upload file」という吹き出しが表示されます。
![ファイルアップロードメニュー](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/de889f9b-a06e-1f11-5b55-1fd88f10325c.png)

今回は、これは使わず、テキストを入力します。

### QRコード生成を依頼する
QRコード生成を依頼してみます。

プロンプトは `https://chat.openai.com/ の QRコードを作って` という内容を入れてみました。
それに対するレスポンスは以下です。
![QRコード生成依頼に対する返答](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/f107bda4-c361-a7e8-2726-e28da9c5a1c2.png)
そうすると、「Python の qrcode パッケージを使用して QRコードを生成できる」という回答が返ってきてました（合わせて、QRコードをスキャンして確認はできない、というような文言も出ていたりしましたが）。

そして、続けて良いかという質問が来たので「はい」という返答をしたら、QRコードの生成が行われました。
![QRコード生成後](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/2d4a99a1-21cb-9ea1-143c-2f58dec80ce9.png)

試しに、スマホで QRコードをスキャンしてみたら、依頼した URL が QRコード化されていることが確認できました。

## おわりに
Code Interpreter の機能を活かした例という感じではないですが、まずは短時間でサクッと試せそうな QRコード生成を試して、無事に動作確認ができました。

引き続き、Code Interpreter の他の機能を試していこうと思います。

## 【追記】 その後に試してみたこと
### 1）軽く「グラフ描画」を試してみた
上で掲載していた、公式ブログの Code Interpreter の記載で、グラフ描画を依頼しているデモ動画があったので、それも試してみました。
プロンプトは `1/sin(x)のグラフを描画して` で、以下のようなグラフが得られました。
![グラフ描画](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/b1fd6d76-fec6-b9e7-40f0-621777d2dce6.png)

ちなみに、公式の動画はこんな感じでした（プロンプトは「plot function 1/sin(x)」）。
![公式のグラフ描画の例](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/14a3e3bd-0a6d-1086-2ff3-3e806324ae58.png)

### 2）ファイルアップロードを使うものを試そうとしてみた
ファイルアップロードを使うものも少し試してみようかな、と思ってやってみようとしたら、リクエストが多すぎる状況らしくエラーが出てしまいました...
![エラー](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/20129d42-b92a-f1df-ec60-6aa3d43d5094.png)

少し待ってみてから、また試してみようと思います。