今日は、上の画像の「どら焼き」のような日本のスイーツコレクションの説明を含むウェブサイトを作成したいと思います。そこで私はAIエージェントに素晴らしいウェブサイトを作成するように頼みました。しかし、それは本当に可能なのでしょうか?はい、確かに可能です!OpenAIがGPTを作成したことはご存知の通りですが、これは非常にインテリジェントな大規模言語モデル(LLM)です。さらに2023年6月13日、OpenAIにより新しく“Function calling”が導入されました。これにより、GPTは他のシステム、API、および外部の関数にアクセスができます。それでは、説明していきましょう!
- “Function calling”の利点は何ですか?
“Function calling”により、GPTは外部の関数に容易にアクセスできます。例えば、日本のスイーツについて顧客に説明するウェブサイトを作成したい場合、GPTをHTML/CSSで書かれた、ウェブサイトを作成できる関数に接続する必要があります。“Function calling”を用いると、GPTはこの関数を呼び出し、「日本のスイーツの説明」などのパラメータをこの関数に渡すことができます。公式文書には「最新のモデル(gpt-3.5-turbo-0613およびgpt-4-0613)は、関数が呼び出されるべき時を検出するため(入力に依存します)、そして関数のシグネチャに準拠したJSONで応答するために、両方にfine-tuneされています。」と説明されています。
2. functionsのリストは、“Function calling” の設定の鍵となります
“Function calling” は素晴らしい!しかし、私たちはどのようにしてそれを実装できるのでしょうか。それは非常にシンプルです。ただfunctionsのリストを準備するだけです。これには以下が含まれます。
- “name”
- “description”
- “parameters” : “type” , “properties”, “required”
ChatCompletion.createでは、「functions=functions」を追加する必要があります。なぜなら、私たちは関数を呼び出したいからです。コードの他の部分はあまり変更されません。以下のコードは公式文書(Official documents)からのfunctionsの例を示しています。詳細が必要な場合は、これらの文書をご覧ください。
3.生成されたウェブを見てみましょう
さて、生成されたウェブを見る時が来ました。私はエージェントに「美しい日本のスイーツコレクションのためのウェブサイトを作成してください」と指示しました。”タイトル”と”説明”の文章はGPT3.5-turboによって生成され、ウェブを作成する関数に送られます。以下がその結果です。説明の文章はとてもよくできています!これらの文を修正または変更する必要は全くないと思います。
“Function calling”がどのように動作するかを理解していただけたら幸いです。私は“Function calling”の潜在的なユースケースは無限であると思います。“Function calling”によるいくつかのユースケースを試した結果、それがLLMアプリケーション開発のゲームチェンジャーになると思いました。私は近いうちにOpenAI GPTによるAIエージェントに関する記事をアップデートしたいと思います。お楽しみに!
t.kuga
本記事は著者の意見を述べたものであり、所属する会社を代表しているものではありません。
Copyright © 2023 Toshifumi Kuga All right reserved
Notice: I do not accept any responsibility or liability for loss or damage occasioned to any person or property through using materials, instructions, methods, algorithms or ideas contained herein, or acting or refraining from acting as a result of such use. I expressly disclaim all implied warranties, including merchantability or fitness for any particular purpose. There will be no duty on me to correct any errors or defects in the codes and the software.