AI技術が進化し、私たちの生活や仕事に革新をもたらしています。その中でも特に注目されているのが、対話型AIの「ChatGPT」です。この記事では、PythonとChatGPT APIを組み合わせて、対話型アシスタントを簡単に構築する方法を解説します。APIの設定方法から実際に動くコードまで、初心者でも取り組める内容となっています。AIを活用してプロジェクトに革新を起こしたい方は、ぜひこの記事を参考にしてください!
注意!!
ChatGPT API利用時は、データのプライバシーとAPI使用量に注意!
予期せぬ課金を防ぐため、トークン管理を徹底しよう!
ChatGPTとは?

ChatGPTは、OpenAIが開発した高度な自然言語処理モデル「GPT(Generative Pretrained Transformer)」を基盤とするAIチャットボットです。このモデルは、大量のテキストデータをもとにトレーニングされており、人間のように自然な対話や文章生成を行うことができます。ChatGPTは特に以下のような用途で活用されています。
使い方
ChatGPTは、ブラウザやアプリケーションを通じてアクセスでき、APIを使って自分のプロジェクトに統合することも可能です。開発者はAPIを利用して、独自のアプリケーションや自動化ツールに組み込むことができます。
関連記事
ChatGPT APIキーの取得方法

ChatGPT APIを使用するには、OpenAIのウェブサイトでアカウントを作成し、APIキーを取得する必要があります。
ダッシュボードをクリック

APIキーの作成

APIキーの取得

アシスタントの作成

支払い方法追加

ChatGPTのAPIは有料です。OpenAIは開発者向けにAPIを提供しており、使用したトークン数に基づいて料金が課金されます。詳しい料金体系や利用プランについては、OpenAIの公式ウェブサイトでご確認ください。

支払い方法の入力

オススメの使用方法は、自動購入を追加しないことです
実際にAPIの活用方法

必要なライブラリのインストール
次に、APIリクエストを送信するために、Pythonのopenaiライブラリをインストールします。
| 
 1  | 
pip install openai  | 
簡単なPythonコード
以下に、ChatGPT APIを利用してテキストを生成するための基本的なPythonコードを示します。
| 
 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16  | 
import openai # OpenAIのAPIキーを設定 openai.api_key = 'YOUR_API_KEY' # ChatGPTモデルに対するAPIリクエストを送信 response = openai.ChatCompletion.create(   model="gpt-4o-mini",  # もしくは "gpt-3.5-turbo"   messages=[     {"role": "system", "content": "You are a helpful assistant."},     {"role": "user", "content": "こんにちは、元気ですか?"}   ] ) # 生成されたレスポンスの表示 print(response['choices'][0]['message']['content'])  | 
出力
| 
 1  | 
こんにちは!私は元気です。あなたはいかがですか?何かお手伝いできることがあれば教えてください!  | 
こんな感じででてきました
無事成功です😁
エラーハンドリングの実装:
- APIリクエストが失敗した場合やタイムアウトが発生した場合に備えて、
try-exceptブロックを使用してエラーハンドリングを行います。 
| 
 1 2 3 4  | 
try:     response = openai.ChatCompletion.create( ... ) except openai.error.OpenAIError as e:     print(f"エラーが発生しました: {e}")  | 
ユーザー入力の動的処理:
input()関数を使用して、ユーザーからの入力をリアルタイムで受け取るようにします。
| 
 1  | 
user_input = input("ユーザー: ")  | 
対話の履歴管理:
messagesリストを更新して、過去のやり取りを保持し、より自然な対話を実現します。
| 
 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17  | 
messages = [     {"role": "system", "content": "あなたは役に立つアシスタントです。"} ] while True:     user_input = input("ユーザー: ")     messages.append({"role": "user", "content": user_input})     response = openai.ChatCompletion.create(         model="gpt-3.5-turbo",         messages=messages     )     assistant_reply = response['choices'][0]['message']['content']     print(f"アシスタント: {assistant_reply}")     messages.append({"role": "assistant", "content": assistant_reply})  | 
環境変数の使用:
- APIキーをコード内に直接記述せず、環境変数から読み込むようにしてセキュリティを向上させます。
 
