共用方式為


透過 Foundry 開始使用 LangChain 和 LangGraph

使用此 langchain-azure-ai 套件作為建置具備 Microsoft Foundry 功能的 LangChain 與 LangGraph 應用程式的入口。 本文提供套件的概覽,幫助你快速上手,然後進一步查閱每個功能的詳細文件。

先決條件

  • 一個 Azure 訂閱。 免費創建一個
  • Foundry 專案
  • Foundry 專案中的 Azure AI 使用者角色(開發權限最低)。 如果你也建立或管理資源,請視需要使用貢獻者擁有者。 詳情請參閱 Microsoft Foundry 的角色基礎存取控制
  • Python 3.10 或更新版本。
  • Azure CLI已登入(az login),所以 DefaultAzureCredential 可以進行認證。

小提示

本文提及支援使用版本 azure-ai-projects>=2.0。 如果你用的是 Foundry Classic,建議改用 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 建立複雜的圖與流程。 詳見詳細範例
鑄造廠內容安全 langchain_azure_ai.agents.middleware 使用 Foundry 內容安全與管理,確保你能部署具備適當防護措施的解決方案。 詳見詳細範例
對話模型 langchain_azure_ai.chat_models 呼叫 Azure OpenAI 並建模目錄聊天模型。 詳見詳細範例
Embeddings langchain_azure_ai.embeddings 從目錄中呼叫嵌入模型,產生用於搜尋、檢索及排名工作流程的向量。 詳見詳細範例
向量存放區 langchain_azure_ai.vectorstores 使用 Azure AI Search 和 Cosmos DB 向量整合。
尋回犬 langchain_azure_ai.retrievers 對 Azure 支援的索引和存放區執行檢索。
聊天記錄儲存庫 langchain_azure_ai.chat_message_histories 持續保存並重播跨會話的聊天歷史。 使用記憶體驅動的歷程紀錄來見所合併的傳遞聊天紀錄。 詳見詳細範例
工具 langchain_azure_ai.tools 新增文件智慧、視覺、健康文本分析及邏輯應用程式等工具。
回調與追蹤 langchain_azure_ai.callbacks 擷取執行事件並傳送 OpenTelemetry 追蹤。 詳見詳細範例
查詢建構子 langchain_azure_ai.query_constructors 建立後端專用的查詢過濾器以支援擷取情境。

具體攻略請參考「 詳細學習每項能力 」章節。

連結專案端點與憑證

許多 langchain-azure-ai 類別支援透過 Foundry 專案端點連接。 先設定 AZURE_AI_PROJECT_ENDPOINT 一次,然後在支援的類別中重複使用。

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 專案端點或直接服務端點初始化的相同模型,並說明如何交換憑證。

你也可以把同樣的圖案套用到工具上。 例如, AzureAIDocumentIntelligenceTool 可以直接使用專案端點, DefaultAzureCredentialAZURE_AI_PROJECT_ENDPOINT 在設定時無需額外設定:

from langchain_azure_ai.tools import AzureAIDocumentIntelligenceTool

document_tool = AzureAIDocumentIntelligenceTool()

DefaultAzureCredential 的運作方式

DefaultAzureCredential 嘗試多個Microsoft Entra ID憑證來源,依序使用第一個有效的來源。 常見的來源包括環境變數、管理身份、開發者工具和 Azure CLI。

使用 DefaultAzureCredential 作為本地開發和工作負載部署的預設選項。 如果你需要更嚴格的控制,可以用特定的憑證取代,比如AzureCliCredential用於僅本地開發,或ManagedIdentityCredential用於 Azure 上的生產負載。

其他類別也採用相同的專案-端點模式。

詳細學習每項能力

從這套文件中的這些指南開始:

請使用這些套件資源以獲取模組層級的詳細資訊與更新:

下一個步驟