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 Azure AI nel progetto Foundry (ruolo con privilegi minimi per lo 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 connesso (az login) così 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 agente Foundry langchain_azure_ai.agents Creare nodi dell'agente gestito per creare grafici e flussi complessi per LangGraph e LangChain. Vedere esempi dettagliati.
Sicurezza dei contenuti foundry langchain_azure_ai.agents.middleware Usare Foundry Content Safety e Moderation per assicurarsi di poter distribuire la soluzione con le protezioni corrette. Vedere esempi dettagliati.
Modelli di chat langchain_azure_ai.chat_models Chiamare Azure OpenAI e modelli di chat nel catalogo. 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_message_histories 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 Aggiungere strumenti come Document Intelligence, Vision, analisi del testo sanitario e Logic Apps.
Richiami e registrazione langchain_azure_ai.callbacks Acquisire gli eventi di esecuzione e generare 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 utilizza 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:

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

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