マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

ChatGPT探訪

2023.07.19

【ChatGPTプラグイン探訪】「 Code Interpreter 」〜ファイル入出力+Pythonコード自動生成実行〜

【ChatGPTプラグイン探訪】「 Code Interpreter 」〜ファイル入出力+Pythonコード自動生成実行〜

コンテンツ

はじめに

ごあいさつ

日本全国の「熱狂的ChatGPTプラグインファン」のみなさま、
おつかれさまです。

「eBASEBALLパワフルプロ野球2022 →栄冠ナイン」では、
3年生になると引退卒業していってしまい、チーム戦力が大幅ダウンしてしまうという、
高校野球の宿命があるわけですが、
実際の高校野球監督も、
特にスター選手の場合には、
『そこをなんとか、あと1年だけ、留年してもらってもよいですか?』と、
お願いしたい気持ちになっているのであろうなと思う、
マジセミ担当者Aでございます。

今回の作戦

今回は、ChatGPTに革命をもたらすプラグイン「 Code Interpreter 」の様子をうかがってみます。

ご注意点

※本記事は、担当者Aの主観により作成されていますので、なにとぞ、そういうことでよろしくお願いします。

※各プラグインの機能強化が進んでいる場合もありますので、最新情報をご確認ください。

ChatGPTプラグイン「Code Interpreter」まとめ

「Code Interpreter」とは

Pythonコードの自動生成実行機能

「 Code Interpreter 」(コードインタプリタ)とは、
ChatGPT上で「Pythonコードを自動的に生成して実行できる仕組み」を提供するプラグインです。

入力されたプロンプトを解釈して、必要なPythonコードを自動的に生成実行して、結果を提示してくれます。

ファイル入出力機能

「ファイル入出力が可能」である点も、大きな特徴としています。

今まではテキスト入力しかできませんでしたが、
「テキストファイル」「CSVファイル」「画像ファイル」などの入力が可能であるため、
「CSVファイルをアップロード →分析してもらう →グラフ出力してもらう」などの利用方法が可能となります。

ChatGPT提供の「公式プラグイン」

「 Code Interpreter 」は、
他のサードパーティー製プラグインとは異なり、
ChatGPTの機能を拡張する「公式プラグイン」です。

そのため、他のプラグインとは異なり、「オフィシャル特別枠」として扱われています。

主な機能

・Pythonコードの自動生成実行機能
・ファイルアップロード機能 :ZIP圧縮で複数ファイルのアップロードが可能
・データクリーニング機能
・データ分析機能
・グラフ作成機能
・(簡易的)画像編集機能
・(簡易的)動画編集機能
・ファイルダウンロード機能

ユースケース

・データ分析
・グラフ作成
・テキストのクラスタリング
・画像データからカラーパレットを作成
・GIFファイル作成
・小さなコードスニペットをテスト など

使用時の注意点

・利用には「ChatGPT Plus」の有料課金が必要
・「 Code Interpreter 」からインターネットへのアクセスは不可

確認①大量テキストの読み込み

ChatGPT4(デフォルト)の「テキストが多すぎエラー」問題

ChatGPT4(デフォルト)では「大量テキストを入力できない」という問題点があります。

大量テキストの例=ChromebookオフィシャルページのHTML

例えば、以下のページのHTMLは「14万文字」ほどあります。

→google.com →intl →ja_jp →chromebook

ChatGPT4(デフォルト)に入力してみる →テキストが多すぎエラー

『以下のHTMLにエラーがないかチェックしてください。』とお願いしても、
「テキストが多すぎエラー」になってしまいます。

「自分のところのサイトページHTML」をチェックしてもらおうとしても、
できなかったわけであり、
泣く泣くあきらめるしかなかったわけです。

「Code Interpreter」なら読み込めるのか? →読み込めている模様

テキストファイル化

