🍣

【ChatGPT】function callingの使い方と利用可能性について

2023/08/21に公開

https://zenn.dev/seiyakitazume/articles/15ee7f87c3c4be

こちらの記事で、ChatGPTのプロンプトを組むことで記事のように医師の問診をある程度再現できることをお伝えしました。

この記事の中でfunction callingを使うことで、症状毎に設定した処理を実行することができます。
・救急車を呼ぶ
・往診ドクターへ電話
・近くのクリニックを紹介

が可能になるというお話をさせて頂ければと思います。

function callingとは

めちゃくちゃざっくりとご説明すると自然言語(文章)でAPIと接続する新しい方法です。
この機能を使用すると、開発者は文章で、コードを実行したり、データを処理したり、指示することができます。

これがなぜ革命なのかというと、
例えば、チャットボットと会話をしている中で、何かしらの判断をGPTにさせて、それをそのまま実行することができれば、今まで人(オペレーター)が行っていた作業をプログラムに任せることができるためです。

実は仕事の多くは、データベースからデータを取ってきて、それを伝えたり、データを更新する業務です。
コールセンターの担当者の仕事や、医療業界の事務手続き、物流業界の事務手続き、などなど様々な仕事はデータベースの更新作業と連絡です。

この部分をfunction callingが自動化できてしまう、そしてその実装も簡単であるという点がものすごい革命性がある点です。

ちなみにfunction callingやChatGPTの可能性についてもっと知りたい方は、中島聡さんというレジェンドエンジニアの方のメルマガを購読することをお勧めします。最新の技術トレンドで非常に参考になるメルマガです。

https://www.mag2.com/m/0001323030?gclid=Cj0KCQjw84anBhCtARIsAISI-xcqIzVO7264WPWPCll8A_SpPuh6WHaAIdKZQaAkL7NxDhFTnRWYjAgaAhdaEALw_wcB

6月には、中島聡さんと一緒にChatGPTハッカソンを開催しました。また開催する可能性があるので、その時はこちらでも告知させていただきます。
https://www.youtube.com/watch?v=bMEEdhckwJA

function callingはjsonで簡単に設定

記事でご説明した医師の問診チャットボットの会話から呼び出す関数を、「軽症状」「中症状」「重症状」と3つにわけ、適切な関数を呼び出せるかを確認しました。問題なく適切な関数を呼び出せていました。

会話内容から以下の3つの関数に適切に繋げられることを確認しました。

  • 軽症状の場合、健康アドバイスをする
  • 中症状の場合、往診サービス(医師の派遣サービス)
  • 重症状の場合、救急車を呼ぶ
[
    {
        "name": "health_advice",
        "description": "現時点では受診が不要なケース",
        "parameters": {
            "type": "object",
            "properties": {},
            "required": []
        }
    },
    {
        "name": "order_home_medical_service",
        "description": "緊急ではないが受診が必要なケースにおいて、往診サービスと連携する",
        "parameters": {
            "type": "object",
            "properties": {
                "clinical_department": {
                    "type": "string",
                    "description": "診療科目"
                },
                "symptom": {
                    "type": "string",
                    "description": "症状"
                },
                "suspected_disease": {
                    "type": "string",
                    "description": "疑われる病名"
                }
            },
            "required": ["clinical_department", "symptom", "suspected_disease"]
        }
    },
    {
        "name": "call_ambulance",
        "description": "緊急の救急外来受診が必要になったケース",
        "parameters": {
            "type": "object",
            "properties": {},
            "required": []
        }
    }
]

適切な関数を呼ぶことができれば、その関数が、状況に応じて、アドバイスをしたり、医師を派遣したり、救急車を呼ぶことができます。

今、オペレーターの仕事は、会話から状況を判断して、適切なところに繋げて、データを更新する、という仕事をしていますが、この部分をChatGPTのfunction callingが担える可能性がある、というお話でした。

技術でお困りのことがある方はオンライン相談が可能です。
こちらから会社概要資料をDLできます!
お問い合わせ内容に「オンライン相談希望」とご記載ください。
https://share.hsforms.com/19XNce4U5TZuPebGH_BB9Igegfgt

株式会社piponでは定期的に技術勉強会を開催しています。
ChatGPT・AI・データサイエンスについてご興味がある方は是非、ご参加ください。
https://chatgptllm.connpass.com/

株式会社piponではChatGPT・AI・データサイエンスについて業界ごとの事例を紹介しています。ご興味ある方はこちらのオウンドメディアをご覧ください。
https://bigdata-tools.com/

株式会社piponのテックブログ

Discussion