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.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
AWS×IoTについて語り合う会
miura55
0
60
クラウドを活用して家電をハックしてみた
miura55
0
55
Amplify Gen2でLambda構築してみた
miura55
0
72
Amplify Gen2でLambda構築してみた
miura55
1
500
Amplify Gen2がGAされたので試してみた
miura55
0
81
VS CodeとVimが好きなエンジニアが考えた最強のエディタ
miura55
0
180
オープンソースのロボットソフトウェア「ROS」で地図作成を試してみた
miura55
0
280
Cloudflare WorkersがPythonに対応したので試してみた
miura55
0
400
個人のAWSアカウントをマルチ運用してみた
miura55
2
360
Other Decks in Science
See All in Science
拡散モデルの概要 −§2. スコアベースモデルについて−
nearme_tech
PRO
0
220
2024-06-16-pydata_london
sofievl
0
370
PRML Chapter 1 (1.3-1.6)
snkmr
1
170
いまAI組織が求める企画開発エンジニアとは?
roadroller
2
1.1k
ICRA2024 速報
rpc
3
4.4k
Machine Learning for Materials (Lecture 2)
aronwalsh
0
640
Endocannabinology 101
drbonci
PRO
0
300
深層学習を利用して 大豆の外部欠陥を判別した研究事例の紹介
kentaitakura
0
150
バックアップ『しながら』ランサムウェア検出も!? セキュリティ強化が満載 Veeam 12.1
climbteam
0
540
20分で分かる Human-in-the-Loop 機械学習におけるアノテーションとヒューマンコンピューターインタラクションの真髄
hurutoriya
3
1.2k
山形とさくらんぼに関するレクチャー(YG-900)
07jp27
1
160
Running llama.cpp on the CPU
ianozsvald
0
310
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Building a Scalable Design System with Sketch
lauravandoore
458
32k
Atom: Resistance is Futile
akmur
261
25k
Making Projects Easy
brettharned
111
5.7k
Why Our Code Smells
bkeepers
PRO
332
56k
The MySQL Ecosystem @ GitHub 2015
samlambert
248
12k
Ruby is Unlike a Banana
tanoku
96
10k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
35
6.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
224
21k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
353
29k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
12
3.8k
Typedesign – Prime Four
hannesfritz
37
2.2k
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