「14万文字HTML」をテキストファイルに入れて、
「 Code Interpreter 」に読み込んでもらって、チェックしてもらいます。

実行結果

ちゃんとPythonコードを作成して、実行してます。

Pythonの「html.parser」モジュールを使用して、HTMLの構文を解析し、エラーがないか確認してくれているようです。

本当に読み込めているのかテスト →しっかり読み込めてました

大量テキスト例としておなじみ=ピーターパンテキスト(約27万文字)

→gutenberg.org →files →「The Project Gutenberg eBook of Peter Pan, by James M. Barrie」

読解テスト作成

読解テスト実施の様子

Pythonコードをグリグリ動かして、回答してくれているようです。

ピーターパン読解問題:問題+正解

■第1問
ピーターパンとウェンディはどのようにしてネバーランドに到着しましたか?
A. ボートで
B. 飛行機で
C. 魔法の粉で飛んで
D. トンネルを通って
※正解 = C

■第2問
ピーターパンはどのようにして自分の影を取り戻しましたか?
A. 影を追いかけて捕まえた
B. ウェンディが縫い付けた
C. フック船長から取り戻した
D. 影が自分から戻ってきた
※正解 = B

■第3問
ピーターパンとウェンディがロンドンに戻ったとき、彼らの親はどのように反応しましたか?
A. 怒っていた
B. 喜んでいた
C. 驚いていた
D. 彼らを認識できなかった
※正解 = B

「Code Interpreter」の回答

■第1問 = C 正解!
■第2問 = B 正解!
■第3問 = 回答不可 残念!

理由を付けて回答してくれているので、
しっかり読み込めていることが分かりましたね。

回答不可の第3問は、日本語と英語の翻訳問題かもしれません。

まとめ

「テキストが多すぎますエラー」を気にせずに、大量テキストを入力できます。

驚きの便利具合であるため、
「大量テキスト入力レボリューション」として認定いたします。

確認②Facebook分析

作戦概要

①マジセミFacebookの「アナリティクスデータ」をアップロードします。
・1ヶ月分
・CSVファイル

②アナリティクス分析をしてもらいます。

→マジセミFacebook

★フォローをお願いします。

プロンプト

■指示
アップロードした「Facebookアナリティクスデータ」について分析してください。

■記事区分
記事区分は、投稿記事の先頭に記述されている【xxxx】で判別できます。
【マジセミ動画】と記述されていれば、その記事区分は「マジセミ動画」です。

■分析方法
「1投稿あたりの平均数」を基準として分析してください。

■出力
・日本語で表示してください。
・分析結果について、グラフィカルに表示してください。

■改善提案
分析結果から「投稿に関する改善点」を提案してください。

■不明点について
不明点があれば、質問してください。

実行結果

まとめ

◯:CSVを放り込むと、それなりの分析をしてくれる
◯:記事区分ごとの「エンゲージメント数グラフ」+「インプレッション数グラフ」を作成してくれた
◯:傾向分析を出してくれた
◯:改善提案を出してくれた
✕:グラフ内の日本語が文字化けしてしまう ※改善に期待

プロンプトテンプレ+CSVデータを入力するだけで、レポートを作ってもらえるのは便利ですね。
文字化けがなければ、定期レポートのベースとして、使えるかもしれません。

Twitterでも同様の分析レポートを作成できるはずです。

確認③グラフで日本語フォントを表示する方法

文字化け問題解決の文献

「 Code Interpreter 」のグラフ出力で、
「日本語フォントを文字化けさせずに表示させる方法」が紹介されていました。

日本語を表示できるのか、やってみましょう。

参考ページ

→KINTO Technologys
 →Tech Blog
 →ChatGPT(GPT-4)のCode Interpreter、日本語フォントでグラフや画像、PDFファイルを出力する方法とTwitterの分析

「Code Interpreter」でサポートされている日本語フォントリスト

プロンプト

■課題
「 Code Interpreter 」でグラフを出力すると、「日本語フォント」が化けてしまいます。

