【Python】VSCodeでChatGPTを使う

7 min

こんにちは。ナミレリです。みなさん、MacでPythonは使っていますか?

話題のChatGPTをVSCodeの拡張機能で使うととてつもなく便利だという噂を聞き、Pythonのコードで実際に試してみましたので紹介します。

Pythonでコードを書いている際にVSCode拡張機能のChatGPTを使うと何が便利なのか、インストール方法や設定方法と共に詳しくみていきたいと思います。

この記事はこんな人にオススメ

  • 話題のChatGPTをVSCodeで試してみたい
  • ChatGPTをとりあえず使ってみたい
  • 試しにコードを書いてもらいたい
  • 試しにコードをテストしてもらいたい
  • コードのbugを見つけてもらいたい
  • コードのコメントを追加してもらいたい
この記事のMac環境
  • M2 MacBook Air 13.6 インチMacBook Pro 14インチ M1Max
  • macOS Ventura 13.2
  • VSCode 1.74.3
  • ChatGPT v3.4.3
ChatGPT APIを使う

ついに3月1日(米国時間)に、OpenAIから「ChatGPT」のAPIがリリースされました。APIを通じて「ChatGPT」(gpt-3.5-turbo)にPythonでアクセスする方法を紹介しています。

はじめに

ChatGPTは人工知能の技術が進化した結果生まれた、驚くべきターミナルのような存在です。

ユーザーがテキストメッセージを入力するだけで、瞬時に質問に対しての説明や意見を提供することができます。

ChatGPTは、膨大な文書データを学習し、人間のような自然な文章生成を可能にします。このため、ユーザーは自分自身の知識や思考を表現するのと同じように、ChatGPTとコミュニケーションをすることができます。

さらに、ChatGPTは他のタスクにも利用することができます。例えば、FAQシステムのように特定のトピックに関連した質問に対して回答することができます。また、文章の要約や翻訳タスクにも利用することができます。

このような多彩な機能を持つChatGPTは、将来的に人工知能が更に進化することで、さらなる活用が期待されています。興味を持っている方は、ChatGPTを使ってみてください。

あなたのコミュニケーションスタイルが変わるかもしれません。

そもそもChat GPTとは?

せっかくなので、ChatGTPとは?をChat GPTに聞いてみました。ちなみに上の導入文章もChatGPTに書いてもらいました。

Q

ChatGPTとはなんですか?

ChatGPTの回答

A

ChatGPTは、OpenAIが開発した言語モデルです。このモデルは、大量のテキストデータを学習し、人工知能による文書生成、翻訳、サマリー生成などのタスクを行うことができます。また、質問応答などのタスクでも使用されています。

https://openai.com/blog/chatgpt/

Q

もう少し詳しく教えてください。

ChatGPTの回答

A

ChatGPTは、Transformerと呼ばれる深層学習アルゴリズムを使用しています。このアルゴリズムは、言語理解タスクに特化して設計されており、大量のテキストデータを学習して、人工知能モデルが人間のような文章生成や回答作成などのタスクを行うことができるようになります。

ChatGPTはAPIを提供することで、開発者が自分のアプリケーションやサービスに統合することができます。このモデルは、非常に高い精度を持つため、言語処理タスクで幅広く使われています。

また、OpenAIは連続的に改善を行っており、より大規模なデータセットを学習することで、より高い精度を実現しています。

https://openai.com/blog/chatgpt/

Q

例えばどういったことに利用できますか?

ChatGPTの回答

A

ChatGPTは多様なタスクに使用されます。例えば以下のようなものです:

  1. 自然言語生成: 新しい文書を生成するために使用されます。
  2. 質問応答: ユーザーの質問に対する回答を生成するために使用されます。
  3. チャットボット: ユーザーとのコミュニケーションを支援するために使用されます。
  4. 翻訳: 言語を翻訳するために使用されます。
  5. サマリー生成: 長い文書を短い要約にするために使用されます。
  6. 意味解析: 文章の意味を理解するために使用されます。

これらは一部の例であり、ChatGPTはさらに多くのタスクに使用される可能性があります。

https://openai.com/blog/chatgpt/

ChatGPTの利用料金について

最初の3ヶ月間に使用できる18ドルの無料クレジットが付与されます。アカウント作成時から3ヶ月間は18ドル分は無料で使えるということですね。詳細は下記の公式サイト(こちら)で確認してください。

従量課金について

3ヶ月18ドル分無料以降は、OpenAI APIの利用料金は従量課金制です。Language modelsの場合は性能別に4つのAIモデルがあり1,000トークン毎に$0.0004〜$0.0200のようです。詳細は上記の公式サイト(こちら)で確認してください。

注意点として、マルチバイト文字の日本語は使用されるトークン量も英語の2倍以上になりますので1,000トークンで約500〜700文字程度と考えておくと良いと思います。

