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の力を活用し、あなたのプロジェクトに新しい可能性を広げていきましょう!
もしわからないことがあれば、このブログやXに質問等を投げていただければと思います。
Xのアカウントはこちら
プログラミング学習を進めているけれど、まだ副収入につなげられていない…そんなあなたへ!今こそ、学んだスキルを活かして副業に挑戦する絶好のチャンスです。プログラミングだけでなく、自分のスキルや商品をネットで販売する『ネットショップ』を開設してみませんか?
ネットショップを持つことで、自分の知識やスキルをより多くの人に届け、副収入を得ることが可能です。学んできたプログラミングを活かして、ショップのカスタマイズや運営も自由自在に行えますし、もし商品作成が難しい場合でも、デジタル商品やサービス提供など、いろんな選択肢があります。
このステップで一歩踏み出せば、今学んでいることが副収入に直結し、自分の時間をより有効に使うことができるはずです!一緒にネットショップを開設し、副業の第一歩を踏み出しましょう!
タイトルテキスト
プログラミングを視覚的に理解したい方やプログラミングで絵を書いてみたい方はUdemyで講座も作っているのでこちらも参考にしてみてください
Udemy講座
ChatGPTでPythonの学習を始めてみたい方は以下の記事を参考にしてみてください
関連記事
プログラミングを学びたいけど、どこから始めたらいいのか分からない、自分に合っているか不安…そんな悩みを持っている方におすすめしたいのが、 無料相談 サービスです!
この無料相談では、あなたの現状や目標に合わせて、最適な学習プランを一緒に考えてくれます。どんなスキルが必要なのか、どうやって学習を進めると効果的かを具体的にアドバイスしてもらえるので、無駄なく効率的にスタートを切ることができます。
さらに、プログラミング学習には同じ目標を持つ 仲間 がいること、そして頼りになる メンター の存在がとても大きな支えになります。独学ではどうしてもつまずきやすい部分も、メンターがあなたの成長に合わせて親身にサポートしてくれるので、安心して学びを進められます。
まずは 無料相談 で、あなたに合ったプランを見つけて、スキルアップへの第一歩を踏み出してみませんか?今なら、迷っている方でも気軽に相談できるチャンスです!