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
0
830
ChatGPT(GPT-4版)でIoTやってみた / IoTLT vol.97
you(@youtoy)
PRO
March 23, 2023
Tweet
Share
More Decks by you(@youtoy)
See All by you(@youtoy)
ブラウザのAPIで Nintendo Switch用の特殊なゲーム用コントローラーを体験型コンテンツに / IoTLT @ストラタシス・ジャパン
you
PRO
0
87
ローカルLLMとLINE Botの組み合わせ その2(EVO-X2でgpt-oss-120bを利用) / LINE DC Generative AI Meetup #7
you
PRO
0
140
生成AIとM5Stack / M5 Japan Tour 2025 Autumn 東京
you
PRO
0
270
子ども向けの活動や自身のモノづくり活動などでやったこと / micro:bit ファンの集い
you
PRO
0
13
ブラウザのAPIで色々なデバイスをあれこれ扱ってみた話(主にWeb HID API) / IoTLT @JLCPCB オープンハードカンファレンス
you
PRO
0
130
ヒーローズ・リーグの応募作品で使ったデバイス・アイテム・ライブラリなど / #ヒーローズリーグ 2025 開発素材LT
you
PRO
0
40
最近発売された端末+UIFlow 2.0の組み合わせ(+1.0の話)をUSB接続で / ビジュアルプログラミングIoTLT vol.21
you
PRO
0
100
AIエージェント開発用SDKとローカルLLMをLINE Botと組み合わせてみた / LINEを使ったLT大会 #14
you
PRO
0
210
ブラウザで CircuitPython の開発:公式の「CircuitPython Code Editor」を試した / 【屋形船開催】IoT縛りの勉強会! IoTLT vol.126 @東京湾
you
PRO
0
140
Other Decks in Technology
See All in Technology
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
310
Claude Codeを駆使した初めてのiOSアプリ開発 ~ゼロから3週間でグローバルハッカソンで入賞するまで~
oikon48
10
5.3k
Linux カーネルが支えるコンテナの仕組み / LF Japan Community Days 2025 Osaka
tenforward
1
110
物体検出モデルでシイタケの収穫時期を自動判定してみた。 #devio2025
lamaglama39
0
260
dbtとBigQuery MLで実現する リクルートの営業支援基盤のモデル開発と保守運用
recruitengineers
PRO
3
150
MCP ✖️ Apps SDKを触ってみた
hisuzuya
0
270
SCONE - 動画配信の帯域を最適化する新プロトコル
kazuho
1
310
Introduction to Bill One Development Engineer
sansan33
PRO
0
300
ソフトウェアエンジニアの生成AI活用と、これから
lycorptech_jp
PRO
0
790
初めてのDatabricks Apps開発
taka_aki
1
230
それでも私が品質保証プロセスを作り続ける理由 #テストラジオ / Why I still continue to create QA process
pineapplecandy
0
150
AI-Readyを目指した非構造化データのメダリオンアーキテクチャ
r_miura
1
270
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
What's in a price? How to price your products and services
michaelherold
246
12k
Building Adaptive Systems
keathley
44
2.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
BBQ
matthewcrist
89
9.8k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
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行 ほどのプログラム
終わり!