■質問
「 Code Interpreter 」で、サポートされている「日本語フォント」をリストアップしてください。

■抽出条件
・フォントデータ提供元=Google

実行結果

まとめ

日本語に対応している「Noto Sans Japanese」を試してみます。

日本語フォント「Noto Sans Japanese」のダウンロード

「Noto_Sans_JP.zip」(58MBほど)をダウンロードします。

→fonts.google.com →noto →specimen →Noto+Sans+JP

サンプルグラフ 文字化け「解消」版

プロンプト

■指示
サンプル表示のための「折れ線グラフ」を作成してください。

■グラフタイトル
“月別売上グラフ”

■サンプルグラフ
表示サンプル用グラフであるため、売上額の数字は、適当に作成してください。

■出力データ
x軸 = 月
Y軸 = 売上額

■凡例表示
x軸 = “月”
Y軸 = “売上額”

■表示フォント
グラフ内で表示するフォントは、アップロードした「日本語対応フォント」を使用してください。

実行結果

【参考】文字化け「あり」グラフ

デフォルトでは、文字が「白い四角」になってしまいます。

【参考】文字化け「解消」グラフ

なにやら文字が弱々しいですが、
日本語が出ました!

まとめ

日本語対応フォントをアップロードして、
「このフォントを使用してください。」とすれば、
グラフに日本語を表示できることが分かりました。

備考:
①デフォルトで日本語対応フォントを仕込んでおいてもらう
②「 Code Interpreter 」がインターネットにアクセスできるようにしてもらう
などで、根本解決できそうなので、対応のほど、お願いします。>OpenAI

確認④「OpenAI API」代替 スプレッドシートへのデータ追記

「OpenAI API」とは

概要

「OpenAI API」は、開発者が「OpenAIによって開発されたAIモデル」にアクセスして使用できるようにするためのインターフェースサービスです。
「OpenAIのAI」を自社のサービスやアプリケーションに組み込むことができます。

身近な利用方法としては、
スプレッドシートからAPI経由でアクセスすることにより、数百件のレコードに対して、一括してChatGPTに回答を依頼するような使い方ができます。

→openai.com →blog →openai-api

課題

「OpenAI API」は、従量課金サービスであるため、利用量に応じて課金されます。

今回の作戦

「 Code Interpreter 」を利用することで、「OpenAI API」に課金せずに、「OpenAI API」ライクなことができるのか?
について、やってみます。

作戦手順

①スプレッドシートをCSVにします。
②「 Code Interpreter 」にアップロードします。
③「 Code Interpreter 」に答えを登録してもらいます。
④「回答済みCSVファイル」をダウンロードします。
⑤結果を確認します。

サンプルスプレッドシート

プロンプト

■指示
アップロードしたCSVの「問題」に対して、回答してください。

■回答入力項目
①「 Code Interpreter 」の答え
◯or✕を入力してください。

②「 Code Interpreter 」の補足解説
◯✕の根拠となる補足情報を入力してください。

■ダウンロード
回答結果を入力したCSVのダウンロードリンクを出力してください。

実行結果

「カスピ海」と「囲碁サッカー」は回答不可になりました。

「囲碁サッカー」については、把握しておいてほしかったですね。

回答確認

正解 5問
回答不可 2問
でした。

まとめ

CSVファイルを経由させることで、「OpenAI API」ライクな使い方は可能でした。

「 Code Interpreter 」は、(今のところ)ネットにアクセスできないので、
最新情報にアクセスできる「OpenAI API」のほうが使い勝手は良さそうですね。

普遍的な処理であるならば、「 Code Interpreter 」でもいけそうです。
特に、件数が大量にある場合は、より効果的に使えるかもしれません。

確認⑤動作確認までやってくれるコードデバッグ

Pythonサンプルコード「クイックソート」

作:ChatGPT3.5先生

