【Azure AI入門③】Azure AI Foundryのモデルカタログとデプロイ|サーバーレスAPIとSDK呼び出し

Azure

土台(リソース・認証・ネットワーク)が固まったら、いよいよ本題です。Azure AI Foundry の一番おいしい部分は、1900 を超えるモデルの中から用途に合ったものを選び、数クリックでデプロイして、アプリから呼び出せることにあります。ただし「どのモデルを・どの形態でデプロイするか」を間違えると、遅い・高い・そもそも使えない、という事故が起きます。

モデルカタログを見たら数が多すぎて選べない…。あと「サーバーレス API」と「マネージドコンピュート」って何が違うの?

この記事は Azure AI Foundry シリーズの第3回として、「モデルを選んでデプロイし、アプリから呼ぶ」までを次の流れで整理します。

  • モデルカタログ(Azure OpenAI / オープンモデル / パートナー)を把握している
  • デプロイ形態(サーバーレス API / マネージドコンピュート)の違いを理解している
  • モデルをデプロイし、選定基準(性能・コスト・レイテンシ・モダリティ)で選べる
  • プレイグラウンド / SDK で呼び出し、プロンプトの基本を押さえている

モデルカタログ|1つの場所で全部を比較する

Foundry のモデルカタログは、いわば「AI モデルのショッピングモール」です。提供元の違うモデルが、同じ画面で横並びに比較できます。

モデルの出どころざっくり特徴
Azure OpenAI モデルGPT-4o / o系推論 / embedding / DALL-EAzure が SLA・データ保護付きで提供。最も定番
オープンモデルLlama / Mistral / Phi など重みが公開系。自由度・コスト・カスタマイズ性
パートナー / 第三者各社の商用モデル(Claude 等も)専門特化・独自の強み

カタログでは各モデルのベンチマーク・価格・対応モダリティを見比べられます。「まず GPT-4o 系から始めて、コストが気になったら軽量モデル(mini 系)や別ベンダーを検討する」という進め方が現実的です。

【ここが説明できればOK①】
「モデルカタログには Azure OpenAI・オープンモデル・パートナー製が並び、ベンチマーク/価格/モダリティで横並び比較できる」——これを言えればOKです。

デプロイ形態|サーバーレス API とマネージドコンピュート

モデルを選んだら「どうデプロイするか」を決めます。ここが Foundry でつまずきやすい分岐です。大きく2つあります。

サーバーレス API(MaaS)は「従量課金で API を叩くだけ」、マネージドコンピュートは「専有の VM にモデルを載せて動かす」。前者は手軽さ、後者は制御と隔離が強みです。

観点サーバーレス API(MaaS)マネージドコンピュート
課金トークン従量(使った分だけ)VM 稼働時間(立てている間ずっと)
手軽さ◎ デプロイ名を付けるだけ△ VM サイズ・スケールの設計が要る
向くモデルGPT-4o 等の主要モデルオープンモデルを専有環境で動かしたい時
向く場面まず動かす・トラフィックが読めない隔離要件・安定した高負荷・独自モデル

迷ったらサーバーレス APIで始めるのが定石です。使った分だけの従量課金なので、検証段階でムダな固定費が出ません。「専有環境でオープンモデルを安定運用したい」「ネットワーク的に完全隔離したい」といった要件が出てきたら、マネージドコンピュートを検討します。

【ここが説明できればOK②】
「サーバーレス API はトークン従量で手軽、マネージドコンピュートは専有 VM で制御・隔離が強い。まずはサーバーレスで始める」——これを言えればOKです。

モデルをデプロイする|デプロイ名と容量

実際のデプロイはシンプルです。カタログから対象モデルを選び、デプロイ名容量(TPM)を指定するだけ。アプリからは、このデプロイ名を指定して呼び出します。

ここで「モデル名」と「デプロイ名」が別物である点に注意してください。gpt-4o というモデルを chat-prod というデプロイ名で出したら、アプリが指定するのは chat-prod です。この一枚のクッションがあるおかげで、裏側のモデルを差し替えてもアプリ側のコードを変えずに済みます。

再現性を重視するなら、デプロイも Terraform でコード化しておきます。

