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
Azure犬駆動開発の記録/GlobalAzureFukuoka2024_20240420
Search
Hirono Baba
April 20, 2024
Technology
1
360
Azure犬駆動開発の記録/GlobalAzureFukuoka2024_20240420
Hirono Baba
April 20, 2024
Tweet
Share
More Decks by Hirono Baba
See All by Hirono Baba
Microsoft MVPになる前、なってから/Fukuoka_Tech_Women_Community_1_baba
nina01
0
240
Azure AI servicesと歯のおはなし/AzureTravelers_Fukuoka2024_baba
nina01
1
160
cloudugnight2nd-20240531
nina01
1
300
Azure FunctionsのAOAIバインド機能を試してみる/dotnet2days20240118-baba
nina01
0
150
AzureでWaiting roomをつくる!新米アーキテクトの挑戦記/jazug-for-women-20231215-baba
nina01
1
720
開発者のためのGitHub Advanced Security入門セキュリティを向上させよう!/cndfpre2023-baba
nina01
1
1.1k
Azure Policyとガバナンスのおはなし/globalazure2023-baba
nina01
0
830
Azure Functionsをサクッと開発、サクッとデプロイ/vscodeconf2023-baba
nina01
2
1.2k
Other Decks in Technology
See All in Technology
マルチアカウント管理で必須!AWS Organizationsの機能とユースケース解説
nrinetcom
PRO
1
100
DevOps文化を育むQA 〜カルチャーバブルを生み出す戦略〜 / 20250317 Atsushi Funahashi
shift_evolve
1
120
Compose MultiplatformにおけるiOSネイティブ実装のベストプラクティス
enomotok
1
220
モノリスの認知負荷に立ち向かう、コードの所有者という思想と現実
kzkmaeda
0
110
20250328_RubyKaigiで出会い鯛_____RubyKaigiから始まったはじめてのOSSコントリビュート.pdf
mterada1228
0
180
Riverpod & Riverpod Generatorを利用して状態管理部分の処理を書き換えてみる簡単な事例紹介
fumiyasac0921
0
110
Medmain FACTBOOK
akinaootani
0
120
技術好きなエンジニアが _リーダーへの進化_ によって得たものと失ったもの / The Gains and Losses of a Tech-Enthusiast Engineer’s “Evolution into Leadership”
kaminashi
0
210
AIエージェントキャッチアップと論文リサーチ
os1ma
6
1.3k
小さく始めるDevOps 内製化支援から見えたDevOpsの始め方 / 20250317 Ken Takayanagi
shift_evolve
1
110
ゆるくVPC Latticeについてまとめてみたら、意外と奥深い件
masakiokuda
2
110
データベースで見る『家族アルバム みてね』の変遷 / The Evolution of Family Album Through the Lens of Databases
kohbis
3
830
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
245
12k
Making the Leap to Tech Lead
cromwellryan
133
9.2k
Code Review Best Practice
trishagee
67
18k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Navigating Team Friction
lara
184
15k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Being A Developer After 40
akosma
90
590k
Fireside Chat
paigeccino
37
3.3k
Facilitating Awesome Meetings
lara
53
6.3k
Transcript
Azure犬駆動開発の記録 2024/4/20 Global Azure in Fukuoka 馬場ひろの Hirono Baba
スピーカーについて ◼ 馬場ひろの ◼ (株)オルターブース所属 ◼ エンジニア4年生 ◼ AzureやGitHub, .NETがんばってます
◼ 夫、犬と3人(2人と1匹)家族 @nina-sensei
発表内容について ◼ 今日話すこと ◼ 我が家で2年超運用中の犬用システムの開発過程について ◼ 第1弾:ごはんあげた通知してくれるLINE Botの開発 ◼ 第2弾:ごはんあげた時間の記録が見れるWebページの開発
◼ 第3弾:イッヌがしゃべってる感じのBotの開発 ◼ 対象者 ◼ Azure初心者向け ◼ あまり高度な開発ではないです ◼ 息抜きにご覧ください
愛犬テイラーちゃん ◼ ロングコートチワワ(レッド) ◼ 6才、女の子 ◼ 関西出身 ◼ 性格:神経質 ◼
特技:拗ねる ◼ 宇宙一かわいい
第1弾
リモートワーク中に起こった、 お昼ごはんをあげたのかわからない問題 お昼休み遅くなった… テイラーのごはんあげてくれたかな? (ミーティング中なので部屋を閉めている) どうしよう確認が取れない… (おなかすいた)
◼ えさ用器の隣にIoTデバイスを設置 ◼ ごはんあげたらボタンを押す ◼ 押すとLINEに通知がくる 開発したシステム SORACOM Beam Messaging
API Azure Logic Apps SORACOM LTE-Mボタン
LTE-Mボタン + LINE Bot + Logic Apps ◼ SORACOM LTE-Mボタン
+ LINE Bot + Logic Appsで通知システムを作成 ◼ SORACOM LTE-M Button for Enterprise ◼ 3種類のクリックに応じたアクションをクラウド側で設定できる、自分だけのIoTボタンを作れる デバイス ◼ LTE-M通信を内蔵し、単四電池で駆動 ◼ クリックのパターンでBotの内容が変わる ◼ シングルクリック:お昼ごはんをあげた時 ◼ ダブルクリック:夜ごはんをあげた時 ◼ ロングクリック:ペットシーツを交換した時
Azure Logic Apps ※SORACOM、LINE側の設定は割愛
実際のLINE Bot ◼ (◐ㅈ◐)チワワの顔文字でテイラーがしゃべって いる感を演出 ◼ 犬と会話できているようで満足 ◼ クリック以外のレスポンスには定型文を送信
第1弾運用実績 ◼ 運用費(一か月あたり) ◼ SORACOM LTE-M Button for Enterprise ◼
月額:275円 ◼ Azure Logic Apps ◼ プラン:消費(従量課金の方):1円未満 ◼ 感想 ◼ ごはんを誰があげるかでもめなくなった ◼ ありがとうが増えた ◼ あげないほうも、ごはんをあげた確認ができるのが地味に助かる だいたいの実行回数 ◼ 昼:1回 ◼ 夜:1回 ◼ ペットシーツ交換時: 2~3日に1回
第2弾
ほしい機能ができた ◼ 通知のおかげでストレスなくごはんをあげられるようになった ◼ と同時に、ごはんをあげる時間のばらつきが気になるようになってきた ◼ 決まった時間にごはんをあげられているのか…? ◼ ごはんをあげた時間の記録を見たい! (◐ㅈ◐)はよくれ
追加機能 ◼ ごはんをあげた時間の記録が見たい ◼ Azure Table Storageに実行記録を保存 ◼ データをグラフで表示できるようにする ◼
Azure Static Web AppsでWebページを作成 Azure Static Web Apps (React.js) Azure Table Storage 当時社内の若手メンバーやインターンの 子たちとTS勉強会をやっていたので Reactを選定(初挑戦)
Webページを開発 ◼ 最初はLINE内にWebページを表示 できるLIFFアプリを作ろうとした ◼ Azure Static Web Appsの認証を 実装してみたかったのでWebペー
ジに変更 ◼ 折れ線グラフであげた時間を表示
第2弾運用実績 ◼ 運用費(一か月あたり) ◼ SORACOM LTE-M Button for Enterprise ◼
月額:275円 ◼ Azure Logic Apps ◼ プラン:消費(従量課金の方)、1円未満 ◼ Azure Static Web Apps ◼ プラン:Free、0円 ◼ Azure Table Storage ◼ 1円未満 ◼ 感想 ◼ 作成して1週間もしないうちに見なくなった ◼ 早々にサ終(SWAの勉強にはなった?) 原因:自分たちを追い込むだけの アプリになってしまった
第3弾
(このBotに)飽きてきた ◼ 2年超運用し、もはや我が家にはなくてはなら ないシステムとなった ◼ テイラーが話してる感が欲しくてこんなメッセ ージにしたのに、毎日見てるともちろん新鮮味 など皆無 ◼ いくつか返答パターンを作ってもいいが、どう
せならテイラーAIを作ろう…!
テイラーAI作成の作戦 ◼ いきなり本番用環境はいじれないので別アカウントのLINE Botを作る ◼ 本番環境はLogic Appsで運用中だが、先々を見据えてAzure Functions に移行することに Messaging
API Azure Functions Azure Open AI Service
AOAIリソースの作成 ◼ リソースからキーとエンドポイントを取得 ◼ Azure OpenAI Studioでモデルのデプロイを忘れずに
None
LINE Botの開発 ◼ Azure Open AIのSDKを使って実装 ◼ 最新バージョンでは`ChatMessage`は廃止 ◼ `ChatRequestSystemMessage`
◼ `ChatRequestUserMessage`
LINE Botの作成 ◼ 会話してみた ◼ 「わん」はやめてほしい ◼ SDKじゃなくてWeb APIたたく形にしても よかった
◼ でもAzure FunctionsのAOAIバインド機能 も使いたい ◼ どこまでできるかは要検証
改善点 ◼ 何往復か会話すると、設定が反映されなくなってくる問題 ◼ 今までの会話をプロンプトとして読み込ませるようコーディングしなおす? ◼ 会話の例をデータとして追加する?
今後について ◼ 本番環境にテイラーAIを組み込む ◼ Botの定型文がAIが生成した言葉に変わる ◼ テイラーAIの精度向上 ◼ Azure Logic
Apps → Azure Functionsに移行する ◼ Logic Appsに組み込んでもいいが、せっかくコーディングしたので使おう ◼ 勉強したいAzureサービスを組み込むアプリとして活用したい
Copyright © Alterbooth Inc. All Rights Reserved. おわり