def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    else:
        pivot = arr[0]
        less = [x for x in arr[1:] if x <= pivot]
        greater = [x for x in arr[1:] if x > pivot]
        return quick_sort(less) + [pivot] + quick_sort(greater)

# テスト用のリスト
arr = [6, 3, 9, 1, 5, 2, 8, 7, 4]
sorted_arr = quick_sort(arr)
print(sorted_arr)

「Code Interpreter」で実行 →動作OK

実行されました。

Pythonサンプルコード「クイックソート」(バグ仕込み版)作成

バグ1

if len(arr) <= 1:
  ↓1を0に
if len(arr) <= 0:

バグ2

less = [x for x in arr[1:] if x <= pivot]
  ↓<=を >=に
less = [x for x in arr[1:] if x >= pivot]

バグ3

greater = [x for x in arr[1:] if x > pivot]
  ↓>を<に
greater = [x for x in arr[1:] if x < pivot]

バグ込みコード

"

def quick_sort(arr):
    if len(arr) <= 0:
        return arr
    else:
        pivot = arr[0]
        less = [x for x in arr[1:] if x >= pivot]
        greater = [x for x in arr[1:] if x < pivot]
        return quick_sort(less) + [pivot] + quick_sort(greater)

# テスト用のリスト
arr = [6, 3, 9, 1, 5, 2, 8, 7, 4]
sorted_arr = quick_sort(arr)
print(sorted_arr)

"

「Code Interpreter」にコード修正を依頼

プロンプト

■指示
①以下の「クイックソートを実行するPythonコード」をチェックしてください。
②修正必要部分について説明してください。
③コードを修正してください。
④修正後コードが動作するか検証してください。
⑤修正後コードを出力してください。

■Pythonコード
※※※Pythonサンプルコード「3択クイズ」(バグ仕込み版)※※※

実行結果

見事に、修正してくれました。

まとめ

「ChatGPT4(デフォルト)」でも、コードデバッグしてくれますが、
修正後コードでも動かない場合があります。

しかし、
「 Code Interpreter 」では「コード修正後の動作確認」までやってくれる
というのは便利ですね。

確認⑥スライド資料下書き「桃太郎の犬」作成

PowerPointの下書きを作ってくれるようです。

プロンプト

■指示
パワーポイント資料を作成してください。

■資料概要
・資料タイトル=「桃太郎の犬」
・スライドページ数=5枚

■創作内容
・「桃太郎のお供として活躍した犬」目線の実録ルポ
・「きびだんごの配給が少なすぎやしませんか?」という不満
・「鬼ヶ島の連中って、本当に悪者だったのですか?」という疑念

■ページフォーマット
・ページタイトル
・ページタイトルを補足する箇条書き説明 ※3点ほど

■出力
「作成した資料をまとめたPDFファイル」としてダウンロードできるようにしてください。

実行結果

PDF変換は、うまくいかなかったようです。

完成してしまった下書き資料「桃太郎の犬」

これは、現代を生きる人類への何かしらのアンチテーゼかもしれません。

確認⑦画像エフェクト編集

簡単なエフェクト編集をやってくれるようです。

サンプル画像

モノトーン化

プロンプト

■指示
アップロードした画像ファイルを、モノトーン画像に加工してください。

実行結果

変換画像(モノトーン)

モノトーンのシックな感じになりました。

アリですね。

パステル南国化

プロンプト

■指示
アップロードした画像ファイルを、「南国感あふれるパステルカラーな色彩の画像」に加工してください。

実行結果

「色空間を変換して、南国の雰囲気を出す」
とのことです。

変換画像(パステル南国)

これは、意外とアリじゃないですか?

集中線を追加

プロンプト

■指示
アップロードした画像ファイルについて、画像を加工してください。

■加工方法
画像中央付近に対して、「強めの集中線」を付け加えてください。

実行結果

変換画像(集中線)

