GradioとOpenAIのAPIでChatGPTライクなチャットボットを作る

公開日:
目次

Gradioとは

Gradioは機械学習モデルを簡単にデプロイできるライブラリです。
機械学習モデルに関わらずpythonの関数をwebアプリとしてデプロイが可能です。

詳しくは下記の記事を参照してください。

OpenAIのAPIとは

OpenAIのAPIはOpenAIが提供しているAPIです。
ChatGPTで使われているようなGPT-3.5やGPT-4を利用することができます。

GradioとOpenAIのAPIでChatGPTライクなチャットボットを作る

GradioとOpenAIのAPIを使うことで、簡単にChatGPTライクなチャットボットを作ることができます。

詳しい使い方は下記の記事を参照してください。

ChatGPTライクなチャットボットの最小構成

チャットボットを最も簡単に作るならgradioのChatInterfaceを使います。

chatgpt.py
import gradio as gr
from openai import OpenAI

OPENAI_API_KEY="自分のAPIキーを入力"
client = OpenAI(api_key=OPENAI_API_KEY)

def chatbot_response(message, history):
    messages = []
    if len(history) > 6:
        history = history[2:]
    for h in history:
        messages.append({"role": "user", "content": h[0]})
        messages.append({"role": "assistant", "content": h[1]})
    messages.append({"role": "user", "content": message})
    completion = client.chat.completions.create(
        model="gpt-3.5-turbo",
        messages=messages,
    )
    return completion.choices[0].message.content

app = gr.ChatInterface(chatbot_response)
app.launch()

上記コードをpythonで実行して、http://127.0.0.1:7860 を開くと下記のような画面が表示されます。

Image from Gyazo

簡単ですね!

参考