| 
 1 2  | 
import os openai.api_key = os.getenv("OPENAI_API_KEY")  | 
APIパラメータの調整:
- 応答の多様性や創造性を制御するために、
temperatureやmax_tokensなどのパラメータを調整します。 
| 
 1 2 3 4 5 6  | 
response = openai.ChatCompletion.create(     model="gpt-3.5-turbo",     messages=messages,     temperature=0.7,     max_tokens=150 )  | 
内容をまとめたコード

| 
 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48  | 
import os import openai # 環境変数からAPIキーを取得 openai.api_key = os.getenv("OPENAI_API_KEY") # 対話の履歴を管理するリスト messages = [     {"role": "system", "content": "あなたは役に立つアシスタントです。"} ] # APIパラメータの設定 model_name = "gpt-3.5-turbo" temperature = 0.7 max_tokens = 150 print("チャットを開始します。終了するには 'exit' と入力してください。") while True:     # ユーザーからの入力を受け取る     user_input = input("ユーザー: ")     # 'exit' と入力されたら終了     if user_input.lower() == 'exit':         print("チャットを終了します。")         break     # 対話履歴にユーザーのメッセージを追加     messages.append({"role": "user", "content": user_input})     try:         # APIリクエストを送信         response = openai.ChatCompletion.create(             model=model_name,             messages=messages,             temperature=temperature,             max_tokens=max_tokens         )         # アシスタントからの応答を取得         assistant_reply = response['choices'][0]['message']['content']         print(f"アシスタント: {assistant_reply}")         # 対話履歴にアシスタントの応答を追加         messages.append({"role": "assistant", "content": assistant_reply})     except openai.error.OpenAIError as e:         print(f"エラーが発生しました: {e}")  | 
これで対話が他のプログラムが作れました。
まとめ
本記事では、Pythonを使ってChatGPT APIを活用する具体的な手順を紹介しました。APIキーの取得方法から、対話型アプリケーションを作成する基本的なコード例まで、初心者でも理解できるように解説しています。また、エラーハンドリングやユーザー入力の処理、対話履歴の管理といった実践的なポイントもカバーしました。
ChatGPT APIを活用すれば、自然な対話が可能なアシスタントや自動化ツールを簡単に構築できます。応答の創造性や長さを調整することで、多様なユースケースにも対応できるため、あなたのプロジェクトに合わせたカスタマイズも可能です。
これを機に、ChatGPTとPythonを使って、さらなる自動化や効率化に挑戦してみてください。AIの力を活用し、あなたのプロジェクトに新しい可能性を広げていきましょう!
Pythonってどんな物?
プログラミングってどんな物?という方はこちらの記事を参考にしてみてください!!
関連記事
また、プログラミングに興味はあるけどどうやって勉強していいのかわからないという方はプログラミングを視覚的に理解できる講座を作っていますのでこちらを参考にしてみてください!
Udemyというプラットホームを使用して作成した講座です。
初心者向けに作った講座となっております。以下から講座の確認ができるので見てみてください

プログラミング学習を進めているけれど、まだ副収入につなげられていない…そんなあなたへ!今こそ、学んだスキルを活かして副業に挑戦する絶好のチャンスです。プログラミングだけでなく、自分のスキルや商品をネットで販売する『ネットショップ』を開設してみませんか?
ネットショップを持つことで、自分の知識やスキルをより多くの人に届け、副収入を得ることが可能です。学んできたプログラミングを活かして、ショップのカスタマイズや運営も自由自在に行えますし、もし商品作成が難しい場合でも、デジタル商品やサービス提供など、いろんな選択肢があります。
このステップで一歩踏み出せば、今学んでいることが副収入に直結し、自分の時間をより有効に使うことができるはずです!一緒にネットショップを開設し、副業の第一歩を踏み出しましょう!
タイトルテキスト


