GPT-4とGPT3.5の0613版がリリースされました。この最新版で関数呼び出し機能 Function APIが追加されました。
天気APIを使ったコード例がネット記事に掲載されていたので、早速内容をチェックしました。
GPT 0613版 Function APIのフロー
ChatGPTに指示文とfunctionsパラメータ、function_callパラメータを送信する。
↓
ChatGPTが必要と判断したらfunction名と引数を返信する。
↓
利用者側はこれを受け、function名と引数をパラメータとして取込み再度送信する。
↓
functionの戻り値を組み込んだレスポンスを返す。天気APIを利用する場合
“東京の現在の天気を教えてください。”と送信する。(functionsパラメータ他もバックグラウンドで同時に送信)
<コードの一部>
response = openai.ChatCompletion.create(
model="gpt-4-0613",
messages=[{"role": "user", "content": text}],
functions=[weather_function],
function_call="auto",
)↓
ChatGPTはweather_functionの使用が必要と判断し、引数(緯度、経度)とともに返信。
↓
利用者側はweather_functionの使用を指示するプロンプトを自動送信。
↓
ChatGPTは天気APIから得られた情報を元に返信。
“東京の現在の天気は20.9℃で、風速は4.2 m/s、風向きは北北西329.0度です。天候コードは2で、おおむね晴れています。ただし、現在は夜間です。”
OpenAI社にあまり課金していないのでGPT-4 APIやChatGPT plugins APIを使わせてもらえない身ではありますが、これでプラグインと同等の機能を自製できるようになりました。
開発中のChatGPTアプリにも取り入れたいと思います。