$30 off During Our Annual Pro Sale. View Details »

ChatGPTの新機能「Function calling」を試してみた

KMiura
June 18, 2023

ChatGPTの新機能「Function calling」を試してみた

2023/06/18【ブース出展もあるよ】IoT縛りの勉強会! IoTLT vol.100 @ #NT金沢

KMiura

June 18, 2023
Tweet

More Decks by KMiura

Other Decks in Science

Transcript

  1. ChatGPTの新機能「Function calling」
    を試してみた
    KMiura(@k_miura_io)

    View Slide

  2. 自己紹介
    • 三浦 耕生(こうき)
    • 自動運転のスタートアップのエ
    ンジニア
    • JAWS UG名古屋運営
    @k_miura_io koki.miura05

    View Slide

  3. 祝・IoT LT 100回

    View Slide

  4. ChatGPT使ってますか?
    • それまでのAIチャットと違ってテキスト以外
    にもソースコードを生成することができる
    のでエンジニアにも重宝されている
    • リリースされてから半年たっても日々進化
    し続けている
    • 無料でも割と精度高く返答される(無課金
    なのでGPT-4は未検証)

    View Slide

  5. ChatGPTにはAPIが存在する
    • APIを使えば自分のシステムに入れること
    で自前のアプリケーションに簡単に
    ChatGPTを導入できる
    • PythonやNode.jsのSDKも提供されている
    • 無料でトライアルから始めることができる

    View Slide

  6. ベタな事例
    やっぱりチャットといえばLINE

    View Slide

  7. ChatGPT Plugin
    • いろんなサービスがサードパーティのプラ
    グインを提供している
    • スマートスピーカーで言うところのスキル
    みたいなもん?
    • ChatGPT Plusのユーザーが優先的に使
    える

    View Slide

  8. 自分でも機能拡張したい

    View Slide

  9. Function calling
    • 6/13にリリースされた新機能
    • メッセージの内容をもとに予め用意した関
    数を呼び出すために必要な引数をJSON
    オブジェクトを生成する機能
    • 関数を呼び出すために必要なデータ構造
    を定義すると確実に関数を呼び出すため
    に必要なデータを取り出せる

    View Slide

  10. LINE botに実装してみた
    • 指定した場所の天気を尋ねるLINE bot
    • 指定した都市の天気をAPIから取得している
    • 天気以外は普通にChatGPTが返答する

    View Slide

  11. DEMO

    View Slide

  12. 1回目のAPIリクエスト
    • 入力のパラメータと型を指定することでそれを
    もとに入力されたメッセージを解析してくれる
    • 解析した内容を関数の入力に使用する
    • ある程度意味のあるプロパティー名を指定す
    ることで意図した名前が取得できる
    • Enumも定義できる
    https://openai.com/blog/function-
    calling-and-other-api-updates

    View Slide

  13. 2回目のリクエスト
    • 1回目のリクエストによってfuncitonsに定義し
    た解析モデルにより取得した値をもとに関数を
    実行した結果をリクエストに追加する
    • 関数の出力を ”role”: “function”の値として
    入力することでその入力値をよしなにレスポン
    スに変換してくれる
    https://openai.com/blog/function-
    calling-and-other-api-updates

    View Slide

  14. まとめ
    • ChatGPTの新機能Function Callを使えば自前のアプリのための機能拡張を簡単に作
    ることができる
    • 関数の入力、出力をJSONでやり取りすることであとはよしなに返答を作ってくれる
    • ある程度プログラミングセンスが問われる(AIに寄り添おう)

    View Slide

  15. 宣伝
    https://machine-learning.connpass.com/event/284031/

    View Slide

  16. ちょっとだけ展示物紹介
    • IoTLTブースにてマスクをつけている人を識別
    するシステムを展示中
    • Vol.71のLTで発表した内容のイベント向けデモ
    • マスクを付けている人も付けてない人も是非お
    試しを!
    https://bit.ly/42JrIEI
    ↑ ProtoPedia

    View Slide

  17. END

    View Slide