課金状況の確認

課金状況の確認はhttps://platform.openai.com/へログインし、右上のPersonalからManage accountをクリックし、Free trial usage欄を確認してください。

サブスクリプションサービス

2月1日に「ChatGPT Plus」という月額20ドルのサブスクリプションの発表がありました。2月1日時点でのサービス展開はアメリカのみで、今後より多くの地域にサービスを拡大するようです。現在の無料版も継続されるようで安心しました。

「ChatGPT Plus」のメリット
  • 負荷ピーク時でも、ChatGPTへアクセスできる
  • より速い応答時間が提供される
  • 新機能や改善を優先的に試すことができる

ChatGPTのインストール

それではVSCode拡張機能のChatGPTをインストールします。VSCode拡張機能のChatGPTは以下の特徴があります。

VSCode拡張機能のChatGPTの特徴
  • ブラウザでOpenAI にログインするだけで使える
  • OpenAIの公式GPT3 APIを利用できる
  • Chat履歴をMarkdown形式でエクスポートできる

サイドメニューの拡張機能をクリックし、検索ボックスで「chatgpt」を検索します。今回は一番上の検索結果に表示されるChatGPT v.3.4.3をインストールします。

VSCode拡張機能のChatGPTをインストール
VSCode拡張機能のChatGPTをインストール

ChatGPTの設定

ChatGPTの接続を安定して利用するためにGPT3 APIキーの設定や日本語で会話できるように日本語化の設定をします。

ChatGPTへのログイン

サイドバーのChatGPTアイコンをクリックし、表示されたウィンドウの「Log in」をクリックします。

ChatGPTへのログイン
ChatGPTへのログイン

新しいブラウザ(デフォルトはChrome)が立ち上がりOpenAIのサイトにアクセスしますのでログインします。ログインするとブラウザは最小化されます。

立ち上がったブラウザでChatGPTへのログイン
立ち上がったブラウザでChatGPTへのログイン

無事ログインすると、ブラウザは最小化されます。

ChatGPTへの接続を確認してみる

では接続を確認してみます。サイドバーのChatGPTアイコンをクリックし、日本語で何か聞いてみてください。日本語で回答が表示されることと思います。

GPT3 APIキーの設定

GPT3 APIキーを設定しAPIを利用する方が、負荷による接続エラー等が減って接続が安定しますのでAPIキーの設定をしていきます。

下のようにChatGPTの「拡張機能の設定」を選択します。

ChatGPTの「拡張機能の設定」を選択

Gpt3 Api Keyの項目で取得したAPIキーをコピペします。

APIキーはここから取得します。https://platform.openai.com/account/api-keys

Gpt3 Api Keyの項目で取得したAPIキーをコピペ
Gpt3 Api Keyの項目で取得したAPIキーをコピペ

次に、Chatgpt: Methodの項目でブルダウンから「GPT3 OpenAI API Key」を選択します。

「GPT3 OpenAI API Key」を選択
「GPT3 OpenAI API Key」を選択

これでGPT3 APIキーでChatGPTを利用できるようになりました。続いてChatGPTから日本語で回答してもらうように設定します。

日本語化の設定

続いてChatGPTから日本語で回答してもらうように設定します(デフォルトは英語です)。先程のChatGPTの「拡張機能の設定」から設定します。

下のようにプロンプトを日本語にするとChatGPTの回答も日本語になります。

何故か時々英語での回答があったため、「日本語でお願いします。」等を付けてます。

@ext:gencay.vscode-chatgpt

ChatGPTのプロンプトを日本語にする
ChatGPTのプロンプトを日本語にする

何故か時々英語での回答があったため、「日本語でお願いします。」等を付けてます。

英語プロンプトプロンプトを日本語に設定
Add Commentsこのコードに日本語のコメントを追加してください
Add Testsこのコードのテストを実装してください。日本語でお願いします。
Complete Codeこのコードを完成させてください。
Explainこのコードを日本語で説明をしてください。
Find Problemsこのコードのバグを見つけてください。日本語でお願いします。
Optimizeこのコードを最適化してください。日本語でお願いします。

上の設定でもわかるとおり、VSCode拡張機能のChatGPTは上の5つの機能があります。コメントを追加してくれる、テストしてくれる、説明してくれる、バグを見つけてくれる、最適化してくれる。って凄すぎますね。

では次にこれら5つの機能を試していきます。

Udemyの人工知能と機械学習講座

みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習 【2023年最新版】

講座買い切り型で、視聴期限なし。自分のペースで学べる。

現場で活躍されているプロが教えるコースを選べます。

VSCodeのChatGPTを使ってみる

使い方は簡単です。サイドバーのChatGPTアイコンをクリックし、コードを選択して右クリックすると、ChatGPTのコマンドが追加されています。

