Phase 2: Microsoft Foundry への 接続
所要時間
約10分
🎯 学習目標
- Microsoft Foundry が提供するモデルの機能を理解する
- Microsoft Foundry のモデルへ接続する情報を取得する
- Microsoft Agent Framework のライブラリで接続をテストする
📖 Microsoft Foundry とは?
Microsoft Foundry は、2025年11月に Azure AI Foundry から名称が変わりリブランディングした、Microsoft の AI の中核をなすプラットフォームです。 モデルのみならず AI エージェントやワークフローの作成・管理、監視などの機能を備えています。
過去バージョンとの互換のため、Microsoft Foundry はクラシックポータル (古いポータル) と new ポータル (最新バージョンのポータル) がありますが、今回は new ポータルを対象に進めます。
🔧 ステップ 1: Micorosoft Foundry のモデルの情報で .env を更新
Connpass のイベントページに .env に追記するための情報があります。 その情報で .env を更新してください。 不明点がありましたら運営スタッフにお気軽にお声がけください。
自身の API キーでモデルに接続したい場合は、Microsoft Foundry のリソースが作成済み、かつ、利用するモデルのデプロイ済みであることを確認し、必要な情報を取得して .env を更新します。
操作方法はここでは詳しく記載しませんが、ご不明点がありましたら COGBOT 運営スタッフまでお気軽にご質問ください。
取得した値を .env の中の以下の値を更新します。
MSF_MODEL_ENDPOINTMSF_MODEL_API_KEYMSF_MODEL_DEPLOYMENT_NAME
🔧 ステップ 3: 接続テスト用スクリプトの作成
まず、phase-02 フォルダを作成します:
mkdir -p phase-02
cd phase-02
touch microsoft_foundry_model_check.py
mkdir phase-02
cd phase-02
New-Item microsoft_foundry_model_check.py
microsoft_foundry_model_check.py に以下のコードを記述します:
import asyncio
import os
from dotenv import load_dotenv
from agent_framework.azure import AzureOpenAIChatClient
# 環境変数の読み込み
load_dotenv(override=True)
async def main():
"""Microsoft Foundry Model への接続テスト"""
print("🔄 Microsoft Foundry Model へ接続中...")
# Azure OpenAI Chat クライアントの初期化
chat_client = AzureOpenAIChatClient(
endpoint=os.environ["MSF_MODEL_ENDPOINT"],
api_key=os.environ["MSF_MODEL_API_KEY"],
api_version=os.environ["MSF_MODEL_API_VERSION"],
deployment_name=os.environ["MSF_MODEL_DEPLOYMENT_NAME"]
)
# エージェントの作成
hello_agent = chat_client.as_agent(
name="HelloAgent",
instructions="""あなたは親切なアシスタントです。
挨拶をされたら Hello from Microsoft Foundry と回答してください
"""
)
# 接続テスト
print("🔄 テストメッセージを送信中...")
response = await hello_agent.run("こんにちは")
print(f"🤖 レスポンス:{response.text}")
print("✅ 接続成功!")
if __name__ == "__main__":
asyncio.run(main())
🔧 ステップ 4: テストの実行
python microsoft_foundry_model_check.py
成功すると以下のような出力が表示されます:
🔄 Microsoft Foundry Model へ接続中...
🔄 テストメッセージを送信中...
🤖 レスポンス:Hello from Microsoft Foundry
✅ 接続成功!
🔍 コードの解説
| コード | 説明 |
|---|---|
AzureOpenAIChatClient |
非同期リクエスト用の Azure OpenAI クライアントライブラリ。ほかに AzureOpenAIResponsesClient や Azure 以外で Ollama や Anthropic など多様なクライアントライブラリがあります。 |
chat_client.as_agent(...) |
chat client のオブジェクトから agent を生成するメソッド。Agent Framework の新しいバージョンで利用可能。 |
hello_agent.run(...) |
Agent Framework の Agent を実行する際の標準的なメソッドの一つ |
📁 プロジェクト構成
agent-framework-workshop/
├── .venv/
├── .env
├── requirements.txt
└── phase-02/
└── microsoft_foundry_model_check.py
✅ チェックポイント
以下を確認してください:
- [x] Microsoft Foundry のモデルの情報を取得した。
- [x]
.envファイルにモデルの情報を保存した。 - [x]
microsoft_foundry_model_check.pyを実行して「接続成功」が表示された。
ここまでで、Microsoft Foundry のモデルへの接続が確認できました!
❓ よくあるトラブルと解決方法
404: Resource not found エラー
.envファイルのMSF_MODEL_ENDPOINT,MSF_MODEL_API_VERSION,MSF_MODEL_DEPLOYMENT_NAMEが正しいか確認してください。load_dotenv(override=True)が呼び出されているか確認してください。
401 エラー
.envのMSF_MODEL_API_KEYが正しいか確認してください。
完成コード(クリックで展開)
import asyncio
import os
from dotenv import load_dotenv
from agent_framework.azure import AzureOpenAIChatClient
# 環境変数の読み込み
load_dotenv(override=True)
async def main():
"""Microsoft Foundry Model への接続テスト"""
print("🔄 Microsoft Foundry Model へ接続中...")
# Azure OpenAI Chat クライアントの初期化
chat_client = AzureOpenAIChatClient(
endpoint=os.environ["MSF_MODEL_ENDPOINT"],
api_key=os.environ["MSF_MODEL_API_KEY"],
api_version=os.environ["MSF_MODEL_API_VERSION"],
deployment_name=os.environ["MSF_MODEL_DEPLOYMENT_NAME"]
)
# エージェントの作成
hello_agent = chat_client.as_agent(
name="HelloAgent",
instructions="""あなたは親切なアシスタントです。
挨拶をされたら Hello from Microsoft Foundry と回答してください
"""
)
# 接続テスト
print("🔄 テストメッセージを送信中...")
response = await hello_agent.run("こんにちは")
print(f"🤖 レスポンス:{response.text}")
print("✅ 接続成功!")
if __name__ == "__main__":
asyncio.run(main())
➡️ 次のステップ
次は、Chainlit を使ってチャットの UI