OpenAIのAPIとPythonで簡単なChatBOTを作ってみましょう。
とりあえずはコードをコピペでもokです。
Secret keyだけは取得していくださいね。それでは行ってみましょう!
コード
import openai
openai.api_key = "secret key"
def chat_with_gpt(prompt):
response = openai.ChatCompletion.create(
model = "gpt-3.5-turbo",
messages=[{"role": "user", "content": prompt}]
)
return response.choices[0].message.content.strip()
if __name__ == "__main__":
while True:
user_input = input("You: ")
if user_input.lower() in ["quit", "exit", "bye"]:
break
response = chat_with_gpt(user_input)
print("Chatbot: ", response)
以上です😁
実行
次にpython main.pyを実行するとYou: と表示されるので「Hi」でも「Hello」でもいいので話しかけてください。
コードを詳しく説明
コードについてもっと詳しく説明。
OpenAIライブラリのインポート
import openai
copy
ここでOpenAIライブラリがインポートされています。これはOpenAI APIにインターフェースを提供するPythonクライアントです。
APIキーの設定
openai.api_key = "secret key"
この行は、プログラムをOpenAIのサーバーに認証するために必要なAPIキーを設定しています。"secret key"を実際のAPIキーに置き換えてください。
関数の定義
def chat_with_gpt(prompt):
chat_with_gpt
という名前の関数を定義して、単一の引数prompt
を取ります。
関数の中身
response = openai.ChatCompletion.create(
model = "gpt-3.5-turbo",
messages=[{"role": "user", "content": prompt}]
)
関数内で、openai.ChatCompletion.create()
メソッドが呼び出されて、GPT-3.5 Turboモデルと対話します。model
パラメータは使用するモデルを指定し、messages
パラメータは会話を模倣するメッセージオブジェクトの配列です。
return response.choices[0].message.content.strip()
最後に、関数はレスポンスの内容を返します。これはAPIのレスポンスオブジェクトから抽出され、先頭/末尾の空白は削除されます。
メインプログラムのループ
if __name__ == "__main__":
while True:
スクリプトは、スタンドアロンのファイルとして実行される場合、無限ループに入ります。
ユーザー入力
user_input = input("You: ")
この行は、コンソールを通じてユーザーからの入力を収集します。
終了条件
if user_input.lower() in ["quit", "exit", "bye"]:
break
ユーザーが"quit"、"exit"、"bye"のいずれかを(大文字小文字を問わず)入力した場合、ループが終了し、プログラムも終了します。
関数呼び出しと出力
response = chat_with_gpt(user_input)
print("Chatbot: ", response)
ユーザーの入力はchat_with_gpt()
関数に渡され、返されたレスポンスが出力されます。
まとめ
コピペして、シークレットキーを取得して、実行するだけでChatBOTが完成です。簡単ですね。
プログラミングの練習をしたい方はコピペじゃなくてコードを書きながら、ひとつひとつのコードの意味を考えてみてくださいね。勉強になりますよ。
それでは、また、次回、何か作ります。