「思っていたのとなんか違う」感じになりました。

確認⑧顔検出モザイク加工処理

顔検出

プロンプト

■指示
アップロードした画像ファイルについて、顔部分を検出してください。

■加工方法
顔部分の周りを、黄色の太線で囲ってください。

実行結果

変換画像(顔認識)

イラストでも、顔認識ができるのですね。

顔検出モザイク加工処理

プロンプト

■指示
アップロードした画像ファイルについて、顔部分を検出してください。

■加工方法
顔部分をモザイク加工処理してください。

■ダウンロード
ダウンロードリンクを出力してください。

実行結果

変換画像(顔認識)①

いまいちモザイクが弱めですね。

変換画像(顔認識)②モザイク強め版

バッチリですね。

まとめ

テキストのオーダーだけで、色調変更をやってくれるのは、ありかもですね。

「自動顔認識モザイク加工処理」については、活用できそうな気配を感じています。

確認⑨GIF動画作成

プロンプト

■指示①
サンプル表示のための「折れ線グラフ」を作成してください。

■グラフタイトル
“月別売上グラフ”

■サンプルグラフ
表示サンプル用グラフであるため、売上額の数字は、適当に作成してください。

■出力データ
x軸 = 月
Y軸 = 売上額

■凡例表示
x軸 = “月”
Y軸 = “売上額”

■表示フォント
グラフ内で表示するフォントは、アップロードした「日本語対応フォント」を使用してください。

------------------------------------------------------

■指示②
GIF動画ファイル作成

■GIF動画内容
以下のように表示されるGIF動画を作成してください。
①最初の月の売上グラフ表示
②2つ目の月までの売上グラフ表示
③3つ目の月までの売上グラフ表示 ・・・

■出力
ダウンロードリンクを出力してください。

実行結果

作成されたGIF動画

いろいろやってくれて、
GIF動画を作ってくれました。

オリジナル版

※画像をクリックすると動きます。

調整版

※画像をクリックすると動きます。

まとめ

GIF動画を手動で作るのは、なかなか大変だと思うのですが、
オーダー1発+若干修正で完成できてしまうのは、
便利ですね。

確認⑩QRコード生成

「 Code Interpreter 」は、QRコードを作成できるようです。

プロンプト

■指示
以下のURLのQRコードを作成してください。

■URL
https://majisemi.com/

実行結果

まとめ

Googleレンズで認識して、
マジセミサイトを開けました。

QRコードを、さくっと作れるのは、便利かもですね。

確認⑪「ドラクエのスライム」を描いて

シンプルなイラストを描いてくれるようです。

プロンプト

■指示
Pythonで「ドラクエのスライム」のイラストを描いてください。

実行結果

いろいろ頑張って計算して、
たいへん「情趣溢れた」感じのスライムを描いてくれました。

審査員コメント

まず、スライムブルーを表現しているのはグッドですね。

目元は似ている感じもします。
正面を向いているはずなのに焦点が合っていない、
なおかつ、生命の息吹をまったく感じさせない魅力があります。

ChatGPTプラグイン「Code Interpreter」の担当者A総評ジャッジ

評価スター

★★★★★

即戦力大型新人として採用です。

コメント

テキスト入力機能

テキスト入力機能は、待ちに待ったレボリューションですね。

「作成した長めのHTML」をまるごとチェックしてもらえるようになるのは、
非常にグッドです。

CSV取り込み分析機能

「Googleアナリティクス」「Twitterアナリティクス」「Facebookアナリティクス」など、
CSVデータを放り込めば、グラフとしてまとめてくれます。

マンスリーレポートへの本格導入を検討してみようと思います。

顔検出モザイク加工処理機能

自動でモザイクをかけてくれるのは、使えそうですよね。

気に留めておくとしましょう。

GIF動画作成機能

効果的な資料を作成したい時などに、使えるかもしれません。

参考リンク

