ChatGPTの新機能「Function calling」を試してみた
by
KMiura
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
ChatGPTの新機能「Function calling」 を試してみた KMiura(@k_miura_io)
Slide 2
Slide 2 text
自己紹介 • 三浦 耕生(こうき) • 自動運転のスタートアップのエ ンジニア • JAWS UG名古屋運営 @k_miura_io koki.miura05
Slide 3
Slide 3 text
祝・IoT LT 100回
Slide 4
Slide 4 text
ChatGPT使ってますか? • それまでのAIチャットと違ってテキスト以外 にもソースコードを生成することができる のでエンジニアにも重宝されている • リリースされてから半年たっても日々進化 し続けている • 無料でも割と精度高く返答される(無課金 なのでGPT-4は未検証)
Slide 5
Slide 5 text
ChatGPTにはAPIが存在する • APIを使えば自分のシステムに入れること で自前のアプリケーションに簡単に ChatGPTを導入できる • PythonやNode.jsのSDKも提供されている • 無料でトライアルから始めることができる
Slide 6
Slide 6 text
ベタな事例 やっぱりチャットといえばLINE
Slide 7
Slide 7 text
ChatGPT Plugin • いろんなサービスがサードパーティのプラ グインを提供している • スマートスピーカーで言うところのスキル みたいなもん? • ChatGPT Plusのユーザーが優先的に使 える
Slide 8
Slide 8 text
自分でも機能拡張したい
Slide 9
Slide 9 text
Function calling • 6/13にリリースされた新機能 • メッセージの内容をもとに予め用意した関 数を呼び出すために必要な引数をJSON オブジェクトを生成する機能 • 関数を呼び出すために必要なデータ構造 を定義すると確実に関数を呼び出すため に必要なデータを取り出せる
Slide 10
Slide 10 text
LINE botに実装してみた • 指定した場所の天気を尋ねるLINE bot • 指定した都市の天気をAPIから取得している • 天気以外は普通にChatGPTが返答する
Slide 11
Slide 11 text
DEMO
Slide 12
Slide 12 text
1回目のAPIリクエスト • 入力のパラメータと型を指定することでそれを もとに入力されたメッセージを解析してくれる • 解析した内容を関数の入力に使用する • ある程度意味のあるプロパティー名を指定す ることで意図した名前が取得できる • Enumも定義できる https://openai.com/blog/function- calling-and-other-api-updates
Slide 13
Slide 13 text
2回目のリクエスト • 1回目のリクエストによってfuncitonsに定義し た解析モデルにより取得した値をもとに関数を 実行した結果をリクエストに追加する • 関数の出力を ”role”: “function”の値として 入力することでその入力値をよしなにレスポン スに変換してくれる https://openai.com/blog/function- calling-and-other-api-updates
Slide 14
Slide 14 text
まとめ • ChatGPTの新機能Function Callを使えば自前のアプリのための機能拡張を簡単に作 ることができる • 関数の入力、出力をJSONでやり取りすることであとはよしなに返答を作ってくれる • ある程度プログラミングセンスが問われる(AIに寄り添おう)
Slide 15
Slide 15 text
宣伝 https://machine-learning.connpass.com/event/284031/
Slide 16
Slide 16 text
ちょっとだけ展示物紹介 • IoTLTブースにてマスクをつけている人を識別 するシステムを展示中 • Vol.71のLTで発表した内容のイベント向けデモ • マスクを付けている人も付けてない人も是非お 試しを! https://bit.ly/42JrIEI ↑ ProtoPedia
Slide 17
Slide 17 text
END