# モデルのデプロイ例(Terraform / Cognitive Services Deployment)
resource "azurerm_cognitive_deployment" "chat" {
  name                 = "chat-prod"          # ← アプリが指定するデプロイ名
  cognitive_account_id = azurerm_ai_foundry.this.id

  model {
    format  = "OpenAI"
    name    = "gpt-4o"                         # ← 実際のモデル
    version = "2024-08-06"
  }

  sku {
    name     = "Standard"                      # 従量(サーバーレス)
    capacity = 30                              # TPM 容量(×1,000 tokens/分)
  }
}

【ここが説明できればOK③】
「モデルはデプロイ名と TPM 容量を指定してデプロイする。アプリはデプロイ名を指定するので、裏のモデルを差し替えてもコードを変えずに済む」——これを言えればOKです。

モデルの選定基準|性能・コスト・レイテンシ・モダリティ

「結局どのモデルを選べばいいの?」に答えるための4つの軸を持っておくと、迷いが激減します。

  • 性能(賢さ):難しい推論やコード生成が必要なら上位モデル。単純な分類・要約なら軽量モデルで十分。
  • コスト:入力/出力トークン単価。大量に叩くなら軽量モデルとの差が効いてくる。
  • レイテンシ(速さ):チャットの体感速度。リアルタイム性が要るなら軽量・高速モデルを。
  • モダリティ:テキストだけか、画像・音声も扱うか。マルチモーダル要件で候補が絞られる。

実務では「まず賢いモデルで品質を出す→評価で問題ないと分かったら安いモデルに落とせるか試す」という順で最適化するのが鉄板だよ。評価はシリーズ第5回で扱うよ!

【ここが説明できればOK④】
「性能・コスト・レイテンシ・モダリティの4軸でユースケースに合うモデルを選ぶ。まず賢いモデルで品質を出し、後で安く速いモデルに落とせるか試す」——これを言えればOKです。

呼び出す|プレイグラウンドと SDK、プロンプトの基本

デプロイできたら、まずはプレイグラウンドで試します。ポータル上でシステムメッセージやパラメータ(温度など)を調整しながら、応答の質を目で見て確認できます。「まずプレイグラウンドで手応えを掴んでから、コードに落とす」のが遠回りに見えて一番速い進め方です。

本番アプリからはFoundry SDK(azure-ai-projects など)や REST で呼びます。第2回で作ったキーレス認証(マネージド ID + Entra)を使えば、キーを持たずに接続できます。

# キーレス(Entra)でチャット補完を呼ぶ最小例(Python イメージ)
from azure.identity import DefaultAzureCredential
from openai import AzureOpenAI

client = AzureOpenAI(
    azure_endpoint="https://<your-project>.openai.azure.com/",
    azure_ad_token_provider=DefaultAzureCredential(),  # キーではなくトークン
    api_version="2024-10-21",
)

resp = client.chat.completions.create(
    model="chat-prod",                    # ← デプロイ名
    messages=[
        {"role": "system", "content": "あなたは丁寧な社内アシスタントです。"},
        {"role": "user",   "content": "有給の申請方法を教えて"},
    ],
)
print(resp.choices[0].message.content)

最後にプロンプトの基本だけ触れておきます。応答の質は、プロンプト設計で大きく変わります。核は2つです。

  • システムメッセージ:モデルの役割・口調・守るべき制約を最初に与える(上の例の system)。
  • Few-shot(例示):「こういう入力にはこう答える」という例を数個渡し、出力の形式・粒度を誘導する。

【ここが説明できればOK⑤】
「まずプレイグラウンドで手応えを掴み、本番は SDK/REST でキーレス呼び出し。システムメッセージで役割・制約、Few-shot で出力形式を誘導する」——これを言えればOKです。

まとめ

  • モデルカタログで Azure OpenAI / オープン / パートナーを横並び比較
  • デプロイ形態はサーバーレス API(従量・手軽)マネージドコンピュート(専有 VM)
  • デプロイ名 ≠ モデル名。この一枚のクッションでモデル差し替えが楽になる
  • 選定は性能・コスト・レイテンシ・モダリティの4軸
  • プレイグラウンドで試し、SDK でキーレス呼び出し。システムメッセージ + Few-shotが土台

単発のチャット呼び出しができたら、次は「自分で考えて動くエージェント」と「自社データに答えさせる RAG」です。第4回で、Foundry Agent Service と RAG(AI Search 連携)を整理します。

あわせて読みたい

タイトルとURLをコピーしました