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
400
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
290
Azure AI servicesと歯のおはなし/AzureTravelers_Fukuoka2024_baba
nina01
1
190
cloudugnight2nd-20240531
nina01
1
360
Azure FunctionsのAOAIバインド機能を試してみる/dotnet2days20240118-baba
nina01
0
170
AzureでWaiting roomをつくる!新米アーキテクトの挑戦記/jazug-for-women-20231215-baba
nina01
1
820
開発者のためのGitHub Advanced Security入門セキュリティを向上させよう!/cndfpre2023-baba
nina01
1
1.2k
Azure Policyとガバナンスのおはなし/globalazure2023-baba
nina01
0
920
Azure Functionsをサクッと開発、サクッとデプロイ/vscodeconf2023-baba
nina01
2
1.3k
Other Decks in Technology
See All in Technology
Findy Team+のSOC2取得までの道のり
rvirus0817
0
240
「Verify with Wallet API」を アプリに導入するために
hinakko
1
110
いまさら聞けない ABテスト入門
skmr2348
1
170
Goに育てられ開発者向けセキュリティ事業を立ち上げた僕が今向き合う、AI × セキュリティの最前線 / Go Conference 2025
flatt_security
0
290
20250929_QaaS_vol20
mura_shin
0
110
SOC2取得の全体像
shonansurvivors
1
340
実装で解き明かす並行処理の歴史
zozotech
PRO
1
120
AI時代だからこそ考える、僕らが本当につくりたいスクラムチーム / A Scrum Team we really want to create in this AI era
takaking22
1
140
Streamlit は社内ツールだけじゃない!PoC の速さで実現する'商用品質'の分析 SaaS アーキテクチャ
kdash
3
1.1k
OCI Network Firewall 概要
oracle4engineer
PRO
1
7.7k
入門 FormObject / An Introduction to FormObject #kaigionrails
expajp
2
1.6k
避けられないI/O待ちに対処する: Rails アプリにおけるSSEとasync gemの活用 / Tackling Inevitable I/O Latency in Rails Apps with SSE and the async gem
moznion
2
1.8k
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Side Projects
sachag
455
43k
The Invisible Side of Design
smashingmag
301
51k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
890
A better future with KSS
kneath
239
17k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
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. おわり