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.7k
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
740
生成AI と Microsoft Power Apps を活用したとにかく早く PoC を回す環境の検討
sbtechnight
1
1.2k
生成AI離れを防ぐ、組織定着化のヒント
sbtechnight
11
7.2k
Blockchain/Web3 Walletの技術動向について
sbtechnight
0
680
GPT3.5以降に性能がアップした理由に関する理論ほか
sbtechnight
3
1.9k
GPT 回答精度を上げるアプローチ
sbtechnight
5
8.2k
Azure OpenAI を活用してエンタープライズ向けのデータ活用基盤を作ってみる
sbtechnight
2
1.3k
プライベートなChatGPTをLINEから使えるようなシステムをサクッと構築してみた
sbtechnight
1
1.4k
ChatGPT/OpenAI問わず生成AI関連サービス構築方法・応用例を紹介する
sbtechnight
6
4.1k
Other Decks in Technology
See All in Technology
NilAway による静的解析で「10 億ドル」を節約する #kyotogo / Kyoto Go 56th
ytaka23
3
380
終了の危機にあった15年続くWebサービスを全力で存続させる - phpcon2024
yositosi
17
14k
ブラックフライデーで購入したPixel9で、Gemini Nanoを動かしてみた
marchin1989
1
540
10分で学ぶKubernetesコンテナセキュリティ/10min-k8s-container-sec
mochizuki875
3
350
統計データで2024年の クラウド・インフラ動向を眺める
ysknsid25
2
850
小学3年生夏休みの自由研究「夏休みに Copilot で遊んでみた」
taichinakamura
0
170
.NET 9 のパフォーマンス改善
nenonaninu
0
1k
WACATE2024冬セッション資料(ユーザビリティ)
scarletplover
0
210
Wantedly での Datadog 活用事例
bgpat
1
520
社外コミュニティで学び社内に活かす共に学ぶプロジェクトの実践/backlogworld2024
nishiuma
0
270
普通のエンジニアがLaravelコアチームメンバーになるまで
avosalmon
0
110
なぜCodeceptJSを選んだか
goataka
0
160
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
We Have a Design System, Now What?
morganepeng
51
7.3k
Fireside Chat
paigeccino
34
3.1k
Facilitating Awesome Meetings
lara
50
6.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Git: the NoSQL Database
bkeepers
PRO
427
64k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
It's Worth the Effort
3n
183
28k
Practical Orchestrator
shlominoach
186
10k
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を利用しています