Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Azure OpenAIを使用したChatGPTもどきを作るためのIaCとDevOps環境を作...
Search
SoftBank Tech Night
July 28, 2023
Technology
2.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Azure OpenAIを使用したChatGPTもどきを作るためのIaCとDevOps環境を作ってみた
SoftBank Tech Night
July 28, 2023
More Decks by SoftBank Tech Night
See All by SoftBank Tech Night
ソフトバンク流!プラットフォームエンジニアリング実現へのアプローチ
sbtechnight
1
720
"作る"から"使われる"へ:Backstage 活用の現在地
sbtechnight
0
760
AIファーストを前提とした開発スタイルの変化
sbtechnight
0
500
ソフトバンクのネットワーク基盤を支えるSRv6 のこれまでとこれから
sbtechnight
0
1.4k
生成AI と Microsoft Power Apps を活用したとにかく早く PoC を回す環境の検討
sbtechnight
1
1.6k
生成AI離れを防ぐ、組織定着化のヒント
sbtechnight
11
7.9k
Blockchain/Web3 Walletの技術動向について
sbtechnight
0
1k
GPT3.5以降に性能がアップした理由に関する理論ほか
sbtechnight
3
2.2k
GPT 回答精度を上げるアプローチ
sbtechnight
5
8.6k
Other Decks in Technology
See All in Technology
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
130
AI時代だからこそ推したい!Gitコマンド再入門
munakata
0
170
DGX Spark でどこまでハッキングができるのか?
kash1064
0
170
自主式軟體工廠
philipz
0
260
AI駆動開発、viviONの1年 ── うまくいったこと・いかなかったこと
vivion
0
290
契約書画像からの情報抽出に特化した視覚接地モデルを育てる話
sansantech
PRO
1
160
不可逆な意思決定を避けながら10億超の顧客データを AI Ready にするデータ基盤設計
baseballyama
1
300
FactoryBotアンチパターン / factory_bot anti-patterns
toshimaru
0
150
freeeらしさをAIとともに作る / Creating the freee Experience with AI
ymrl
0
220
Datadog の学び方 - あるいは、オブザーバビリティを学ぶとは何か
mananyuki
1
540
実践! SRE × AI - ABEMA における AIOps -
tetsuya28
7
2.8k
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
800
Featured
See All Featured
Are puppies a ranking factor?
jonoalderson
2
4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
300
HDC tutorial
michielstock
2
950
Game over? The fight for quality and originality in the time of robots
wayneb77
1
300
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
300
Paper Plane (Part 1)
katiecoart
PRO
2
11k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
330
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
280
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
700
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Transcript
Azure OpenAIを使用した ChatGPTもどきを作るためのIaCとDevOps SoftBank テクノロジーユニット 共通プラットフォーム開発本部 宮田 銀河 1 2023年
7月29日
【経験】 • インフラのコード化・デプロイの自動化 • Webアプリ開発 (フロント・サーバ) • 2023 AWS Jr.
Champion & All Certifications Engineer 自己紹介: 宮田 銀河 2 合格した資格 (22コ) AWS12冠
今回の発表内容 ↑話しません 3 生成AIの詳しい 仕組み 【Azure】 生成AIアプリの デプロイ自動化 メイン
Azure OpenAIを使用した ChatGPTもどきを作るためのIaCとDevOps 4
Azure OpenAIを使用した ChatGPTもどき?を作るためのIaCとDevOps 5
ChatGPTもどきのデモ動画 (資料の構成案) 6
7 ChatGPTもどきのデモ動画 (車の画像)
「え? ChatGPTで良くない?」 と思った方へ 8
Azure OpenAI: GPT-3.5 (ChatGPTと同じ) がAzure上で使え、 可用性・セキュリテイ・監視が優れている ChatGPT と Azure OpenAIの比較
9 提供会社 ChatGPT Azure OpenAI 使えるモデル • GPT-4 • GPT-3.5 • DALL-E • GPT-4 • GPT-3.5 • DALL-E 可用性 • SLAなし • SLA99.9% セキュリティ • 閉域接続が不可 • 閉域接続が可能 監視 • 独自に監視設定が必要 • ログ・メトリックの監視 2023/07/21時点
提供会社 Azure OpenAI 可用性 • SLA99.9% セキュリティ • 閉域接続が可能 監視
• ログ・メトリックの監視 顧客 顧客 顧客 顧客 顧客 顧客 生成AIを • いつでも自由に使いたい • セキュアな環境で使いたい • どのくらい使われているかを知りたい 上記を満たす ChatGPTを使いたい Azure OpenAIを使いたい理由 10 →Azure OpenAIの活用が不可欠
Azure OpenAIを迅速に構築/検証できるサービス (SoftBankの法人サービス) 参考URL 11 本サービスの提供に、IaCとDevOpsが不可欠だった
Azure OpenAIを使用した ChatGPTもどきを作るためのIaCとDevOps 12
以下リソースが作成される IaC = Infrastructure as Code (インフラのコード化) 13 コマンド実行 Virtual
Network Azure OpenAI Service IaC (Terraform)のコード
数個のコマンドを実行するだけで、環境の構築が可能 →誰でも迅速にデプロイ可能 & 手作業のミスが減る IaCを導入するメリット 14 Azure環境 Terraform デプロイ Virtual
Network Azure OpenAI Service Network Security Group Network Security Group App Service Private Endpoin Private DNS 作業者
Azure OpenAIを使用した ChatGPTもどきを作るためのIaCとDevOps 15
DevOps: 開発(Dev)と運用(Ops)を支援する仕組み 開発者と運用者がスムーズに開発〜運用可能 →システムの価値を継続的に向上できる 16 DevOpsの要素である”デプロイの自動化”をメインで説明
今回作成した インフラの自動デプロイの仕組み 17
インフラの自動デプロイの流れ • 人の仕事はTFファイルの準備 & 承認だけ • インフラを迅速にデプロイ可能 18 作業者 GitHubにTFファイルをpush、PR作成
PRを承認し、マージする terraform plan terraform apply (約10分) 承認 TFファイル TFファイルを準備 自動 自動
デプロイ自動化 → 顧客にも素早く展開が可能 19 顧客B 顧客C 顧客A 作業者 TFファイル 検証環境
今回作成した Chatアプリの自動デプロイの仕組み 20
Chatアプリの自動デプロイの流れ • 人の仕事はコーディング&ブランチ作成だけ • 静的解析/E2Eテスト→コード品質を高く保てる • URLをクリックするだけで動作確認可能 21 GitHubに検証ブランチを作成する E2Eテストが実行される
静的解析が実行される 検証環境がデプロイされる App Service 検証環境 (デプロイスロット) 検証ブランチ 自動
この仕組みが”ない”と、PRレビューが遅くなる (参考) 22 開発者A 開発者B
この仕組みが”ある”と、PRレビューが速くなる 23 開発者A 開発者B
24 Azure OpenAIを使用した ChatGPTもどきを作るためのIaCとDevOps の作成過程で困ったこと
Azure OpenAIが最新サービスなので、サンプルコードが見つからない →ChatGPTに生成させたコードや試行錯誤で作ったコードでは、 Private Endpointの名前解決ができず... (ちなみに、手作業で作ると名前解決可能 ) IaC導入時の困りごと: サンプルコードがない 25
Azure環境 Virtual Network Azure OpenAI Service Network Security Group Network Security Group App Service Private Endpoin Private DNS
足りなかったコード 解決方法: terraform -generate-config-outを使う (2023年6月) terraformのv1.5から、既存リソースをコード化できるように → 手作業で作成した既存リソースから、コードを生成可能に。 26 generate-
config-out 既存リソース TFコード
Private Endpointの名前解決のフロー (例) Virtual Network linkがないと、③のアクセスができない。 →Clientから Private IPが取得できない (参考URL)
27
まとめ • IaCとDevOps導入により、Chatアプリを迅速にデプロイ可能に • IaC導入時の課題: 最新サービスのためにサンプルコードがない ◦ 手作業でリソースを作成して、-generate-config-outでコード作成が有効。 28 スターターパッケージ
は、 本資料で説明したIaCとDevOpsを利用しています