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
810
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)
Node-REDのFunctionノードでMCPサーバーの実装を試してみた / Node-RED × MCP 勉強会 vol.1
you
PRO
0
130
総額200円の入力インターフェースで年齢問わず楽しめる体験型展示 / エンジニアの自由研究発表会vol.10
you
PRO
0
57
Node−RED で Ollama を使ったローカルLLM(node-red-contrib-ollamaを利用) / ビジュアルプログラミングIoTLT vol.20
you
PRO
0
180
AIエージェント開発や最新の生成AIのAPI利用などJavaScriptで色々やってみる / IoTLT vol.123
you
PRO
0
110
ChatGPT からモックサーバー宛(Beeceptor宛)の HTTPリクエストを試す / IoTLT 202504
you
PRO
0
100
デモをまじえつつの生成AIの話題 / 横須賀プログラミング“夢”アカデミー発表会(2025年3月)
you
PRO
0
51
もくはりでのモノ作りと自身のモノ作り活動 / もくはり文化祭2024 オープン記念イベント
you
PRO
0
55
"かわいい" がテーマのハッカソンでWebの技術を使って魔法の世界を作った話など / HTML5 10th Anniversary
you
PRO
0
110
ブラウザで AI・機械学習が扱える TensorFlow.js が使われているライブラリなどの話 / #さくらのAI Meetup vol.4「ブラウザ」
you
PRO
0
240
Other Decks in Technology
See All in Technology
KiCadでPad on Viaの基板作ってみた
iotengineer22
0
240
本が全く読めなかった過去の自分へ
genshun9
0
730
ドメイン特化なCLIPモデルとデータセットの紹介
tattaka
2
540
論文紹介:LLMDet (CVPR2025 Highlight)
tattaka
0
260
使いたいMCPサーバーはWeb APIをラップして自分で作る #QiitaBash
bengo4com
0
1.5k
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
2
690
「Chatwork」の認証基盤の移行とログ活用によるプロダクト改善
kubell_hr
1
240
開発生産性を組織全体の「生産性」へ! 部門間連携の壁を越える実践的ステップ
sudo5in5k
1
3k
B2C&B2B&社内向けサービスを抱える開発組織におけるサービス価値を最大化するイニシアチブ管理
belongadmin
1
2.8k
一体いつからSRE NEXTがSREだけのカンファレンスだと錯覚していた? / When did you ever get the idea that SRE NEXT was a conference just for SREs?
vtryo
1
130
Yamla: Rustでつくるリアルタイム性を追求した機械学習基盤 / Yamla: A Rust-Based Machine Learning Platform Pursuing Real-Time Capabilities
lycorptech_jp
PRO
4
190
ビギナーであり続ける/beginning
ikuodanaka
3
550
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Balancing Empowerment & Direction
lara
1
400
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
940
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Unsuck your backbone
ammeep
671
58k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
KATA
mclloyd
30
14k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.4k
Code Reviewing Like a Champion
maltzj
524
40k
Side Projects
sachag
455
42k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
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行 ほどのプログラム
終わり!