Azure AI Foundryを使った基本的なチャット - エンドツーエンドの例

July 2, 2026 · View on GitHub

この例は、Azure AI Foundryモデルにキーなし認証(Microsoft Entra ID)を使って接続し、セットアップをテストするシンプルなSpring Bootアプリケーションです。Spring AIのChatClientを使用しています。

目次

前提条件

この例を実行する前に、以下を確認してください:

  • gpt-4o-miniデプロイメントを持つAzure AI Foundryリソース — azd upでプロビジョニングするか、Azure AI Foundryセットアップガイドで手動で作成
  • そのリソースに対するCognitive Services OpenAI Userロール(Bicepテンプレートは自動で割り当てます)
  • サインイン済みのAzure CLI (az) (az login実行済み)
  • Java 21以上とMaven 3.9以上

APIキー不要 — 認証はMicrosoft Entra ID経由のキーなしです。

クイックスタート

# 1. プロジェクトに移動します
cd 02-SetupDevEnvironment/examples/basic-chat-azure

# 2. キーレス認証でトークンを取得できるようにサインインします
az login

# 3. エンドポイントを構成します
#    - `azd up` を実行した場合、.env が自動で作成されます(このステップはスキップしてください)。
#    - それ以外の場合はテンプレートをコピーし、AZURE_OPENAI_ENDPOINT を設定します。
cp .env.example .env

# 4. アプリケーションを実行します
mvn spring-boot:run

認証の仕組み

この例ではMicrosoft Entra IDで認証します — APIキーはありません。

spring.ai.azure.openai.endpointのみが設定され(api-keyは設定なし)、Spring AIは DefaultAzureCredentialでAzure OpenAIクライアントを構築します。この認証情報は、ローカルのaz loginセッションからトークンを自動取得するか、Azure実行時のマネージドIDから取得します。そのため同じコードがどちらの環境でも変更なしに動作します。

アプリケーションの実行

Mavenの使用

mvn spring-boot:run

VS Codeの使用

  1. プロジェクトをVS Codeで開く
  2. F5キーを押すか、「Run and Debug」パネルを使う
  3. 「Spring Boot-BasicChatApplication」構成を選択

注意: VS Codeの設定は自動で .env ファイルを読み込みます

期待される出力

Starting Basic Chat with Azure OpenAI...
Environment variables loaded successfully
Connecting to Azure OpenAI...
Sending prompt: What is AI in a short sentence? Max 100 words.

AI Response:
================
AI, or Artificial Intelligence, is the simulation of human intelligence in machines programmed to think and learn like humans.
================

Success! Azure OpenAI connection is working correctly.

設定リファレンス

環境変数

変数名説明必須
AZURE_OPENAI_ENDPOINTFoundry(Azure OpenAI)のエンドポイントURL必須https://my-resource.openai.azure.com/
AZURE_OPENAI_DEPLOYMENTチャットモデルのデプロイメント名任意gpt-4o-mini(デフォルト)

APIキー変数はありません — 認証はキーなし(az login経由のMicrosoft Entra ID)です。

Springの設定

application.ymlファイルの設定内容:

  • エンドポイント${AZURE_OPENAI_ENDPOINT} - 環境変数から取得
  • デプロイメント${AZURE_OPENAI_DEPLOYMENT:gpt-4o-mini} - 環境変数から取得、デフォルトあり
  • 認証:キーなし — api-keyは設定せず、Spring AIはDefaultAzureCredentialを使用
  • 温度0.7 - 創造性を制御(0.0 = 決定的、1.0 = 創造的)
  • 最大トークン数500 - 最大応答長

トラブルシューティング

よくある問題

エラー: 401 / "PermissionDenied" / トークン関連エラー
  • az loginを実行 — キーなし認証にはトークン取得のための有効なサインインが必要
  • アカウントにリソースのCognitive Services OpenAI Userロールが付与されているか確認
  • ロールを割り当てたばかりなら、反映まで数分待つ
  • 正しいテナント/サブスクリプションであることを確認 (az account show)
エラー: "The endpoint is not valid" / 接続エラー
  • AZURE_OPENAI_ENDPOINTが完全なベースURLか確認(例:https://your-resource.openai.azure.com/
  • 末尾スラッシュの有無を確認
  • エンドポイントがプロビジョニング済みリソースと合っているか検証 (azd env get-values)
エラー: "The deployment was not found"
  • AZURE_OPENAI_DEPLOYMENTがAzure上のデプロイメント名と一致しているか確認
  • モデルが正常にデプロイされ、アクティブ状態か確認
  • デフォルトのデプロイメント名は gpt-4o-mini
VS Code: 環境変数が読み込まれない
  • .envファイルがプロジェクトルート(pom.xmlと同階層)にあるか確認
  • VS Codeの統合ターミナルで mvn spring-boot:run を試す
  • VS CodeのJava拡張機能が正しくインストールされているかチェック

デバッグモード

詳細なロギングを有効にするには、application.yml内の以下行のコメントを外します:

logging:
  level:
    org.springframework.ai: DEBUG
    com.azure: DEBUG

次のステップ

セットアップ完了! 引き続き学習を進めましょう:

第3章: コアな生成AI技術

リソース


免責事項: 本書類は AI 翻訳サービス Co-op Translator を使用して翻訳されています。正確性を期していますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知おきください。原文の原語版が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。本翻訳の利用により生じたいかなる誤解や解釈違いについても、当方は責任を負いかねます。