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(GPT-4版)でIoTやってみた / IoTLT vol.97
Search
you(@youtoy)
PRO
March 23, 2023
Technology
890
0
Share
ChatGPT(GPT-4版)でIoTやってみた / IoTLT vol.97
you(@youtoy)
PRO
March 23, 2023
More Decks by you(@youtoy)
See All by you(@youtoy)
最近の技術系の話題で気になったもの色々(IoT系以外も) / IoTLT 花見予定会(たぶんBBQ) @都立潮風公園バーベキュー広場
you
PRO
1
330
Babylon.js を使って試した色々な内容 / Various things I tried using Babylon.js / Babylon.js 勉強会 vol.5
you
PRO
0
390
イベントで大活躍する電子ペーパー名札を作る(その2) 〜 M5PaperとM5PaperS3 〜 / IoTLT @ JLCPCB オープンハードカンファレンス
you
PRO
0
270
Deno・Bunの標準機能やElysiaJSを使ったWebSocketサーバー実装 / ラーメン屋を貸し切ってLT会! IoTLT 2026新年会
you
PRO
0
340
M5Stack Chain DualKey を UIFlow 2.0 + USB接続で試す / ビジュアルプログラミングIoTLT vol.22
you
PRO
2
210
ローカルLLMをJavaScriptで(少しAIエージェントSDKなどの話も) / 冬のJavaScript祭り @Pleasanter Lounge
you
PRO
0
970
Webの技術で「特殊なゲーム用コントローラーや他デバイスなど」とブラウザを連携させる / HTML5 11th Anniversary
you
PRO
0
100
ブラウザのAPIで Nintendo Switch用の特殊なゲーム用コントローラーを体験型コンテンツに / IoTLT @ストラタシス・ジャパン
you
PRO
0
220
ローカルLLMとLINE Botの組み合わせ その2(EVO-X2でgpt-oss-120bを利用) / LINE DC Generative AI Meetup #7
you
PRO
1
980
Other Decks in Technology
See All in Technology
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.4k
バイブコーディングで3倍早く⚪⚪を作ってみた
samakada
0
200
FessのAI検索モード:検索システムとLLMへの取り組み
marevol
0
150
Fabric MCPの紹介と使い分け
ryomaru0825
1
100
EMから幅を広げるために最近挑戦していること / Recent challenges I'm undertaking to expand my horizons beyond EM
hiro_torii
1
170
生成AIはソフトウェア開発の革命か、ソフトウェア工学の宿題再提出なのか -ソフトウェア品質特性の追加提案-
kyonmm
PRO
1
420
GitHub Copilot CLI と VS Code Agent Mode の使い分け
tomokusaba
0
110
データ定義の混乱と戦う 〜 管理会計と財務会計 〜
wonohe
0
170
AgentCore Managed Harness を使ってみよう
yakumo
2
280
AgentCore×VPCでの設計パターンn選と勘所
har1101
4
360
AIでAIをテストする - 音声AIエージェントの品質保証戦略
morix1500
1
160
今年注目する!データ分析プラットフォームでのAIの活用
nayuts
0
170
Featured
See All Featured
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
500
Done Done
chrislema
186
16k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
410
Between Models and Reality
mayunak
3
270
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
280
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
350
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
240
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
100
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
140
The Art of Programming - Codeland 2020
erikaheidi
57
14k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
330
Transcript
2023年3月23日 (木) IoTLT vol.97 @ソフトバンク 豊田陽介( ) @youtoy ChatGPT(GPT-4版)でIoTやってみた
自己紹介 豊田陽介( ) @youtoy ・IT系イベント主催、登壇や運営なども ・子ども向けの活動いろいろ ・ Microsoft MVP(2021/10 から)
プライベートでの活動 ・ガジェット大好き ・昨年12月の ChatGPT熱が、昨月くらい から再燃中 ※ 昨年のアドベントカレンダーで、12月 2日やその他の日で ChatGPTネタの 記事を書いたりしてた 好きなこと、他
生成系AIの話題、 盛りあがってますよね!
一昨日・昨日だけを見ても(その1) Adobeの画像生成AI 「Adobe Firefly」 Googleの対話AI 「Bard」の一般公開 日本はまだ 引用: https://www.itmedia.co.jp/news/articles/2303/21/news079.html
一昨日・昨日だけを見ても(その2) Microsoftの画像生成AI 「Bing Image Creator」 GitHubのコーディング支援 「GitHub Copilot X」 引用:
https://japan.cnet.com/article/35201549/ 今は英語 での入力
「Bing Image Creator」を軽く試してみた プロンプト 「Fantastic scenery of ice and flames」
DeepL翻訳で「氷と炎が 入りまじる幻想的な風景」 を英訳したもの
そんな生成系AIの1つ: OpenAIの「ChatGPT」
ChatGPTとは? ▪ 話題になりすぎてて、詳細説明は不要かも... ・OpenAIの出した対話型AI ・提供開始などは以下のとおり ・2022年11月30日: 一般公開 ・2023年3月2日: ChatGPT APIの一般公開
※1 ・2023年3月15日: GPT-4版提供 ※2 ※3 ※1 従量課金 ※2 Webからの利用には、有償版「ChatGPT Plus」が必要 ※3 現状、GPT-4のAPI利用はwaitlist登録が必要
そんな「ChatGPT」を 使ってIoT
最初の検証は 内容をシンプルにして実施
シンプルな機能の開発を 手伝ってもらう 「デバイスからのスマホ通知」
ここ数日のChatGPTの不具合に 見舞われ、ちょっと中途半端... 3/20 に使えない状態に その後、履歴が出ない・長文の 出力が途中でエラーに (履歴機能は、今朝7時台に復活)
試そうとしたこと シンプルな仕組みの例: M5Stack系デバイスのボタンを押したら スマホのLINEアプリに通知(LINE Notifyを利用) 検証内容: ・自分で作った場合と、以下を試した場合の比較 ・適当なプロンプト(詳細は書かない)で試す ・補足情報ありのプロンプトなどで試す ・情報がある/ないはずのデバイスについて聞く
(M5StickC Plus/ATOMS3 Lite) ・ボタン押下をユニットを使った処理に変更【未完】 ・細かな部分の検証【未完】
結果:「適当なプロンプト(詳細は書かない)」 プロンプト: M5Stackを使ってLINE Notifyで通知を送る プログラム 出力の概要: ・LINE Notifyのアクセストークン取得に関する簡単な説明 ・Arduino IDE開発の準備について簡単な説明
・loop()の中身が空、1度だけ通知を送るプログラム ※ LINE Notifyの処理のトリガーを指定してない部分は、 「setup()のWi-Fi接続成功後に1度だけ処理」に 出力は 「手順説明 + プログラム」 プログラム は、setup() で1回処理と いうものに
結果:「適当なプロンプト(詳細は書かない)」 ChatGPTでの入出力でのスクショ
結果:「適当なプロンプト(詳細は書かない)」 途中で出力が途切れたので 「続きを書いて」という入力を ChatGPTでの入出力でのスクショ
ここで得られた内容は、 「ちょっとだけ手直しをしたら 動くもの」という感じ
結果:最初の入力に情報を足して試す プロンプト: M5StickC Plus のボタンを押したら、LINE Notify で通知が送られるプログラム 出力の主な差分:
動くものが出てきた (アクセストークン、SSID・ パスワードを書きかえるだけ)
改善された理由は、 おそらくは再生成して出力が 変わったことと思われる (プロンプトの変更による改善ではなさそう)
結果:デバイス指定を2つ目の入力で プロンプト(ボタン押下指定あり+以下): デバイスは、M5StickC Plusを使いたいのですが、スケッチ例は そのまま使えますか?何か変更が必要ですか? 出力の冒頭部分: 【修正に関する補足】 ・M5StickC Plusのライブラリ をインポート
・ボタンA〜Cを使ったサンプル を、AとBのみにする変更
結果:ATOMS3 Liteを指定してみる ・ChatGPTの学習データには情報がないはず ⇒ ChatGPTの正常動作だが存在しないものも... 何度か試した結果: 「よく分からないので、Python でLINE Notifyを使う方法を...」 「ATOMS3Lite.h」の
インクルード ※ 実際には存在しない 「M5Atom.h」の インクルード
結果:ATOMS3 Liteを指定してみる ・「M5AtomS3.h」という名称だけ出してみる この時は、知らないライブラリ という内容込みの返答など
出てきた情報の正しさは 要検証という感じ (この挙動はChatGPTの仕様通りだけれど...)
Bingでもやってみた
結果:「少し補足情報あり」のプロンプト プロンプト(3つ): M5StickC Plus のボタンを押したら、LINE Notify で通知が送られるプログラム Arduino IDE のプログラムを示してください
サンプルコードを見せてください サンプルコードを見せてください 出力結果: ・LINE Notifyのアクセストークン・無線LAN情報 (SSID・パスワード)を変更するだけで無事に動作 ここでコードが出てきた
結果:「少し補足情報あり」のプロンプト
結果:「少し補足情報あり」のプロンプト
結果:「少し補足情報あり」のプロンプト プロンプト(1つ): M5StickC Plus のボタンを押したら、LINE Notifyで 通知が送られるプログラムのサンプルコードを見せてください サンプルコードを見せてください 出力結果: ・人感センサーを使う仕組みが混じったものが出てきたり
より複雑な内容で試したり、 より良い出力を得られるコツなど を模索していきたい
引き続き「生成AI + IoT」の お試しをやっていきたい!
余談:ChatGPT APIを処理に 組み込んだお試しの中の1つ
ブラウザで動く音声対話 ブラウザで p5.js ・p5.speech・ ChatGPT API を 利用した実装で ChatGPTと声でやりとりする仕組みの簡単な試作
APIを呼び出す処理はChatGPT作(GPT-3.5版) 公式の curlサンプルから ブラウザの fetch で呼び 出す処理の作成を依頼
余談:IoT系以外のコード 生成のお試しの1つ
p5.js(JavaScript)実装のブロック崩し プロンプト:「p5.jsでブロック崩しが遊べるプログラムを作って」 クラス構文も 使われた180行 ほどのプログラム
終わり!