Introduzione a LangChain e LangGraph con Foundry

Usare il pacchetto langchain-azure-ai come punto di ingresso per la compilazione di applicazioni LangChain e LangGraph con funzionalità Microsoft Foundry. Questo articolo offre una mappa generale del pacchetto in modo da poter iniziare rapidamente, quindi passare alla documentazione approfondita corretta per ogni funzionalità.

Prerequisiti

  • Sottoscrizione Azure. Crearne uno gratuitamente.

  • Progetto Foundry.

  • Ruolo utente Foundry nel progetto Foundry (ruolo con privilegi minimi per

    Importante

    I ruoli di Controllo degli accessi in base al ruolo di Foundry sono stati recentemente rinominati. Foundry User, Foundry Owner, Foundry Account Owner e Foundry Project Manager erano precedentemente denominati Azure AI User, Azure AI Owner, Azure AI Account Owner e Azure AI Project Manager. È possibile che i nomi precedenti vengano visualizzati in alcune posizioni durante l'esecuzione della ridenominazione. Gli ID ruolo e le autorizzazioni di base sono invariati dalla ridenominazione.

    sviluppo). Se si creano o si gestiscono anche le risorse, usare Collaboratore o Proprietario in base alle esigenze. Per informazioni dettagliate, vedere Controllo degli accessi in base al ruolo per Microsoft Foundry.

  • Python 3.10 o versione successiva.

  • Interfaccia della riga di comando di Azure connessa (az login) in modo che DefaultAzureCredential possa eseguire l'autenticazione.

Suggerimento

Questo articolo descrive il supporto per Microsoft Foundry (new), che usa la versione azure-ai-projects>=2.0. Se si usa Foundry classico, usare langchain-azure-ai[v1] invece .

Installare il pacchetto

Installare il pacchetto di base:

pip install -U langchain-azure-ai azure-identity

Installare extra facoltativi in base al proprio scenario:

pip install -U "langchain-azure-ai[tools]"
pip install -U "langchain-azure-ai[opentelemetry]"
  • Usare [tools] se l'app usa strumenti dello spazio dei nomi langchain_azure_ai.tools.*, ad esempio Document Intelligence.
  • Usare [opentelemetry] se si vuole eseguire l'integrazione della traccia tramite OpenTelemetry.

Scegliere i blocchi predefiniti di integrazione

Usare questa mappa per selezionare lo spazio dei nomi appropriato per la soluzione:

Capacità Namespace Uso tipico
Servizio agenti Foundry langchain_azure_ai.agents Creare nodi dell'agente gestito per creare grafici e flussi complessi per LangGraph e LangChain. Vedere esempi dettagliati.
Hosting LangGraph langchain_azure_ai.agents.hosting Ospita agenti LangGraph compilati sul Servizio agenti Foundry con i protocolli Responses o Invocations. Vedere esempi dettagliati.
Sicurezza dei contenuti foundry langchain_azure_ai.agents.middleware Usare Moderazione e Sicurezza dei contenuti di Foundry per assicurarsi di poter distribuire la soluzione con le protezioni corrette. Vedere esempi dettagliati.
Modelli di chat langchain_azure_ai.chat_models Chiamare i modelli chat del catalogo modelli e di Azure OpenAI. Vedere esempi dettagliati.
Incorporamenti langchain_azure_ai.embeddings Richiamare i modelli di incorporamento dal catalogo per generare vettori da utilizzare nei flussi di lavoro di ricerca, recupero e classificazione. Vedere esempi dettagliati.
Archivi vettoriali langchain_azure_ai.vectorstores Usare le integrazioni vettoriali di Azure AI Search e Cosmos DB.
Retriever langchain_azure_ai.retrievers Eseguire il recupero su indici e archivi Azure supportati.
Archiviazione della cronologia chat langchain_azure_ai.chat_history Rendere la cronologia delle chat persistente e riproducibile tra le sessioni. Usare le cronologie basate sulla memoria per recuperare la cronologia delle chat passate consolidate. Vedere esempi dettagliati.
Strumenti langchain_azure_ai.tools Aggiungi strumenti come Document Intelligence, Vision, analisi del testo sanitario e Logic Apps, oppure un intero progetto Toolbox. Vedere esempi dettagliati
Casella degli strumenti di fonderia langchain_azure_ai.tools Caricare strumenti e competenze gestiti da una casella degli strumenti Foundry tramite un singolo endpoint MCP. Vedere esempi dettagliati.
Richiami e registrazione langchain_azure_ai.callbacks Acquisire gli eventi di esecuzione ed emettere tracce OpenTelemetry. Vedere esempi dettagliati.
Costruttori di query langchain_azure_ai.query_constructors Creare filtri di query specifici del back-end per scenari di recupero.

Consultare la sezione Informazioni dettagliate su ogni funzionalità per una guida specifica.

Connettersi agli endpoint e alle credenziali del progetto

Molte langchain-azure-ai classi supportano la connessione tramite un endpoint di progetto Foundry. Impostare AZURE_AI_PROJECT_ENDPOINT una sola volta, quindi riutilizzarlo tra le classi supportate.

export AZURE_AI_PROJECT_ENDPOINT="https://<resource>.services.ai.azure.com/api/projects/<project>"

Quando si usa project_endpoint, l'autenticazione usa Microsoft Entra ID e il controllo degli accessi in base ai ruoli di Azure nel progetto.

Le chiavi API sono destinate agli endpoint di servizio diretti, ad esempio /openai/v1.

export OPENAI_BASE_URL="https://<resource>.services.ai.azure.com/openai/v1"
export OPENAI_API_KEY="<your-key>"

Esempio: Usare i modelli di fonderia

Dopo aver configurato le variabili di ambiente, è possibile usare un modello tramite:

from langchain.chat_models import init_chat_model

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

È anche possibile configurare i client in modo specifico. Ad esempio, si vedrà AzureAIOpenAIApiChatModel come modello rappresentativo:

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",
)

Cosa fa questo frammento di codice: Mostra lo stesso modello inizializzato da un endpoint di progetto Foundry o da un endpoint di servizio diretto e mostra come scambiare le credenziali.

È possibile applicare lo stesso modello agli strumenti. Ad esempio, AzureAIDocumentIntelligenceTool può usare l'endpoint del progetto e DefaultAzureCredential senza configurazione aggiuntiva quando AZURE_AI_PROJECT_ENDPOINT è impostato:

from langchain_azure_ai.tools import AzureAIDocumentIntelligenceTool

document_tool = AzureAIDocumentIntelligenceTool()

Come DefaultAzureCredential funziona

DefaultAzureCredential tenta diverse fonti di credenziali Microsoft Entra ID in sequenza e usa la prima che funzioni. Le origini comuni sono variabili di ambiente, identità gestita, strumenti di sviluppo e interfaccia della riga di comando di Azure.

Usare DefaultAzureCredential come impostazione predefinita per lo sviluppo locale e i carichi di lavoro distribuiti. Se è necessario un controllo più rigoroso, sostituirlo con credenziali specifiche, ad esempio AzureCliCredential per lo sviluppo solo locale o ManagedIdentityCredential per i carichi di lavoro di produzione in Azure.

Lo stesso modello di endpoint di progetto viene usato anche da altre classi.

Informazioni dettagliate su ogni funzionalità

Iniziare con queste guide in questo set di documentazione:

Usare queste risorse del pacchetto per i dettagli e gli aggiornamenti a livello di modulo:

Passaggio successivo