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
390
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
270
Azure AI servicesと歯のおはなし/AzureTravelers_Fukuoka2024_baba
nina01
1
180
cloudugnight2nd-20240531
nina01
1
350
Azure FunctionsのAOAIバインド機能を試してみる/dotnet2days20240118-baba
nina01
0
160
AzureでWaiting roomをつくる!新米アーキテクトの挑戦記/jazug-for-women-20231215-baba
nina01
1
790
開発者のためのGitHub Advanced Security入門セキュリティを向上させよう!/cndfpre2023-baba
nina01
1
1.2k
Azure Policyとガバナンスのおはなし/globalazure2023-baba
nina01
0
900
Azure Functionsをサクッと開発、サクッとデプロイ/vscodeconf2023-baba
nina01
2
1.3k
Other Decks in Technology
See All in Technology
低レイヤソフトウェア技術者が YouTuberとして食っていこうとした話
sat
PRO
7
5.9k
M365アカウント侵害時の初動対応
lhazy
7
5k
Tiptapで実現する堅牢で柔軟なエディター開発
kirik
1
130
クマ×共生 HACKATHON - 熊対策を『特別な行動」から「生活の一部」に -
pharaohkj
0
150
Turn Your Community into a Fundraising Catalyst for Black Philanthropy Month
auctria
PRO
0
160
Semantic Machine Intelligence for Vision, Language, and Actions
keio_smilab
PRO
2
410
[TechNight #91] Oracle Database 最新パフォーマンス分析手法
oracle4engineer
PRO
2
110
増え続ける脆弱性に立ち向かう: 事前対策と優先度づけによる 持続可能な脆弱性管理 / Confronting the Rise of Vulnerabilities: Sustainable Management Through Proactive Measures and Prioritization
nttcom
1
210
メモ整理が苦手な者による頑張らないObsidian活用術
optim
0
140
モバイルゲームの開発を支える基盤の歩み ~再現性のある開発ラインを量産する秘訣~
qualiarts
0
540
ecspressoの設計思想に至る道 / sekkeinight2025
fujiwara3
12
2k
PHPでResult型やってみよう
higaki_program
0
200
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
524
40k
KATA
mclloyd
30
14k
Agile that works and the tools we love
rasmusluckow
329
21k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Making Projects Easy
brettharned
116
6.3k
Adopting Sorbet at Scale
ufuk
77
9.5k
Unsuck your backbone
ammeep
671
58k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
How GitHub (no longer) Works
holman
314
140k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
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. おわり