開発ノウハウ
【デモ付き】ChatGPT Function Callingの使い方
公開日|2023.9.15

概要
Function Callingは名前からどうしても「関数を実行してくれる機能」と誤解されるケースがありますが、実態としては少し違います。
確かに、ChatGPT Pluginsのような外部のAPIを活用して回答を作成する機能を作るのにFunction Callingは利用されますが、Function Calling自体に外部APIを実行する機能はありません。
では、Function Callingは何をやってくれるのかと言いますと、大きく分けますと、2つのことを実施してくれます。
-
会話履歴からこちらの定めたフォーマットのJSONを構築
-
会話履歴からChatGPTが考える適切なタイミングで実行
デモ
上記の二つの振る舞いをデモを通して確認してみましょう。
デモURL: https://langcore-function-calling.streamlit.app/json-extractor
こちらの定めたフォーマットのJSONの構築

デモでは自由記述の文章から、最低月収と最高月収を抽出するタスクを想定しています。
取り出したいJSON定義に、フォーマットを定めています。単位等も自然言語で記載しています。
自由記述の文章は「この求人は月収20万円から50万円です」と記載されているので、最低月収200000, 最高月収500000と抽出され、カラム名が最低月収はminimum_monthly_salaryそして最高月収はmaximum_monthly_salaryになっていれば成功です。
実際に実行してみましょう。

上手くいきました!このようにこちらの定めたフォーマットで正しい数値が抽出できています。
もう一つやってみましょう。今度は年収で記述します。

自由記述では年収で記述していましたが、指定したフォーマットは月収だったので、ChatGPTによって月収に変換をしてくれています。
このように、自由記述の文章からこちらの定めたフォーマットのJSONを抽出することができます。
ChatGPTが考える適切なタイミングで実行
では次に、ChatGPTが考える適切なタイミングで実行されるのを見てみましょう。
先ほどの例では、自由記述の中に月収についての記載がありました。
ここで全く関係ない挨拶をしたらどうなるでしょうか?

すると、Function Callingは呼ばれず、通常のChatGPTの回答が返ってきました。
このようにFunction Callingを呼び出すべきタイミングをChatGPT自身がよしなに決めてくれるという特徴もあります。
これによって、ユーザが欲した適切なタイミングで適切なFunction Callingが呼ばれる仕組みを構築することができます。
まとめ
いかがだったでしょうか?
Function Callingは応用範囲が広く、既存のシステム連携だけではなく幅広い活用方法があります。弊社でも多数の活用事例がありますので、気になる方はお問い合わせください。
開発ノウハウの関連記事

開発ノウハウ
対話型AIエージェントの構築方法について
近年、対話型AIエージェントの技術が急速に進化しています。本記事では、対話型AIエージェントの基本的なアーキテクチャをもとに、具体的な構築方法を紹介します。
記事を読む

開発ノウハウ
おすすめAI開発環境!初心者向けからプロ仕様まで徹底比較
AI技術は、私たちの生活の様々な場面で活用され、近年目覚ましい発展を遂げています。自動運転、医療診断、顧客サービスなど、AIの応用範囲は広がる一方です。そして、このAI開発を支えているのが「AI開発環境」です。
記事を読む

開発ノウハウ
ボイスボットでOpenAI Realtime APIを使うべきか?
OpenAIがRealtime APIを発表
記事を読む