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
cloudugnight2nd-20240531
Search
Hirono Baba
May 31, 2024
Technology
1
280
cloudugnight2nd-20240531
Hirono Baba
May 31, 2024
Tweet
Share
More Decks by Hirono Baba
See All by Hirono Baba
Microsoft MVPになる前、なってから/Fukuoka_Tech_Women_Community_1_baba
nina01
0
230
Azure AI servicesと歯のおはなし/AzureTravelers_Fukuoka2024_baba
nina01
1
150
Azure犬駆動開発の記録/GlobalAzureFukuoka2024_20240420
nina01
1
350
Azure FunctionsのAOAIバインド機能を試してみる/dotnet2days20240118-baba
nina01
0
140
AzureでWaiting roomをつくる!新米アーキテクトの挑戦記/jazug-for-women-20231215-baba
nina01
1
690
開発者のためのGitHub Advanced Security入門セキュリティを向上させよう!/cndfpre2023-baba
nina01
1
970
Azure Policyとガバナンスのおはなし/globalazure2023-baba
nina01
0
800
Azure Functionsをサクッと開発、サクッとデプロイ/vscodeconf2023-baba
nina01
2
1.1k
Other Decks in Technology
See All in Technology
Classmethod AI Talks(CATs) #16 司会進行スライド(2025.02.12) / classmethod-ai-talks-aka-cats_moderator-slides_vol16_2025-02-12
shinyaa31
0
110
Raycast AI APIを使ってちょっと便利な拡張機能を作ってみた / created-a-handy-extension-using-the-raycast-ai-api
kawamataryo
0
100
あれは良かった、あれは苦労したB2B2C型SaaSの新規開発におけるCloud Spanner
hirohito1108
2
620
偶然 × 行動で人生の可能性を広げよう / Serendipity × Action: Discover Your Possibilities
ar_tama
1
1.1k
AndroidXR 開発ツールごとの できることできないこと
donabe3
0
130
開発スピードは上がっている…品質はどうする? スピードと品質を両立させるためのプロダクト開発の進め方とは #DevSumi #DevSumiB / Agile And Quality
nihonbuson
2
3k
JEDAI Meetup! Databricks AI/BI概要
databricksjapan
0
150
OpenID Connect for Identity Assurance の概要と翻訳版のご紹介 / 20250219-BizDay17-OIDC4IDA-Intro
oidfj
0
280
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
550
レビューを増やしつつ 高評価維持するテクニック
tsuzuki817
1
730
オブザーバビリティの観点でみるAWS / AWS from observability perspective
ymotongpoo
8
1.5k
滅・サービスクラス🔥 / Destruction Service Class
sinsoku
6
1.6k
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
It's Worth the Effort
3n
184
28k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Code Review Best Practice
trishagee
67
18k
Designing for Performance
lara
604
68k
Music & Morning Musume
bryan
46
6.3k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Thoughts on Productivity
jonyablonski
69
4.5k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
Transcript
Azure Functionsの最新アップデート をチェックしてみる 2024/5/31 福岡クラウドUG Night 2nd 馬場ひろの Hirono Baba
スピーカーについて ◼ 馬場ひろの ◼ (株)オルターブース所属 ◼ JAZUG福岡 ◼ ex 歯科医師
◼ AzureやGitHub, .NETがんばってます @nina-sensei
JAZUG(Japan Azure User Group) ◼ JAZUG(通称:ジャズ、ジャズユージ―) ◼ JAZUGは、Microsoft Azureを学び、楽しみ、活かすユーザーグループ ◼
https://jazug.connpass.com/ ◼ 福岡支部は「ふくあず」 ◼ JAZUG for Women ◼ 女性エンジニアが主役のAzure勉強会 ◼ 現地会場は、女性のみ参加が可能(オンラインは誰でも視聴可能)
コミュニティ活動 ◼ 最近の活動 ◼ 4/20(土):Global Azure in Fukuoka ◼ 世界中のAzureコミュニティが3日間にわたり一斉に開催するイベント
◼ 初めて福岡で開催しました!(日本は東京、北海道、福岡で同時開催) ◼ 直近のイベント ◼ 6/14(金):第3回 JAZUG for Women ◼ オンサイト(東京)、オンラインのハイブリッド開催 ◼ Azure Travelers ◼ 日本各地を回るAzureのコミュニティイベント ◼ 10月に福岡で開催決定!
発表内容について ◼ 今日話すこと ◼ Azure Functionsのアップデート ◼ Flex consumptionについて ◼
OpenAIバインド機能について ◼ 目的 ◼ 2024年5月現在のAzure Functionsの最新アップデートをキャッチアップすること ◼ 対象者 ◼ クラウド初~中級者向け ◼ サーバーレス好きな人
Azure ◼ Microsoft Azureについて ◼ Microsoftが提供するクラウドコンピューティングサービス ◼ サービスの種類 ◼ IaaS,
PaaS, SaaS等 ◼ エンタープライズ向けのサポート ◼ Microsoft365などのMicrosoft製品とスムーズな統合 ◼ 200以上のサービスが展開されている
Microsoft Build 2024 ◼ Microsoft Build とは( 5/21‐23 ) ◼
Microsoftが年に一度開催する開発者向けのカンファレンス ◼ Microsoft Build Japan(6/27‐28) ◼ 今年もたくさんのアップデートがありました! ◼ GPT-4oがAzure OpenAI Service上でGA ◼ GitHub Copilot Workspace:Private Preview ◼ GitHub Copilot for Azure:Public Preview などなど… ◼ アップデートはBook of Newsから見ることができます https://news.microsoft.com/build-2024-book-of-news/ja/
Azure Functions推しです ◼ Azure Functionsとは ◼ イベントをトリガーとしてプログラムを実行するAzureのサービス ◼ HTTP, Timer,
Queue, その他Azureのサービスをトリガーとすることができる ◼ サーバーレスコンピューティングプラットフォーム ◼ 関数1つからデプロイ可能 ◼ 様々な言語をサポート ◼ C#, JavaScript, Java, PowerShell, Python, TypeScript ◼ 低価格で試すことができる ◼ バインド機能あり
Azure Functionsのアップデートたち ◼ Azure Functions が Azure Container Apps で利用可能に
◼ Azure Functions の Azure SQL トリガー サポート ◼ Azure Functions による Node.js での HTTP ストリームのサポート ◼ Dapr 用の Azure Functions 拡張機能 ◼ Azure Event Grid テンプレートと VS Code 統合を備えた Blob トリガーが利用可能 ◼ Flex Consumptionプランの登場 ◼ OpenAI 向け Azure Functions 拡張機能 ◼ Python での Azure Functions を使用した Azure Blob Storage の SDK 型バインディング ◼ Azure Functions による Python での HTTP ストリームのサポート ◼ Azure Load Testing と Azure Functions の統合 GA Public Preview
Flex consumption
サーバーレスコールドスタートを理解する ◼ コールドスタートとは ◼ 使用されていないアプリケーションの起動に時間がかかる現象 ◼ 一定時間アイドル状態だとインスタンスが落とされる ◼ Azure Functionsが実行されるまで
容量のあるサーバー にアプリケーション を割り当てる Functionsランタイ ムを設定する Functionsランタイ ムをリセット Functionsをメモリ にロードする コードが実行される ファイルをマウント App settingの適応 設定ファイルロード 拡張機能のロード
コールドスタートを回避するには ◼ 回避するためにできること ◼ GAされている(サポートされている)言語を使用する ◼ 軽量なコードを書く ◼ 依存関係に注意、効率的なコードを書く ◼
従量課金以外のプランを検討 ◼ Premiumプラン、App Serviceプランはプレウォーミングでき、事前にサーバーを温めておくこ とで回避できる Azure Functionsのプラン ◼ 従量課金プラン ◼ Premiumプラン ◼ App Service(専用)プラン しかしこれらのプランは料金が高いのがネック
新しいプランが登場 ◼ Flex Consumptionプラン ◼ Linuxベースのホスティングプラン ◼ 仮想ネットワークの統合 ◼ スケールの柔軟性
◼ インスタンス、メモリ サイズなどの複数の選択肢 ◼ インスタンスごとの同時実行 ◼ 関数ごとのスケーリング ◼ 常時使用可能なインスタンス Legionという バックエンドのおかげ 機能 従量課金プラン Flex Consumption プラン ゼロにスケール ◦ ◦ スケーリングの動作 イベントドリブン イベントドリブン (高速) 仮想ネットワーク ✕ ◦ コールドスタートの軽減 ✕ ◦ 料金 実行時間のみ 実行時間と常時使用 可能なインスタンス スケールアウト(最大) 200 1000
OpenAIバインド機能
Azure OpenAI Serviceとは ◼ OpenAI社が開発したAIモデルをAzure上で利用できるサービス ◼ GPT-4o, GPT-4 Turbo, GPT-4,
GPT-3.5, Embeddings, DALL-E, Whisper, Text to speech(Preview)
バインド機能まとめ ◼ 少ないコードで他のサービスに接続するための方法 Blob Storage Azure Cosmos DB Azure SQL
Dapr Event Grid HTTP と Webhook IoT Hub Kafka Mobile Apps Notification Hubs Queue Storage Redis RabbitMQ SendGrid Service Bus SignalR Table Storage Timer Twillio
Functionsのバインドってこんなの ◼ コード例 Azure Blobの入力バインディング Azure SQL Databaseの入力バインディング
現在開発されているバインド機能 ◼ Text completions ◼ テキスト補完、任意のテキストの続きを生成してくれる ◼ Assistants ◼ チャットボットをベースに、アシスタントの役割を担ってくれる
◼ Embeddings generators ◼ テキスト文字列の関連性をベクトル化し測定してくれる ◼ Semantic search ◼ 出力バインディング:ベクトルデータベースにドキュメントをインポート ◼ 入力バインディング:データベース内のドキュメントにクエリを発行
準備 ◼ NuGet Packagesをインス トールする ◼ Azure OpenAI Serviceのリ ソースを作成
◼ AZURE_OPENAI_KEY と AZURE_OPENAI_ENDPOINT をlocal.settings.jsonに設定 ◼ 実行環境 ◼ Visual Studio 2022 ◼ .NET6.0(In-Processモデル) ◼ Azure Functions Core Tools v4.x
AOAIの設定 ◼ リソースからキーとエンドポイントを取得 ◼ Azure OpenAI Studioでモデルのデプロイを忘れずに
Text Completions ◼ プロンプトとモデルは必須 ◼ Temperature, TopP, MaxTokenを指定可能 ◼ 自分でAPIを呼び出すより
◼ 少ないコードで実装できる ◼ 簡単に実装可能 ◼ カスタマイズ性は乏しい プロンプト
メリットデメリットを考えてみた ◼ Azure OpenAIをAPIで呼び出した場合と比較して ◼ メリット ◼ 少ないコードで実装できる ◼ あらかじめエラーハンドリングしてくれている
◼ 他のAzureサービスと統合しやすくなる ◼ デメリット ◼ カスタマイズ性に欠ける ◼ APIリクエストの内容やエラーハンドリングなど自由に設計できない
Azure Functionsを用いて開発をしてます ◼ Azure Functions × Azure Static Web Apps
× Azure OpenAI Serviceで犬用アプリを開発してます(家庭で運用中) ◼ 先月のGlabal Azure in Fukuokaで発表しました ◼ このアプリでもバインド機能を 使ってAOAI呼び出してみたい と思います ◼ ご清聴ありがとうございました