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
3.1k
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
運用しているアプリケーションのDBのリプレイスをやってみた
miura55
1
890
Amazon Rekognitionを使ったインターホンハック
miura55
0
36
Pythonでルンバをハックしてみた
miura55
0
86
あなたの知らないクラフトビールの世界
miura55
0
250
Storage Browser for Amazon S3を触ってみた + α
miura55
0
140
Cloudflare R2をトリガーにCloudflare Workersを動かしてみた
miura55
0
150
あのボタンでつながるSORACOM
miura55
0
90
Postman Flowsで作るAPI連携LINE Bot
miura55
0
310
Lambdaと共に歩んだAWS
miura55
3
680
Other Decks in Science
See All in Science
眼科AIコンテスト2024_特別賞_6位Solution
pon0matsu
0
280
Trend Classification of InSAR Displacement Time Series Using SAE–CNN
satai
3
140
解説!データ基盤の進化を後押しする手順とタイミング
shomaekawa
1
400
証明支援系LEANに入門しよう
unaoya
0
650
The Incredible Machine: Developer Productivity and the Impact of AI
tomzimmermann
0
550
MoveItを使った産業用ロボット向け動作作成方法の紹介 / Introduction to creating motion for industrial robots using MoveIt
ry0_ka
0
310
学術講演会中央大学学員会大分支部
tagtag
0
120
地表面抽出の方法であるSMRFについて紹介
kentaitakura
1
330
メール送信サーバの集約における透過型SMTP プロキシの定量評価 / Quantitative Evaluation of Transparent SMTP Proxy in Email Sending Server Aggregation
linyows
0
670
生成AI による論文執筆サポートの手引き(ワークショップ) / A guide to supporting dissertation writing with generative AI (workshop)
ks91
PRO
0
400
20分で分かる Human-in-the-Loop 機械学習におけるアノテーションとヒューマンコンピューターインタラクションの真髄
hurutoriya
5
2.8k
03_草原和博_広島大学大学院人間社会科学研究科教授_デジタル_シティズンシップシティで_新たな_学び__をつくる.pdf
sip3ristex
0
140
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
How STYLIGHT went responsive
nonsquared
98
5.4k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
640
Build your cross-platform service in a week with App Engine
jlugia
229
18k
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