Condividi tramite


Introduzione a LangChain e LangGraph con Foundry

Usare il langchain-azure-ai pacchetto come punto di ingresso per la compilazione di applicazioni LangChain e LangGraph con le funzionalità di 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. Creane uno gratis.
  • Un progetto Fonderia.
  • Ruolo utente di 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 connessa (az login) in modo che DefaultAzureCredential possa eseguire l'autenticazione.

Suggerimento

In questo articolo viene menzionato il supporto per Microsoft Foundry (nuovo) 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:

Capability 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.
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.
Embeddings langchain_azure_ai.embeddings Chiamare modelli di incorporamento dal catalogo e generare vettori per i flussi di lavoro di ricerca, recupero e classificazione. Vedere esempi dettagliati.
Archivi di vettori 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 delle chat langchain_azure_ai.chat_message_histories Mantenere e ripristinare la cronologia delle chat tra le sessioni. Usare le cronologie alimentate dalla memoria per ottenere la cronologia consolidata delle chat passate. Vedere esempi dettagliati.
Tools langchain_azure_ai.tools Aggiungere strumenti come Document Intelligence, Visione, analisi del testo sanitario e applicazioni logiche.
Callback e tracciamento 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.

Vedere la sezione Informazioni dettagliate su ogni funzionalità per le procedure specifiche.

Collegarsi 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 Azure RBAC per il 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()

Funzionamento di DefaultAzureCredential

DefaultAzureCredential tenta diverse origini di credenziali Microsoft Entra ID nell'ordine e usa la prima che funziona. Le origini comuni sono variabili di ambiente, identità gestita, strumenti di sviluppo e Azure CLI.

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:

Passo successivo