Foundryで始めるLangChainとLangGraph

Microsoft Foundry 機能を使用して LangChain および LangGraph アプリケーションをビルドするためのエントリ ポイントとして、langchain-azure-ai パッケージを使用します。 この記事では、パッケージの概要マップを提供します。これにより、すばやく開始し、各機能の詳細なドキュメントに進むことができます。

前提 条件

  • Azure サブスクリプション。 無料で作成します
  • Foundry プロジェクト
  • Foundry プロジェクトの Azure AI User ロール (開発用の最小特権ロール)。 リソースを作成または管理する場合、必要に応じて貢献者または所有者を使用します。 詳細については、Microsoft Foundry の Role ベースのアクセス制御に関するページを参照してください。
  • Python 3.10 以降。
  • Azure CLI にサインインしたため、DefaultAzureCredential が認証できます。

ヒント

この記事では、バージョン を使用する 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 の複雑なグラフとフローを構築します。 詳細な例を参照してください
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_message_histories セッション間でチャット履歴を保持および再生します。 メモリを使用した履歴を使用して、統合されたパス チャット履歴を取得します。 詳細な例を参照してください
ツール langchain_azure_ai.tools ドキュメント インテリジェンス、コンピュータビジョン、ヘルステキスト分析、Logic Apps などのツールを追加します。
コールバックとトレース 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 モデルを使用する

環境変数を構成したら、次の方法でモデルを使用できます。

import langchain.chat_models import init_chat_model

model = init_chat_model("azure_ai:gpt-5.2")

また、クライアントを具体的に構成することもできます。 例として、 AzureAIOpenAIApiChatModel を代表的なパターンとして見てみましょう。

import os

from azure.identity import 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.
model_from_endpoint = AzureAIOpenAIApiChatModel(
  endpoint=os.environ["OPENAI_BASE_URL"],
  credential=DefaultAzureCredential(),
  model="gpt-5.2",
)

# Option C: Use a different credential strategy.
model_with_cli_credential = AzureAIOpenAIApiChatModel(
  endpoint=os.environ["OPENAI_BASE_URL"],
  credential="super-secret",
  model="gpt-5.2",
)

このスニペットの機能: Foundry プロジェクト エンドポイントまたは直接サービス エンドポイントから初期化されたのと同じモデルを示し、資格情報を交換する方法を示します。

同じパターンをツールに適用できます。 たとえば、AZURE_AI_PROJECT_ENDPOINTが設定されている場合、AzureAIDocumentIntelligenceToolはプロジェクト エンドポイントを使用でき、DefaultAzureCredentialも追加の構成なしで使用できます。

from langchain_azure_ai.tools import AzureAIDocumentIntelligenceTool

document_tool = AzureAIDocumentIntelligenceTool()

DefaultAzureCredentialのしくみ

DefaultAzureCredential では、複数のMicrosoft Entra ID資格情報ソースを順に試み、最初に成功したものが使用されます。 一般的なソースは、環境変数、マネージド ID、開発者ツール、Azure CLIです。

ローカル開発とデプロイされたワークロードの既定値として DefaultAzureCredential を使用します。 より厳密な制御が必要な場合は、ローカルのみの開発の場合は AzureCliCredential、Azureの運用ワークロードの場合は ManagedIdentityCredential などの特定の資格情報に置き換えます。

同じプロジェクト エンドポイント パターンが他のクラスでも使用されます。

各機能について詳しく学習する

このドキュメント セットの次のガイドから始めます。

モジュール レベルの詳細と更新には、次のパッケージ リソースを使用します。

次の手順