この記事はシリーズものですが、特に依存関係はないので興味あるもののみお読みください。
-
その1(リソースグループ / App Service / Cosmos DBを紹介) → 本記事
-
その2(OpenAI Service / Log Analytics / API Managementを紹介)
OpenAIで開発するならAzureはマストになってきた
ChatGPTを始めとする生成AI、特に大規模言語モデル(LLM)の勢いが止まりません。
もはや小回りのきくWeb系スタートアップに限らず、そろそろエンタープライズな組織でも「わが社もChatGPTを使ってなんか作るぞい!」的なムーブが広がっている頃ではないでしょうか。
大企業でシステムを作ろうとするとセキュリティやコンプライアンスの壁があるため、ChatGPTのようなSaaSを気軽に活用するのは大きなハードルになってしまいます。そこでプライベートな環境で安全にOpenAIのAPIサービスを活用できるMicrosoft Azureの人気が急速に高まっています。
かくいう私もクラウドはAWSが大好きでずっとメインで使ってきましたが、そろそろ生成AI活用の文脈でAzureを勉強せざるを得なくなってきたため、AWSエンジニア目線でAzureのサービスをいくつか紹介してみたいと思います。
OpenAI開発で使いそうなAzureサービス紹介!
この記事では
- OpenAI開発で使いそうなAzureサービスを中心に
- AWSユーザーがすっと理解しやすい形で比較しながら
紹介していきます。
私も勉強中の身なので、もし誤っている点などあればフィードバックくださいますと幸いです。
サブスクリプション&リソースグループ
AWSでいう「アカウント」に相当する概念です。
AWSアカウントは請求単位かつリソースの入れ物でもある存在でしたが、Azureなど複数のパブリッククラウドでは両者が別の概念となっていたりします。
- サブスクリプション:請求の単位
- リソースグループ:使用するリソースをまとめる単位
リソースグループのコンソール画面からは作成したリソースがすべて一覧表示できて、まとめて削除もできるのが非常に便利ですね。思わぬリソースの消し忘れによる課金事故を防げそうです。AWSにもこんな機能が欲しい。
App Service
OpenAI APIを叩く用のアプリケーションを手軽にホスティングするのに便利なマネージドサービスです。
AWSでいうとElastic Beanstalkに近いですね。
抽象的なので少し理解しづらいサービスですが、特徴は以下です。
- アプリケーションを実行するサーバーやロードバランサーを自動管理してくれる
- デプロイ手段も提供してくれる。GitHub等と連動したCDや、Blue/Greenデプロイも可能
例えばPythonなどランタイムを指定して環境を作成し、開発したコードをpushするだけで自動でアプリケーションを起動&ホスティングしてくれます。
OpenAIを用いた開発では、フロント・バックエンドいずれの用途としてもアプリケーションを稼働させるメインのインフラサービスとして使いやすいのではないかと思います。
Cosmos DB
マネージドのNoSQLデータベースサービスです。AWSでいうDynamoDBですね。
フルマネージドと謳われていますが、利用にあたりアカウント・データベース・コンテナという階層概念が存在するため少し複雑です。
- アカウント:最初にCosmos DB専用の「アカウント」を作成するのですが、このときにDBを操作するAPIタイプを指定します。「コア」APIを選べばNoSQLデータベースをSQLクエリで操作することができます。
- データベース:この単位でスペック(要求ユニット)を設定するため、インフラリソースに相当します。
- コンテナ:これが実際のテーブルに相当。
OpenAIを用いた開発では、プロンプト入出力の履歴保存などに便利そうです。
参考文献