→zenn.dev →karaage0703 →ChatGPT Code Interpreterの活用方法を片っ端から試していく

→generativeinfo365.com →GPTimes →ChatGPT公式プラグイン「Code Interpreter」の料金や使い方を徹底解説!データ分析に革命を起こすスゴすぎる活用事例もご紹介!

【ChatGPTプラグイン探訪】記事リストポータル

こちらの記事リストポータルページでは、
他の「ChatGPTプラグイン調査記事」も参照できます。

→【ChatGPTプラグイン探訪】記事リストポータル

【お知らせ】「マジセミ」のご紹介

「マジセミ」では、日々、多くのIT関連セミナーを開催しています。

多くのセミナーの中から「ご自身のスキルやビジネスを強化できるセミナー」を見つけて、ぜひ1度、参加してみてください。

マジセミのイメージロゴ

マジセミ関連プラットフォーム

プラットフォーム 説明 URL
マジセミ マジセミで実施されるさまざまなセミナーの開催情報を確認できます。
「IT関連セミナー」「製造業関連セミナー」など、ご自身のビジネスを強化できるセミナーを検索できます。
→majisemi.com
マジセミサービス 「セミナーを開催したい方」向けの情報を確認できます。
トライアルからの利用が可能です。
→majisemi.com →service
マジセミドライブ 「IT関連コンテンツ」などを紹介しています。 →majisemi.com
→topics
マジセミFacebook 毎日「マジセミ関連情報」や「IT関連ニュース」などを紹介しています。
★フォローお願いします。
→facebook.com
→OSSNews
マジセミTwitter マジセミFacebookと同様に、
毎日「マジセミ関連情報」や「IT関連ニュース」などを紹介しています。
★フォローお願いします。
→twitter.com
→Majisemi_it

※「ご意見」「ご感想」「誤字がありましたよ」「こんな使い方もあるみたいですよ」などありましたら、
マジセミSNS(Facebook or Twitter)まで、お知らせください。

おすすめの記事

【デジタル寺田の3分用語解説】 ガートナーが発表した「2025年の戦略的テクノロジの トップ トレンド 」とは?🌟

デジタル寺田の3分用語解説

2024.12.02

【デジタル寺田の3分用語解説】 ガートナーが発表した「2025年の戦略的テクノロジの トップ トレンド 」とは?🌟

ガートナーが発表した「2025年の戦略的テクノロジー トレンド 」には、自律的意思決定を行う「エージェント型AI」「AIガバナンス・プラットフォーム」「偽情報拡散防止技術」「次世代コンピューティング技術」が含まれます。これらは仕事や生活に深く影響し、企業競争力向上のカギとなると予測されています。

【デジタル寺田の3分用語解説】 「 103万の壁 」(年収の壁)とは?🧱

デジタル寺田の3分用語解説

2024.12.02

【デジタル寺田の3分用語解説】 「 103万の壁 」(年収の壁)とは?🧱

「 103万の壁 」とは、給与収入が年間103万円を超えると、所得税が課税される「年収ライン」を指します。このラインを超えると手取り収入が減少するため、多くの人が働き方を調整します。住民税や扶養控除外れも家計負担に影響します。他にも、厚生年金などの負担が発生する「壁」が存在し、制度の見直しが議論されています。

【デジタル寺田の3分用語解説】 「 OTセキュリティ 」とは?〜ITセキュリティ との違い〜🔑

デジタル寺田の3分用語解説

2024.12.02

【デジタル寺田の3分用語解説】 「 OTセキュリティ 」とは?〜ITセキュリティ との違い〜🔑

「 OTセキュリティ 」は、工場や発電所の産業用制御システムを守るためのセキュリティで、安全性が重視されます。ITシステムとの接続増加により脅威が高まり、「運用停止の難しさ」や「管理部門間の連携不足」が課題です。サイバー攻撃の増加に伴い、対策の強化が急務となっています。