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
2.6k
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
Bedrock Knowledge baseを使って今年の上半期のニュースを聞いてみた(リベンジ編)
miura55
0
170
Is it wrong to use a web framework with Lambda?
miura55
0
120
Bedrock Knowledge baseを使って今年の上半期のニュースを聞いてみた
miura55
0
140
AWS×IoTについて語り合う会
miura55
0
90
クラウドを活用して家電をハックしてみた
miura55
0
95
Amplify Gen2でLambda構築してみた
miura55
0
120
Amplify Gen2でLambda構築してみた
miura55
1
870
Amplify Gen2がGAされたので試してみた
miura55
0
140
VS CodeとVimが好きなエンジニアが考えた最強のエディタ
miura55
0
290
Other Decks in Science
See All in Science
Raccoon Roundworm
uni_of_nomi
0
160
【人工衛星開発】能見研究室紹介動画
02hattori11sat03
0
140
Science of Scienceおよび科学計量学に関する研究論文の俯瞰可視化_ポスター版
hayataka88
0
120
作業領域内の障害物を回避可能なバイナリマニピュレータの設計 / Design of binary manipulator avoiding obstacles in workspace
konakalab
0
160
Snowflake上でRを使う: RStudioセットアップとShinyアプリケーションのデプロイ
ktatsuya
0
400
拡散モデルの概要 −§2. スコアベースモデルについて−
nearme_tech
PRO
0
510
DEIM2024 チュートリアル ~AWSで生成AIのRAGを使ったチャットボットを作ってみよう~
yamahiro
3
1.3k
Online Feedback Optimization
floriandoerfler
0
150
The Incredible Machine: Developer Productivity and the Impact of AI
tomzimmermann
0
380
理論計算機科学における 数学の応用: 擬似ランダムネス
nobushimi
1
330
機械学習を支える連続最適化
nearme_tech
PRO
1
130
General Parasitology
uni_of_nomi
0
120
Featured
See All Featured
A better future with KSS
kneath
238
17k
Building Your Own Lightsaber
phodgson
102
6.1k
Designing for Performance
lara
604
68k
Imperfection Machines: The Place of Print at Facebook
scottboms
264
13k
Scaling GitHub
holman
458
140k
It's Worth the Effort
3n
183
27k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
A Philosophy of Restraint
colly
203
16k
Visualization
eitanlees
145
15k
Learning to Love Humans: Emotional Interface Design
aarron
272
40k
What's in a price? How to price your products and services
michaelherold
243
12k
Typedesign – Prime Four
hannesfritz
39
2.4k
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