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 OpenAIを使用したChatGPTもどきを作るためのIaCとDevOps環境を作...
Search
SoftBank Tech Night
July 28, 2023
Technology
1
1.9k
Azure OpenAIを使用したChatGPTもどきを作るためのIaCとDevOps環境を作ってみた
SoftBank Tech Night
July 28, 2023
Tweet
Share
More Decks by SoftBank Tech Night
See All by SoftBank Tech Night
ソフトバンクのネットワーク基盤を支えるSRv6 のこれまでとこれから
sbtechnight
0
990
生成AI と Microsoft Power Apps を活用したとにかく早く PoC を回す環境の検討
sbtechnight
1
1.4k
生成AI離れを防ぐ、組織定着化のヒント
sbtechnight
11
7.6k
Blockchain/Web3 Walletの技術動向について
sbtechnight
0
790
GPT3.5以降に性能がアップした理由に関する理論ほか
sbtechnight
3
2k
GPT 回答精度を上げるアプローチ
sbtechnight
5
8.3k
Azure OpenAI を活用してエンタープライズ向けのデータ活用基盤を作ってみる
sbtechnight
2
1.4k
プライベートなChatGPTをLINEから使えるようなシステムをサクッと構築してみた
sbtechnight
1
1.5k
ChatGPT/OpenAI問わず生成AI関連サービス構築方法・応用例を紹介する
sbtechnight
6
4.3k
Other Decks in Technology
See All in Technology
ユーザーのプロフィールデータを活用した推薦精度向上の取り組み
yudai00
0
470
Amazon ECS & AWS Fargate 運用アーキテクチャ2025 / Amazon ECS and AWS Fargate Ops Architecture 2025
iselegant
13
4.2k
Navigation3でViewModelにデータを渡す方法
mikanichinose
0
200
Liquid Glass革新とSwiftUI/UIKit進化
fumiyasac0921
0
110
Oracle Audit Vault and Database Firewall 20 概要
oracle4engineer
PRO
2
1.6k
UIテスト自動化サポート- Testbed for XCUIAutomation practice
notoroid
0
110
Claude Code Actionを使ったコード品質改善の取り組み
potix2
PRO
2
1.2k
BrainPadプログラミングコンテスト記念LT会2025_社内イベント&問題解説
brainpadpr
0
150
標準技術と独自システムで作る「つらくない」SaaS アカウント管理 / Effortless SaaS Account Management with Standard Technologies & Custom Systems
yuyatakeyama
2
1k
Amplifyとゼロからはじめた AIコーディング 成果と展望
mkdev10
1
360
IIWレポートからみるID業界で話題のMCP
fujie
0
700
Model Mondays S2E02: Model Context Protocol
nitya
0
180
Featured
See All Featured
Being A Developer After 40
akosma
90
590k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Optimizing for Happiness
mojombo
379
70k
For a Future-Friendly Web
brad_frost
179
9.8k
Adopting Sorbet at Scale
ufuk
77
9.4k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
124
52k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
700
What's in a price? How to price your products and services
michaelherold
245
12k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Music & Morning Musume
bryan
46
6.6k
Thoughts on Productivity
jonyablonski
69
4.7k
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を利用しています