0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

OpenAI APIとPythonを使ってChatBOTをサクッと作りましょう!

Posted at

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が完成です。簡単ですね。
プログラミングの練習をしたい方はコピペじゃなくてコードを書きながら、ひとつひとつのコードの意味を考えてみてくださいね。勉強になりますよ。
それでは、また、次回、何か作ります。

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?