Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ChatGPTの新機能「Function calling」を試してみた
Search
KMiura
June 18, 2023
Science
3
2k
ChatGPTの新機能「Function calling」を試してみた
2023/06/18【ブース出展もあるよ】IoT縛りの勉強会! IoTLT vol.100 @ #NT金沢
https://iotlt.connpass.com/event/285035/
KMiura
June 18, 2023
Tweet
Share
More Decks by KMiura
See All by KMiura
Cloudflare WorkersがPythonに対応したので試してみた
miura55
0
190
個人のAWSアカウントをマルチ運用してみた
miura55
2
290
さらばあのボタンとは言わせない SORACOM LTE-M Button powerd by AWSをまだ使えるようにした(前編?)
miura55
0
120
App Runnerでパラメーターストアの値を使ってみた
miura55
0
310
ultraArmをモニター提供してもらった話
miura55
0
120
JAWS UG名古屋2023年活動報告
miura55
0
140
AWS Step Functionsの新機能「Call third-party API」を試してみた
miura55
1
110
AWS Step Functionsの新機能「Call third-party API」を試してみた
miura55
0
210
AWS CDKの新機能「cdk migrate」を試してみた
miura55
1
330
Other Decks in Science
See All in Science
Machine Learning for Materials (Lecture 3)
aronwalsh
0
860
BMI 研究はなぜ同じ失敗を繰り返すのか(日本BMI研究会, 2021.11.5)
ykamit
1
2k
Direct Preference Optimization
zchenry
0
170
[NeurIPS 2023 論文読み会] Wasserstein Quantum Monte Carlo
stakaya
0
360
OptimizationNight~機械学習と数理最適化の融合~
hidenari
0
330
Transformer系機械学習モデルを取り巻くライブラリや用語を整理する
bobfromjapan
2
510
Running llama.cpp on the CPU
ianozsvald
0
230
Introduction to Graph Neural Networks
joisino
4
1.5k
Machine Learning for Materials (Lecture 1)
aronwalsh
1
1.5k
Cross-Media Information Spaces and Architectures (CISA)
signer
PRO
3
25k
JSol'Ex : solar image processing in Java
melix
0
260
SIGDIAL論文読み会: PGTask: Introducing the Task of Profile Generation from Dialogues
kaiyo3
0
110
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
What's new in Ruby 2.0
geeforr
338
31k
The Art of Programming - Codeland 2020
erikaheidi
43
12k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
Building Flexible Design Systems
yeseniaperezcruz
320
37k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Building an army of robots
kneath
300
41k
Fireside Chat
paigeccino
22
2.7k
Designing the Hi-DPI Web
ddemaree
276
33k
The Illustrated Children's Guide to Kubernetes
chrisshort
32
47k
Producing Creativity
orderedlist
PRO
338
39k
Music & Morning Musume
bryan
41
5.6k
Transcript
ChatGPTの新機能「Function calling」 を試してみた KMiura(@k_miura_io)
自己紹介 • 三浦 耕生(こうき) • 自動運転のスタートアップのエ ンジニア • JAWS UG名古屋運営
@k_miura_io koki.miura05
祝・IoT LT 100回
ChatGPT使ってますか? • それまでのAIチャットと違ってテキスト以外 にもソースコードを生成することができる のでエンジニアにも重宝されている • リリースされてから半年たっても日々進化 し続けている • 無料でも割と精度高く返答される(無課金
なのでGPT-4は未検証)
ChatGPTにはAPIが存在する • APIを使えば自分のシステムに入れること で自前のアプリケーションに簡単に ChatGPTを導入できる • PythonやNode.jsのSDKも提供されている • 無料でトライアルから始めることができる
ベタな事例 やっぱりチャットといえばLINE
ChatGPT Plugin • いろんなサービスがサードパーティのプラ グインを提供している • スマートスピーカーで言うところのスキル みたいなもん? • ChatGPT
Plusのユーザーが優先的に使 える
自分でも機能拡張したい
Function calling • 6/13にリリースされた新機能 • メッセージの内容をもとに予め用意した関 数を呼び出すために必要な引数をJSON オブジェクトを生成する機能 • 関数を呼び出すために必要なデータ構造
を定義すると確実に関数を呼び出すため に必要なデータを取り出せる
LINE botに実装してみた • 指定した場所の天気を尋ねるLINE bot • 指定した都市の天気をAPIから取得している • 天気以外は普通にChatGPTが返答する
DEMO
1回目のAPIリクエスト • 入力のパラメータと型を指定することでそれを もとに入力されたメッセージを解析してくれる • 解析した内容を関数の入力に使用する • ある程度意味のあるプロパティー名を指定す ることで意図した名前が取得できる •
Enumも定義できる https://openai.com/blog/function- calling-and-other-api-updates
2回目のリクエスト • 1回目のリクエストによってfuncitonsに定義し た解析モデルにより取得した値をもとに関数を 実行した結果をリクエストに追加する • 関数の出力を ”role”: “function”の値として 入力することでその入力値をよしなにレスポン
スに変換してくれる https://openai.com/blog/function- calling-and-other-api-updates
まとめ • ChatGPTの新機能Function Callを使えば自前のアプリのための機能拡張を簡単に作 ることができる • 関数の入力、出力をJSONでやり取りすることであとはよしなに返答を作ってくれる • ある程度プログラミングセンスが問われる(AIに寄り添おう)
宣伝 https://machine-learning.connpass.com/event/284031/
ちょっとだけ展示物紹介 • IoTLTブースにてマスクをつけている人を識別 するシステムを展示中 • Vol.71のLTで発表した内容のイベント向けデモ • マスクを付けている人も付けてない人も是非お 試しを! https://bit.ly/42JrIEI
↑ ProtoPedia
END