Microsoft Foundry 機能を使用して LangChain および LangGraph アプリケーションをビルドするためのエントリ ポイントとして、langchain-azure-ai パッケージを使用します。 この記事では、パッケージの概要マップを提供します。これにより、すばやく開始し、各機能の詳細なドキュメントに進むことができます。
前提 条件
Azure サブスクリプション。 無料で作成します。
Foundry プロジェクト上の Foundry ユーザー ロール (次に対応した最小権限のロール
重要
Foundry RBAC ロールの名前が最近変更されました。 Foundry User, Foundry Owner, Foundry Account Owner、および Foundry Project Manager は、以前は、AZURE AI ユーザー、Azure AI 所有者、Azure AI アカウント所有者、および AZURE AI Project Manager という名前でした。 名前の変更がロールアウトされている間、以前の名前が表示される場合があります。ロール ID とコア アクセス許可は、名前の変更によって変更されません。
: 開発)。 リソースを作成または管理する場合、必要に応じて貢献者または所有者を使用します。 詳細については、Microsoft Foundry の
Role ベースのアクセス制御に関するページを参照してください。 Python 3.10 以降。
Azure CLI にサインインしたため、
az loginが認証できます。
ヒント
この記事では、バージョン を使用する azure-ai-projects>=2.0 のサポートについて説明します。
Foundry クラシックを使用している場合は、代わりに langchain-azure-ai[v1] を使用します。
パッケージをインストールする
基本パッケージをインストールします。
pip install -U langchain-azure-ai azure-identity
シナリオに基づいてオプションの追加機能をインストールします。
pip install -U "langchain-azure-ai[tools]"
pip install -U "langchain-azure-ai[opentelemetry]"
- アプリでドキュメント インテリジェンスなどの名前空間
[tools]のツールを使用する場合は、langchain_azure_ai.tools.*を使用します。 - OpenTelemetry を使用して統合をトレースする場合は、
[opentelemetry]を使用します。
統合構成要素の選択
このマップを使用して、ソリューションに適した名前空間を選択します。
| 能力 | 名前空間 | 一般的な用途 |
|---|---|---|
| 鋳造エージェントサービス | langchain_azure_ai.agents |
マネージド エージェント ノードを構築して、LangGraph と LangChain の複雑なグラフとフローを構築します。 詳細な例を参照してください。 |
| LangGraph ホスティング | langchain_azure_ai.agents.hosting |
Foundry Agent Service でコンパイル済みの LangGraph エージェントを、応答または呼び出しプロトコルでホストします。 詳細な例を参照してください。 |
| Foundry コンテンツの安全性 | langchain_azure_ai.agents.middleware |
Foundry コンテンツの安全性とモデレーションを使用して、適切なガードレールを使用してソリューションをデプロイできることを確認します。 詳細な例を参照してください。 |
| チャット モデル | langchain_azure_ai.chat_models |
Azure OpenAI とモデルカタログのチャットモデルを呼び出します。 詳細な例を参照してください。 |
| 埋め込み | langchain_azure_ai.embeddings |
カタログから埋め込みモデルを呼び出し、検索、取得、およびランク付けワークフロー用のベクターを生成します。 詳細な例を参照してください。 |
| ベクター ストア | langchain_azure_ai.vectorstores |
Azure AI 検索と Cosmos DB ベクター統合を使用します。 |
| ・ リトリーバー | langchain_azure_ai.retrievers |
Azureバックアップされたインデックスとストアに対して取得を実行します。 |
| チャット履歴ストア | langchain_azure_ai.chat_history |
セッション間でチャット履歴を保持および再生します。 メモリを使用した履歴を使用して、統合されたパス チャット履歴を取得します。 詳細な例を参照してください。 |
| ツール | langchain_azure_ai.tools |
Document Intelligence、Vision、医療テキスト分析、Logic Apps などのツール、またはプロジェクト ツールボックス全体を追加します。 詳細な例を参照してください |
| Foundry ツールボックス | langchain_azure_ai.tools |
単一の MCP エンドポイントを介して Foundry ツールボックスからマネージド ツールとスキルを読み込みます。 詳細な例を参照してください。 |
| コールバックとトレース | langchain_azure_ai.callbacks |
実行イベントをキャプチャし、OpenTelemetry トレースを出力します。 詳細な例を参照してください。 |
| クエリ コンストラクター | langchain_azure_ai.query_constructors |
取得シナリオ用のバックエンド固有のクエリ フィルターを構築します。 |
特定のチュートリアルについては、「 各機能について詳しく説明 する」セクションを参照してください。
プロジェクト エンドポイントと資格情報を使用して接続する
多くの langchain-azure-ai クラスでは、Foundry プロジェクト エンドポイントを介した接続がサポートされています。
AZURE_AI_PROJECT_ENDPOINTを 1 回設定し、サポートされているクラス間で再利用します。
export AZURE_AI_PROJECT_ENDPOINT="https://<resource>.services.ai.azure.com/api/projects/<project>"
project_endpoint を使用する場合、認証ではプロジェクトでMicrosoft Entra IDとAzure RBAC が使用されます。
API キーは、 /openai/v1などのダイレクト サービス エンドポイント用です。
export OPENAI_BASE_URL="https://<resource>.services.ai.azure.com/openai/v1"
export OPENAI_API_KEY="<your-key>"
例: Foundry モデルを使用する
環境変数を構成したら、次の方法でモデルを使用できます。
from langchain.chat_models import init_chat_model
model = init_chat_model("azure_ai:gpt-5.2")
また、クライアントを具体的に構成することもできます。 例として、 AzureAIOpenAIApiChatModel を代表的なパターンとして見てみましょう。
import os
from azure.identity import AzureCliCredential, DefaultAzureCredential
from langchain_azure_ai.chat_models import AzureAIOpenAIApiChatModel
# Option A: Use a Foundry project endpoint (Microsoft Entra ID required).
model_from_project = AzureAIOpenAIApiChatModel(
project_endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
credential=DefaultAzureCredential(),
model="gpt-5.2",
)
# Option B: Use a service endpoint directly with an API key.
model_from_endpoint = AzureAIOpenAIApiChatModel(
endpoint=os.environ["OPENAI_BASE_URL"],
credential=os.environ["OPENAI_API_KEY"],
model="gpt-5.2",
)
# Option C: Use a different credential strategy.
model_with_cli_credential = AzureAIOpenAIApiChatModel(
endpoint=os.environ["OPENAI_BASE_URL"],
credential=AzureCliCredential(),
model="gpt-5.2",
)
このスニペットの機能: Foundry プロジェクト エンドポイントまたは直接サービス エンドポイントから初期化されたのと同じモデルを示し、資格情報を交換する方法を示します。
同じパターンをツールに適用できます。 たとえば、AzureAIDocumentIntelligenceToolが設定されている場合、DefaultAzureCredentialはプロジェクト エンドポイントを使用でき、AZURE_AI_PROJECT_ENDPOINTも追加の構成なしで使用できます。
from langchain_azure_ai.tools import AzureAIDocumentIntelligenceTool
document_tool = AzureAIDocumentIntelligenceTool()
DefaultAzureCredentialのしくみ
DefaultAzureCredential では、複数のMicrosoft Entra ID資格情報ソースを順に試み、最初に成功したものが使用されます。 一般的なソースは、環境変数、マネージド ID、開発者ツール、Azure CLIです。
ローカル開発とデプロイされたワークロードの既定値として DefaultAzureCredential を使用します。 より厳密な制御が必要な場合は、ローカルのみの開発の場合は AzureCliCredential、Azureの運用ワークロードの場合は ManagedIdentityCredential などの特定の資格情報に置き換えます。
同じプロジェクト エンドポイント パターンが他のクラスでも使用されます。
各機能について詳しく学習する
このドキュメント セットの次のガイドから始めます。
- LangChain と LangGraph で Foundry モデルを使用する
- Foundry Content Safety ミドルウェアを使用する
- LangGraph で Foundry Agent Service を使用する
- LangChain で Foundry ツールボックスを使用する
- Foundry でホストされるエージェントとして LangGraph エージェントをホストする
- LangChain と LangGraph で Foundry メモリを使用する
- Foundry Observability を使用してアプリをトレースする
モジュール レベルの詳細と更新には、次のパッケージ リソースを使用します。