58
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

新規開発や新技術の検証、導入にまつわる記事を投稿しよう!

エンプラでOpenAI使うためにAWSエンジニアがAzureに入門してみた!(その1)

Last updated at Posted at 2023-06-25

この記事はシリーズものですが、特に依存関係はないので興味あるもののみお読みください。

  • その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など複数のパブリッククラウドでは両者が別の概念となっていたりします。

  • サブスクリプション:請求の単位
  • リソースグループ:使用するリソースをまとめる単位

スクリーン ショット 2023-06-25 に 16.49.33 午後.png

リソースグループのコンソール画面からは作成したリソースがすべて一覧表示できて、まとめて削除もできるのが非常に便利ですね。思わぬリソースの消し忘れによる課金事故を防げそうです。AWSにもこんな機能が欲しい。

スクリーン ショット 2023-06-25 に 20.06.30 午後.png

App Service

OpenAI APIを叩く用のアプリケーションを手軽にホスティングするのに便利なマネージドサービスです。
AWSでいうとElastic Beanstalkに近いですね。

抽象的なので少し理解しづらいサービスですが、特徴は以下です。

  • アプリケーションを実行するサーバーやロードバランサーを自動管理してくれる
  • デプロイ手段も提供してくれる。GitHub等と連動したCDや、Blue/Greenデプロイも可能

例えばPythonなどランタイムを指定して環境を作成し、開発したコードをpushするだけで自動でアプリケーションを起動&ホスティングしてくれます。
スクリーン ショット 2023-06-25 に 17.59.54 午後.png
OpenAIを用いた開発では、フロント・バックエンドいずれの用途としてもアプリケーションを稼働させるメインのインフラサービスとして使いやすいのではないかと思います。

Cosmos DB

マネージドのNoSQLデータベースサービスです。AWSでいうDynamoDBですね。

フルマネージドと謳われていますが、利用にあたりアカウント・データベース・コンテナという階層概念が存在するため少し複雑です。

  • アカウント:最初にCosmos DB専用の「アカウント」を作成するのですが、このときにDBを操作するAPIタイプを指定します。「コア」APIを選べばNoSQLデータベースをSQLクエリで操作することができます。
  • データベース:この単位でスペック(要求ユニット)を設定するため、インフラリソースに相当します。
  • コンテナ:これが実際のテーブルに相当。

スクリーン ショット 2023-06-25 に 18.12.23 午後.png

OpenAIを用いた開発では、プロンプト入出力の履歴保存などに便利そうです。

参考文献

58
30
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
58
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?