VSCodeのChatGPTの使い方

サイドバーのChatGPTアイコンをクリックし、コードを選択して右クリックする
サイドバーのChatGPTアイコンをクリックし、コードを選択して右クリックする

下のように右クリックメニューにChatGPTのコマンドが追加されています。

右クリックメニュー

使ってみるPythonコードについて

今回は下の記事でベンチマークを紹介した際に使った、40番目のフィボナッチ数列を再帰処理で求めるPythonコードで、ChatGPTにアドバイスをもらってみましょう。


import timeit

def fibonacci(n):
    if n == 0 or n == 1:
        return n
    else:
        return fibonacci(n - 2) + fibonacci(n - 1)

n = 40
loop = 3

result = timeit.timeit('fibonacci(n)', globals=globals(), number=loop)
print(format(result / loop, '.3f'))

40番目のフィボナッチ数列を再帰処理で求めます。3回繰り返し、処理が終わったら平均を秒で出力するコードです。

では5つの機能を試していきます。

コードのコメントを追加してもらう(ChatGPT:Add comments)

ChatGPT:Add commentsは、コードにコメントを追加してくれます。

時々、コメント追加というより説明をしてくれる?時もあります。

右クリックメニューからChatGPT:Add commentsを選択します。下のようにコード内にコメントを追加してくれます。結果をコピーできますし、コード側にインサートできます。

コード内にコメントを追加してくれる
コード内にコメントを追加してくれる

コードのテストを実装してもらう(ChatGPT:Add tests)

ChatGPT:Add testsは、テストコードを書いてくれます。

右クリックメニューからChatGPT:Add testsを選択します。

テストコードを実装してくれる
テストコードを実装してくれる

テストコードを実行すると下のようになりました。


Ran 1 test in 21.755s

OK

コードの説明をしてもらう(ChatGPT:Explain)

ChatGPT:Explainは、どんなコードなのか説明してくれます。

右クリックメニューからChatGPT:Explainを選択します。

コードを説明してくれる
コードを説明してくれる

ちなみに、もう少し詳しいが欲しい際は右クリックメニューからChatGPT:Ad-hoc promtoを選択し、「もう少し詳しく説明してください」と入力します。

コードを詳しく説明してくれる
コードを詳しく説明してくれる

コードのバグを見つけてもらう(ChatGPT:Find bugs)

ChatGPT:Find bugsは、コード内のバグを発見してくれます。

右クリックメニューからChatGPT:Find bugsを選択します。

n = -40として意図的にバグを仕込んでやってみます。

コード内のバグを発見してくれます
コード内のバグを発見してくれます

loop = -3として(バグを仕込んで)やってみます。

コード内のバグを発見してくれます
コード内のバグを発見してくれます

コードを最適化してください(ChatGPT:Optimize)

ChatGPT:Optimizeは、コードを最適化してくれます。

右クリックメニューからChatGPT:Optimizeを選択します。

ゼロからコードを書いてもらう

これまでのように既存のコードに対することではなく、ゼロからコードを書いてもらうようChatGPTにお願いしてみました。

質問:フィボナッチ数列を出力するプログラムを書いてください

質問:このコードの実行時間を計りたい

参考サイト

こちらのサイトを参考にさせていただき大変勉強になりました。ありがとうございます。

Udemyの人工知能と機械学習講座

みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習 【2023年最新版】

講座買い切り型で、視聴期限なし。自分のペースで学べる。

現場で活躍されているプロが教えるコースを選べます。

Udemyの人工知能と深層学習の講座

ディープラーニング : Pythonでゼロから構築し学ぶ人工知能(AI)と深層学習の原理

講座買い切り型で、視聴期限なし。自分のペースで学べる。

現場で活躍されているプロが教えるコースを選べます。

最後に

最後まで読んでいただきありがとうございます。今回の【Python】VSCodeでChatGPTを使うはいかがでしたでしょうか。

明らかに間違った回答や微妙な回答もまだまだありますが、とにかく可能性は凄いですね。AIの急速な発展と普及を実感しました。ChatGPTやStable DiffusionのようなジェネレーティブAIがますます発展しそれを扱うことのできるプロンプトエンジニアが活躍する時代はもうすぐだと思います。

ChatGPT APIをPythonからアクセスする方法を紹介しています。ぜひご覧ください。

LinuxのターミナルでChatGPTを使う方法も紹介していますのでぜひご覧ください。

使ってほしい至極のキーボード

最高の打鍵感。スコスコと静かに速く、そして気持ち良くタイピングができます。もうタイピングが楽しくてどうしようもなくなります。つや消しの高級感もたまりません。サラサラしていて触り心地も最高です。

PFU キーボード HHKB Professional HYBRID Type-S 日本語配列/雪(無刻印)

定番おすすめ記事

カテゴリー:
関連記事