ChatGPTとPythonを使ってVS Codeでコーディングアシストを自動化する
ChatGPTとPythonの力を活用して、VS Code用のカスタマイズされたコーディングアシスタントを構築しましょう。ソリューションを自動化し、質問に答え、IDE内で生産性を高めましょう。
2025年2月22日

ChatGPTとPythonの力を解き放ち、独自のコーディングアシスタントを構築しましょう。このブログ記事では、質問に答え、開発環境内で洞察を提供する多目的なツールを作成する方法をご紹介します。生産性と問題解決能力を向上させることができます。
ChatGPTとPythonでコーディングアシスタントを自作する方法
環境設定と必要なライブラリのインポート
チャット履歴の初期化
ユーザー入力の収集とメッセージの構築
ChatGPT APIとの対話と応答の取得
アシスタントの応答の表示とチャット履歴の更新
まとめ
ChatGPTとPythonでコーディングアシスタントを自作する方法
ChatGPTとPythonでコーディングアシスタントを自作する方法
ChatGPT APIとPythonを使ってあなた自身のコーディングアシスタントを構築するには、以下の手順に従ってください:
- APIキーを環境変数として設定します。
- OpenAIライブラリをインストールし、コードの先頭でインポートします。
- メッセージの履歴を表すブランクのリストを作成します。各メッセージは、「role」と「content」の2つの属性を持つ辞書です。
- チャット履歴にシステムメッセージを追加し、アシスタントに静かな指示を与えます。
- ユーザーからの新しいメッセージを
input()
で収集するループを設定します。 - ユーザーの入力を含む新しいメッセージ辞書を作成し、チャット履歴に追加します。
- モデル(「GPT-3.5-turbo」)とチャット履歴を渡して、OpenAI APIのチャット完了エンドポイントに呼び出しを行います。
- API応答からアシスタントの返信の内容を抽出し、変数に格納します。
- アシスタントの返信を表示し、先頭と末尾に数行の空行を追加します。
- アシスタントの返信を含む新しいメッセージ辞書を作成し、チャット履歴に追加します。
- プロセスを繰り返し、ユーザーがコーディングアシスタントと対話し続けられるようにします。
このセットアップにより、VS Codeの中で直接コードに関する回答やインサイトを得られる、シンプルながら強力なコーディングアシスタントを実行できます。
環境設定と必要なライブラリのインポート
環境設定と必要なライブラリのインポート
環境を設定し、必要なライブラリをインポートするには、以下の手順に従ってください:
-
OpenAI APIキーを環境変数として設定します。これにより、APIキーがコードに露出せずに安全に保管されます。
-
pipを使って
openai
ライブラリをインストールします:pip install openai
-
コードの先頭で
openai
ライブラリをインポートします:import openai
これらの手順により、ChatGPT APIとの連携に必要な環境設定とライブラリのインポートが完了しました。
チャット履歴の初期化
チャット履歴の初期化
チャット履歴を初期化するために、まず`messages`という名称のブランクのリストを作成します。このリストにユーザーとAIアシスタントの会話履歴を格納します。
チャット履歴の各メッセージは、「role」と「content」の2つのキーを持つ辞書で表されます。「role」キーはメッセージの発信元を示し、「system」または「user」のいずれかになります。「content」キーにはメッセージの本文が格納されます。
まず、`messages`リストに「system」メッセージを追加します。このメッセージは、AIアシスタントに対する静かな指示として機能します。
```python
messages = []
system_message = {
"role": "system",
"content": "You are a helpful coding assistant."
}
messages.append(system_message)
チャット履歴の初期化が完了したので、ユーザーがAIアシスタントと対話できるメインループに進むことができます。
ユーザー入力の収集とメッセージの構築
ユーザー入力の収集とメッセージの構築
ユーザー入力を収集し、メッセージを構築するには、以下の手順に従います:
- チャット履歴を格納するブランクのリストを作成します。
- チャット履歴の最初のメッセージとして、「system」メッセージを構築します。このメッセージはアシスタントに対する静かな指示を提供します。
- 無限ループを設定します。
- ループ内で、
input()
関数を使ってユーザーから新しいメッセージを収集します。 - ユーザーの入力を含む新しいメッセージ辞書を構築し、「role」を「user」に設定します。
- 新しいユーザーメッセージをチャット履歴リストに追加します。
このプロセスにより、会話の文脈が構築されます。この文脈は、OpenAI APIに呼び出しを行う際に渡されます。
ChatGPT APIとの対話と応答の取得
ChatGPT APIとの対話と応答の取得
ChatGPT APIと対話し、レスポンスを取得するには、以下の手順に従います:
- OpenAI APIキーを環境変数として設定します。
- OpenAIライブラリをインストールし、コードの先頭でインポートします。
- 「role」と「content」キーを持つ辞書としてメッセージを表すブランクのリストを作成します。
- チャット履歴にシステムメッセージを追加し、アシスタントに静かな指示を与えます。
- ユーザー入力を継続的に収集し、「user」メッセージとしてチャット履歴に追加するループを設定します。
- チャット履歴を入力として、ChatGPT完了エンドポイントにAPIコールを行います。
- API応答からアシスタントの返信の内容を抽出し、変数に格納します。
- アシスタントの返信を表示し、可読性を高めるために先頭と末尾に空行を追加します。
- 返信の内容を含む「assistant」メッセージを構築し、チャット履歴に追加します。
- プロセスを繰り返し、ユーザーがコーディングアシスタントと対話し続けられるようにします。
アシスタントの応答の表示とチャット履歴の更新
アシスタントの応答の表示とチャット履歴の更新
アシスタントの返信を表示し、チャット履歴を更新するには、以下の手順に従います:
1. APIコールから取得したアシスタントの返信の内容を取り出します:
```python
reply = response.choices[0].message.content
-
アシスタントの返信を適切な書式で表示します:
print("\n\n" + reply + "\n\n")
-
アシスタントの返信を表す新しいメッセージ辞書を構築します:
assistant_message = { "role": "assistant", "content": reply }
-
アシスタントのメッセージをチャット履歴に追加します:
messages.append(assistant_message)
これにより、アシスタントの返信が明確で読みやすい形式で表示され、新しいメッセージがチャット履歴に更新されます。更新されたチャット履歴は、後続のAPIコールで文脈情報として使用されます。
まとめ
まとめ
このチュートリアルでは、ChatGPT APIとPythonを使ってパワフルなコーディングアシスタントを構築する方法を学びました。最終的な製品は、VS Codeの中で実行できるスクリプトで、書いているコードに関する質問に答えたり、インサイトを提供したりする便利なアシスタントとなります。
このアシスタントを構築するための主な手順は以下の通りです:
- APIキーを環境変数として設定する。
- OpenAIライブラリをインストールし、Pythonスクリプトにインポートする。
- システムメッセージから始まるメッセージ履歴のリストを作成する。
- ユーザー入力を継続的に収集し、チャット履歴に追加するループを実装する。
- チャット履歴を入力として、ChatGPT完了エンドポイントにAPIコールを行う。
- APIからの返信を抽出し、アシスタントメッセージとしてチャット履歴に追加する。
このプロセスに従うことで、開発ワークフローにパワフルなAI駆動のコーディングアシスタントを簡単に統合できます。これにより、生産性と効率性が大幅に向上します。
FAQ
FAQ