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の使用
- プロジェクトをVS Codeで開く
F5キーを押すか、「Run and Debug」パネルを使う- 「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_ENDPOINT | Foundry(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
次のステップ
セットアップ完了! 引き続き学習を進めましょう:
リソース
- Spring AI Azure OpenAI ドキュメント
- Microsoft Entra IDによるキーなし認証
- Azure AI Foundryポータル
- Azure AI Foundry ドキュメント
免責事項: 本書類は AI 翻訳サービス Co-op Translator を使用して翻訳されています。正確性を期していますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知おきください。原文の原語版が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。本翻訳の利用により生じたいかなる誤解や解釈違いについても、当方は責任を負いかねます。