Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Gli elementi contrassegnati (anteprima) in questo articolo sono attualmente in anteprima pubblica. Questa anteprima viene fornita senza un contratto di servizio e non è consigliabile per i carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero avere funzionalità limitate. Per ulteriori informazioni, vedere Condizioni supplementari per l'uso delle versioni di anteprima di Microsoft Azure.
Importante
Quando si usano agenti esterni con altri prodotti e servizi Microsoft, è necessario leggere tutta la documentazione pertinente per tali prodotti e servizi e comprendere i rischi correlati e le considerazioni sulla conformità.
Se utilizzi agenti esterni con server, agenti, codice o modelli non Azure Direct di terze parti ("Sistemi di terze parti"), lo fai a tuo rischio. I sistemi di terze parti sono prodotti non Microsoft ai sensi delle condizioni del prodotto Microsoft e sono disciplinati dalle proprie condizioni di licenza di terze parti. L'utente è responsabile di qualsiasi utilizzo e costi associati.
È consigliabile esaminare tutti i dati condivisi e ricevuti da sistemi di terze parti e riconoscere le procedure di terze parti per la gestione, la condivisione, la conservazione e la posizione dei dati. Analogamente, se ci si connette o si integra con servizi Microsoft e funzionalità non Foundry, è importante esaminare le procedure relative ai dati. È responsabilità dell'utente gestire se i dati fluiranno al di fuori dei limiti geografici e di conformità della propria organizzazione e le eventuali implicazioni correlate, nonché garantire che siano predisposte autorizzazioni, limiti e approvazioni appropriati.
L'utente è responsabile di esaminare e testare attentamente le applicazioni compilate nel contesto dei casi d'uso specifici e di prendere tutte le decisioni e le personalizzazioni appropriate. Ciò include l'implementazione di mitigazioni di intelligenza artificiale responsabili, ad esempio metaprompt, filtri di contenuto o altri sistemi di sicurezza, e garantire che le applicazioni soddisfino gli standard di qualità, affidabilità, sicurezza e attendibilità appropriati. Vedi la nota sulla trasparenza di Foundry Agent Service.
Microsoft Foundry Agent Service consente di registrare agenti in esecuzione all'esterno di Foundry, in qualsiasi cloud, in locale o su un altro host, in modo da poter utilizzare la vista di traccia e le funzionalità di valutazione di Foundry. Foundry archivia solo i metadati di registrazione per questi agenti. Non ospita, proxy o richiama il runtime.
Gli agenti esterni differiscono dagli agenti personalizzati del piano di controllo, che instradano il traffico attraverso un gateway di intelligenza artificiale. Con gli agenti esterni, l'agente mantiene l'endpoint esistente e condivide solo i dati di telemetria OpenTelemetry. Non è necessario alcun gateway di intelligenza artificiale.
In questo articolo vengono illustrate le operazioni seguenti:
- Configurare un agente esterno per inviare gli span di OpenTelemetry ad Application Insights.
- Registra l'agente in Foundry come agente
external. - Verifica le tracce nel portale Foundry.
- Eseguire una valutazione basata sulle tracce della telemetria raccolta dall'agente.
Il diagramma seguente illustra il flusso di dati: l'agente esterno genera intervalli OpenTelemetry con un gen_ai.agent.id attributo a una risorsa di Application Insights connessa al progetto Foundry. Una chiamata di registrazione separata crea il record dell'agente in Foundry. Il portale Foundry abbina quindi le tracce in base all'ID dell’agente e le visualizza nella vista delle tracce dell’agente.
Importante
Gli agenti esterni sono in versione di anteprima. Le richieste di creazione e aggiornamento richiedono l'intestazione Foundry-Features: ExternalAgents=V1Preview . I chiamanti SDK abilitano questa funzionalità creando AIProjectClient con allow_preview=True.
Prerequisiti
Progetto Foundry con una risorsa di Application Insights connessa.
Un agente in esecuzione al di fuori di Foundry in grado di inviare span OpenTelemetry a quella risorsa di Application Insights.
Python 3.11 o versione successiva.
Ruolo Foundry User nel progetto.
Ruolo lettore o ruolo lettore di monitoraggio nella risorsa di Application Insights connessa per visualizzare le tracce.
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.
DefaultAzureCredentialconfigurato. Accedi conaz loginoppure configura un'identità gestita o un entità di servizio.(solo per la valutazione) Una distribuzione OpenAI Azure con un modello GPT che supporta il completamento della chat (ad esempio,
gpt-5-mini).
Instrumentare l'agente esterno con OpenTelemetry
Prima di registrare l'agente in Foundry, configuralo per esportare gli span OpenTelemetry nella risorsa Application Insights collegata al tuo progetto Foundry. Ogni intervallo deve contenere l'attributo gen_ai.agent.id in modo che Foundry possa attribuire l'intervallo alla registrazione corretta dell'agente.
Installare il pacchetto OpenTelemetry Microsoft
pip install "microsoft-opentelemetry[langchain]"
Configurare l'esportatore
Eseguire questo codice una volta durante l'avvio dell'agente, prima di qualsiasi importazione del framework che deve essere instrumentata:
import os
os.environ.setdefault("AZURE_EXPERIMENTAL_ENABLE_GENAI_TRACING", "true")
os.environ.setdefault("OTEL_SEMCONV_STABILITY_OPT_IN", "gen_ai_latest_experimental")
os.environ.setdefault("OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT", "SPAN_AND_EVENT")
from microsoft.opentelemetry import use_microsoft_opentelemetry
# Human-readable name for the agent
AGENT_NAME = os.environ.get("AGENT_NAME", "weather-agent")
# Unique ID emitted as gen_ai.agent.id on every span.
# Foundry matches traces to registrations by this value.
OTEL_AGENT_ID = os.environ.get("OTEL_AGENT_ID", f"{AGENT_NAME}-v1")
use_microsoft_opentelemetry(
enable_azure_monitor=True,
azure_monitor_connection_string=os.environ["APPLICATIONINSIGHTS_CONNECTION_STRING"],
sampling_ratio=1.0,
instrumentation_options={
"fastapi": {"enabled": False},
"langchain": {
"enabled": True,
"agent_id": OTEL_AGENT_ID,
"agent_name": AGENT_NAME,
},
},
)
Impostare la APPLICATIONINSIGHTS_CONNECTION_STRING variabile di ambiente nell'host in cui viene eseguito l'agente. Usa la stringa di connessione della risorsa Application Insights associata al progetto Foundry. Per trovare la stringa di connessione, apri il portale Foundry, passa al tuo progetto e seleziona Gestisci>Dettagli del progetto>Risorse connesse. Selezionare la risorsa di Application Insights per visualizzarne il stringa di connessione. In alternativa, aprire la risorsa di Application Insights direttamente nel portale di Azure e copiare il stringa di connessione dalla pagina Overview.
Dopo la configurazione, i successivi span di OpenTelemetry dal framework dell'agente vengono inviati automaticamente ad Application Insights. Ogni span deve impostare l'attributo gen_ai.agent.id sul valore che hai scelto come otel_agent_id durante la registrazione.
Se il framework agente non imposta automaticamente questo attributo, aggiungerlo manualmente:
from opentelemetry import trace
tracer = trace.get_tracer(__name__)
with tracer.start_as_current_span("agent-run") as span:
span.set_attribute("gen_ai.agent.id", "travel-planner-agent-v1")
# ... your agent logic ...
Suggerimento
Per la strumentazione automatica specifica del framework (LangChain, LangGraph), la distribuzione Microsoft OpenTelemetry per Python può impostare automaticamente gen_ai.agent.id tramite instrumentation_options. Per .NET e JavaScript, vedere la distribuzione .NET e JavaScript. Per linee guida generali, vedi Configurare il tracciamento per i framework per agenti di intelligenza artificiale.
Registrare l'agente esterno in Foundry
Dopo che l'agente ha inviato gli span ad Application Insights, registralo in Foundry in modo che tali span vengano visualizzati nella vista delle tracce di Foundry relativa all'agente. La registrazione crea in Foundry un record con nome che collega le tracce in arrivo (associate tramite gen_ai.agent.id) all'interfaccia dell'agente di Foundry. Senza questa registrazione, le tracce continuano a fluire in Application Insights, ma non vengono visualizzate nella vista delle tracce dell'agente in Foundry e non è possibile eseguire valutazioni basate sulle tracce circoscritte all'agente.
Installare l'SDK
pip install azure-ai-projects>=2.3.0 azure-identity>=1.17.0
Creare la registrazione
È possibile creare una registrazione nel portale foundry tramite:
Verificare le tracce nel portale di Foundry
Dopo che l'agente ha inviato il traffico e i dati di acquisizione ad Application Insights (in genere 2–5 minuti), verificare che le tracce siano visibili nel portale Foundry:
Aprire il portale Foundry.
Vai al tuo progetto.
Selezionare Agenti nel riquadro sinistro.
Selezionare il nome dell'agente esterno, ad esempio travel-planner-agent.
Selezionare la scheda Tracce per visualizzare gli intervalli attribuiti a questo agente.
Le tracce vengono abbinate tramite gen_ai.agent.id = <otel_agent_id> dalla risorsa Application Insights collegata al progetto. È possibile visualizzare input, output, chiamate agli strumenti e latenza per ogni intervallo.
Eseguire una valutazione basata su traccia
Dopo il flusso delle tracce in Application Insights, è possibile eseguire valutazioni direttamente su tali tracce. Non è necessaria alcuna costruzione di set di dati separata. Foundry risolve le tracce abbinando i tag (project, agent_id) in una finestra di lookback.
Note
Le valutazioni basate su traccia usano l'API compatibile con evals OpenAI (project.get_openai_client().evals). La superficie nativa project.evaluations non supporta ancora la valutazione basata su traccia.
Risolvere l'otel_agent_id dell'agente
Per ottenere l'ID dell'agente per le tracce, usare quanto segue:
Aprire l'agente esterno nel portale Foundry per visualizzarne le tracce. Per recuperare nel codice il valore restituito di otel_agent_id, utilizza una delle schede dell’SDK.
Creare ed eseguire la valutazione
Utilizza il tag otel_agent_id per eseguire una valutazione della traccia sui dati telemetrici raccolti dall'agente. Per la guida dettagliata completa, incluse le istruzioni per creare un gruppo di valutazione, configurare i criteri di test e interpretare i risultati, vedere Valutazione della traccia (anteprima).
Gestire agenti esterni
Usare gli stessi metodi SDK per elencare, recuperare ed eliminare agenti esterni.
Elencare gli agenti esterni
Nel portale Foundry, seleziona Build>Agents per visualizzare gli agenti esterni registrati.
Eliminare un agente esterno
Usare una delle schede SDK per eliminare una registrazione dell'agente esterno. L'eliminazione della registrazione non influisce sull'agente ospitato esternamente.
Riferimento: AIProjectClient
L'eliminazione della registrazione rimuove l'agente dal portale Foundry e fa sì che le tracce non vengano più visualizzate nella vista tracce dell'agente di Foundry. Gli intervalli rimangono in Application Insights e l'agente in esecuzione non ne risente.
Risoluzione dei problemi
Risolvere i problemi relativi alle tracce mancanti
Se non vengono visualizzate tracce, controllare gli elementi seguenti:
- La risorsa di Application Insights è connessa al progetto Foundry in cui è stato registrato l'agente.
- Il
otel_agent_idnella registrazione corrisponde all'attributogen_ai.agent.idnegli span. - Nel processo dell'agente,
APPLICATIONINSIGHTS_CONNECTION_STRINGè impostato sulla risorsa Application Insights corretta. - Gli intervalli sono conformi alle convenzioni semantiche OpenTelemetry per l'intelligenza artificiale generativa.
Per altre indicazioni sulla risoluzione dei problemi, vedere Risolvere i problemi di valutazione e osservabilità.
Risolvere gli errori di registrazione
Se create_version() (Python) o createVersion() (JavaScript/TypeScript) ha esito negativo, controllare gli elementi seguenti:
- Hai creato
AIProjectClientconallow_preview=True(Python), oppure hai passatofoundryFeatures: "ExternalAgents=V1Preview"nella chiamata acreateVersion(JavaScript/TypeScript). Senza questo consenso esplicito, le richieste dell'agente esterno vengono rifiutate. - Il tuo account dispone del ruolo Utente Foundry (o superiore) nel progetto.
- Il valore del nome dell'agente usa solo caratteri alfanumerici, trattini e caratteri di sottolineatura.
- Non esiste già alcun agente con lo stesso nome ma di tipo diverso. Usare
project.agents.get()per controllare.
Limitazioni correnti
Le funzionalità foundry seguenti non sono attualmente supportate per gli agenti esterni:
- Valutazione umana : i flussi di lavoro di revisione manuale non sono disponibili per gli agenti registrati esternamente.
- Convertire le tracce dell'agente in set di dati di valutazione : la conversione da traccia a set di dati non è supportata per gli agenti esterni.
- Red teaming dell'IA: le analisi di red teaming non possono avere come oggetto agenti esterni.
Contenuti correlati
- Panoramica del tracciamento degli agenti
- Configurare il tracciamento in Microsoft Foundry
- Configurare il tracciamento per i framework di agenti di intelligenza artificiale
- Valutare gli agenti di intelligenza artificiale
- Registrare e gestire agenti personalizzati (piano di controllo)
- Analizzatori predefiniti
- Panoramica di OpenTelemetry per Monitoraggio di Azure
- Avviare valutazioni cloud