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.
Piano di controllo Foundry di Microsoft fornisce gestione e osservabilità centralizzate per gli agenti in esecuzione su piattaforme e infrastrutture diverse. È possibile registrare agenti personalizzati eseguiti in Azure servizi di calcolo o in altri ambienti cloud per ottenere visibilità nelle operazioni e controllarne il comportamento.
Questo articolo illustra come registrare un agente personalizzato nel piano di controllo Foundry. Si apprenderà come configurare l'agente per la registrazione, configurare la raccolta dati e usare le funzionalità di gestione di Foundry Control Plane.
Prerequisiti
-
Un account Azure con una sottoscrizione attiva. Se non ne hai uno, crea un account gratuito Azure, che include una sottoscrizione di valutazione gratuita.
Progetto Foundry. Se non ne hai uno, crea un progetto.
Un gateway di intelligenza artificiale configurato nella risorsa Foundry. Foundry usa Gestione API di Azure per registrare gli agenti come API.
Un agente che viene distribuito ed esposto tramite un endpoint raggiungibile. L'endpoint può essere un endpoint pubblico o un endpoint raggiungibile dalla rete in cui si distribuisce la risorsa Foundry.
Nota
Questa funzionalità è disponibile solo nel portale Foundry (nuovo). Cercare
nel banner del portale per confermare che si sta usando Foundry (nuovo).
Aggiungere un agente personalizzato
È possibile registrare un agente personalizzato nel piano di controllo Foundry. Sviluppare l'agente nella tecnologia preferita, sia per le soluzioni di piattaforma che per l'infrastruttura.
Quando si registra un agente personalizzato, Foundry usa Gestione API per fungere da proxy per le comunicazioni con l'agente, in modo da poter controllare l'accesso e monitorare l'attività.
Il diagramma seguente mostra l'architettura risultante quando si registra un agente personalizzato.
Verificare l'agente
Verificare che l'agente soddisfi i requisiti per la registrazione:
- L'agente espone un endpoint esclusivo.
- La rete in cui si distribuisce la risorsa Foundry può raggiungere l'endpoint dell'agente.
- L'agente comunica usando uno dei protocolli supportati: HTTP (generale) o A2A (più specifico).
- L'agente genera dati usando le convenzioni semantiche OpenTelemetry per soluzioni di intelligenza artificiale generative (o non è necessaria questa funzionalità).
- È possibile configurare l'endpoint usato dagli utenti per comunicare con l'agente. Dopo aver registrato un agente, Foundry Control Plane genera un nuovo URL. I client e gli utenti devono usare questo URL per comunicare con l'agente.
Preparare il progetto Foundry
Prima di registrare l'agente personalizzato aggiunto a un progetto Foundry, assicurarsi di aver configurato correttamente il progetto:
-
Accedere a Microsoft Foundry. Assicurarsi che l'interruttore New Foundry sia attivato. Questi passaggi fanno riferimento a Foundry (nuovo).These steps refer to Foundry (new).
Assicurarsi che un gateway di intelligenza artificiale sia configurato nel progetto:
Sulla barra degli strumenti selezionare Opera.
Nel riquadro sinistro selezionare Amministratore.
Aprire la scheda Gateway di intelligenza artificiale .
Il riquadro elenca tutti i gateway di intelligenza artificiale configurati e mappati a una risorsa Foundry. Controllare se la risorsa Foundry che si vuole usare ha un gateway di intelligenza artificiale associato.
Se la risorsa Foundry che si vuole usare non dispone di un gateway di intelligenza artificiale configurato (non elencato), aggiungerne uno usando l'opzione Aggiungi gateway di intelligenza artificiale .
Un gateway di intelligenza artificiale è gratuito per configurare e sbloccare potenti funzionalità di governance, ad esempio sicurezza, dati di diagnostica e limiti di frequenza per agenti, strumenti e modelli. Per altre informazioni, vedere Creare un gateway di intelligenza artificiale.
Assicurarsi di avere configurato l'osservabilità nel progetto. Foundry Control Plane usa la risorsa di Application Insights associata al progetto selezionato per emettere dati che aiutano a diagnosticare il tuo agente.
Sulla barra degli strumenti selezionare Opera.
Nel riquadro sinistro selezionare Amministratore.
In Tutti i progetti usare la casella di ricerca per cercare il progetto.
Selezionare il progetto.
Selezionare la scheda Risorse connesse .
Assicurarsi che sia presente una risorsa associata nella categoria AppInsights .
Se non è presente alcuna risorsa associata, aggiungerne una selezionando Aggiungi connessione>Application Insights.
Il progetto è configurato per l'osservabilità e il tracciamento.
Registrare l'agente (asset)
Sulla barra degli strumenti selezionare Opera.
Nel riquadro Panoramica selezionare Registra risorsa.
Verrà visualizzata la procedura guidata di registrazione. Prima di tutto, completare i dettagli sull'agente da registrare. Le seguenti proprietà descrivono l'agente mentre è in esecuzione sulla sua piattaforma.
Proprietà Descrizione Obbligatorio URL dell'agente L'URL dell'endpoint in cui viene eseguito l'agente e riceve le richieste. In generale, ma a seconda del protocollo, si indica l'URL di base usato dai client. Ad esempio, se il tuo agente utilizza l'API di completamento chat di OpenAI, si indica https://<host>/v1/senza/chat/completionsperché generalmente i client lo aggiungono.Sì Protocollo Protocollo di comunicazione supportato dall'agente. Usare HTTP in generale. In alternativa, se l'agente supporta A2A in modo più specifico, indicarne uno. Sì URL della scheda agente A2A Percorso della specifica JSON della scheda dell'agente. Se non lo si specifica, il sistema usa il valore predefinito /.well-known/agent-card.json.No ID agente OpenTelemetry ID agente che il tuo agente utilizza per emettere tracce secondo le convenzioni semantiche OpenTelemetry per l'intelligenza artificiale generativa. Le tracce lo indicano nell'attributo gen_ai.agent.idper gli intervalli con il nomecreate_agentdell'operazione. Se non si specifica questo valore, il sistema usa il valore del nome dell'agente per trovare tracce e log segnalati da questo nuovo agente.No URL del portale di amministrazione URL del portale di amministrazione in cui è possibile eseguire altre operazioni di amministrazione per questo agente. Foundry può archiviare questo valore per praticità. Foundry non ha accesso per eseguire operazioni direttamente in questo portale. No Configurare la modalità di visualizzazione dell'agente nel piano di controllo Foundry:
Proprietà Descrizione Obbligatorio Project Progetto in cui si registra l'agente. Foundry usa il gateway di intelligenza artificiale configurato nella risorsa che contiene il progetto per configurare l'endpoint in ingresso per l'agente. È possibile selezionare solo i progetti con un gateway di intelligenza artificiale abilitato nelle risorse. Se non vengono visualizzati gateway di intelligenza artificiale, configurare un gateway di intelligenza artificiale nella risorsa Foundry. È anche consigliabile configurare Application Insights nel progetto selezionato. Foundry utilizza la risorsa Application Insights del progetto per confluire tracce e log. Sì Nome agente Nome dell'agente che si vuole visualizzare in Foundry. Il sistema potrebbe anche usare questo nome per trovare tracce e log pertinenti in Application Insights se non si specifica un valore diverso per l'ID agente OpenTelemetry. Sì Descrizione Descrizione chiara di questo agente. No Salvare le modifiche.
Foundry aggiunge il nuovo agente. Per controllare l'elenco degli agenti, selezionare Risorse nel riquadro sinistro.
Per visualizzare solo gli agenti personalizzati, usare il filtro Origine e selezionare Personalizzato.
Collegare i clienti all'agente
Quando si registra l'agente in Foundry, si ottiene un nuovo URL che i client possono usare. Poiché Foundry funge da proxy per le comunicazioni con l'agente, può controllare l'accesso e monitorare l'attività.
Per distribuire il nuovo URL in modo che i client possano chiamare l'agente:
Selezionare l'agente personalizzato.
Nel riquadro dei dettagli, in URL agente selezionare l'opzione Copia .
Usare il nuovo URL per chiamare l'agente anziché l'endpoint originale.
In questo esempio si distribuisce un agente LangGraph. I client usano LangGraph SDK per utilizzarlo. Il client usa il nuovo valore dell'URL dell'agente . Questo codice crea un thread, invia un messaggio che chiede informazioni sul meteo e trasmette la risposta.
import asyncio
from langgraph_sdk import get_client
client = get_client(url="https://apim-my-foundry-resource.azure-api.net/my-custom-agent/")
async def stream_run():
thread = await client.threads.create()
input_data = {"messages": [{"role": "human", "content": "What's the weather in LA?"}]}
async for chunk in client.runs.stream(thread['thread_id'], assistant_id="your_assistant_id", input=input_data):
print(chunk)
asyncio.run(stream_run())
Output previsto: l'agente elabora il messaggio e trasmette le risposte come blocchi. Ogni blocco contiene risultati parziali dell'esecuzione dell'agente. Questi risultati possono includere chiamate di strumenti alla funzione meteo e la risposta finale sul meteo di Los Angeles.
Nota
Anche se Foundry funge da proxy per le richieste in ingresso per l'agente, lo schema di autorizzazione e autenticazione originale nell'endpoint originale viene comunque applicato. Quando si utilizza il nuovo endpoint, fornire lo stesso meccanismo di autenticazione come se si usasse l'endpoint originale.
Bloccare e sbloccare l'agente
Per gli agenti personalizzati, Foundry non ha accesso all'infrastruttura sottostante in cui viene eseguito l'agente, quindi le operazioni di avvio e arresto non sono disponibili. Foundry può tuttavia bloccare le richieste in ingresso all'agente in modo che i client non possano utilizzarlo. Questa funzionalità consente agli amministratori di disabilitare un agente se non funziona correttamente.
Per bloccare le richieste in ingresso all'agente:
Sulla barra degli strumenti selezionare Opera.
Nel riquadro sinistro selezionare Asset.
Selezionare l'agente che si vuole bloccare. Viene visualizzato il riquadro informazioni.
Selezionare Aggiorna stato e quindi Blocca.
Confermare l'operazione.
Dopo aver bloccato l'agente, il valore Di stato dell'agente in Foundry è Bloccato. Gli agenti nello stato Bloccato operano nell'infrastruttura associata, ma non possono accettare richieste in ingresso. Foundry blocca qualsiasi tentativo di interfacciarsi con l'agente.
Per sbloccare l'agente:
Selezionare Aggiorna stato e quindi Sblocca.
Confermare l'operazione.
Abilitare i dati di diagnostica per l'agente
Foundry usa lo standard openTelemetry open per comprendere le operazioni eseguite dagli agenti. Se il progetto ha configurato Application Insights, Foundry registra le richieste in Application Insights per impostazione predefinita. Foundry usa anche questi dati per calcolare:
- Eseguito
- Tasso di errore
- Utilizzo (se disponibile)
Per ottenere il livello di fedeltà migliore, Foundry prevede che gli agenti personalizzati siano conformi alle convenzioni semantiche per le soluzioni di intelligenza artificiale generative nello standard OpenTelemetry.
Visualizzare tracce e log inviati a Foundry
Sulla barra degli strumenti selezionare Opera.
Nel riquadro sinistro selezionare Asset.
Selezionare l'agente.
La sezione Tracce mostra una voce per ogni chiamata HTTP effettuata all'endpoint dell'agente.
Per visualizzare i dettagli, selezionare una voce.
Suggerimento
In questo esempio è possibile vedere in che modo i client usano l'endpoint del nuovo agente per comunicare con l'agente. L'esempio mostra un agente servito con il protocollo dell'agente da LangChain. I clienti usano la route
/runs/stream.
In questo esempio la traccia non include dettagli oltre il post HTTP. Il codice dell'agente non include altre strumentazioni. Nella sezione successiva si apprenderà come instrumentare il codice e ottenere dettagli come le chiamate agli strumenti e le chiamate LLM (Large Language Model).
Configurare agenti di codice personalizzati
Se costruisci il tuo agente usando codice personalizzato, configura la soluzione per generare tracce secondo lo standard OpenTelemetry e inviarle ad Application Insights. La strumentazione consente a Foundry di accedere a informazioni dettagliate sulle operazioni dell'agente.
Inviare tracce alla risorsa di Application Insights del progetto usando la relativa chiave di strumentazione. Per ottenere la chiave di strumentazione associata al progetto, seguire le istruzioni in Connettere Application Insights al progetto Foundry.
In questo esempio viene configurato un agente sviluppato con LangGraph per generare tracce nello standard OpenTelemetry. Il tracciatore acquisisce tutte le operazioni degli agenti, incluse le chiamate agli strumenti e le interazioni con i modelli. Il tracciare invia quindi le operazioni ad Application Insights per il monitoraggio.
Questo codice usa il pacchetto langchain-azure-ai . Per indicazioni sulla strumentazione di soluzioni specifiche con OpenTelemetry, a seconda del linguaggio di programmazione e del framework usati dalla soluzione, vedere API del linguaggio e SDK.
pip install -U langchain-azure-ai[opentelemetry]
Ora, strumenta il tuo agente:
from langchain.agents import create_agent
from langchain_azure_ai.callbacks.tracers import AzureAIOpenTelemetryTracer
application_insights_connection_string = "InstrumentationKey=12345678-..."
tracer = AzureAIOpenTelemetryTracer(
connection_string=application_insights_connection_string,
enable_content_recording=True,
)
def get_weather(city: str) -> str:
"""Get weather for a given city."""
return f"It's always sunny in {city}!"
agent = create_agent(
model="openai:gpt-5.1",
tools=[get_weather],
system_prompt="You are a helpful assistant",
).with_config({ "callbacks": [tracer] })
Output previsto: l'agente viene eseguito normalmente durante l'emissione automatica di tracce OpenTelemetry in Application Insights. Le tracce includono nomi delle operazioni, durate, chiamate di modelli, chiamate agli strumenti e utilizzo dei token. È possibile visualizzare queste tracce nel portale Foundry, nella sezione Tracce .
Suggerimento
È possibile passare il stringa di connessione ad Application Insights usando la variabile di ambiente APPLICATIONINSIGHTS_CONNECTION_STRING.
Soluzioni della piattaforma instrumentare
Se l'agente viene eseguito su una soluzione di piattaforma che supporta OpenTelemetry ma non supporta Application Insights, distribuisci un collector OpenTelemetry e configura il software per inviare dati in formato OTLP al collector (configurazione standard di OpenTelemetry).
Configurare il collettore con l'utilità di esportazione di Monitoraggio di Azure per inoltrare i dati ad Application Insights usando la stringa di connessione. Per informazioni dettagliate su come implementarla, vedere Configurare Monitoraggio di Azure OpenTelemetry.
Risolvere i problemi relativi alle tracce
Se non vengono visualizzate tracce, controllare gli elementi seguenti:
- Il progetto in cui si registra l'agente ha configurato Application Insights. Se Application Insights è stato configurato dopo aver registrato l'agente personalizzato, è necessario annullare la registrazione dell'agente e registrarlo nuovamente. La configurazione di Application Insights non viene aggiornata automaticamente dopo la registrazione, se è stata modificata.
- L'agente (in esecuzione nell'infrastruttura) è stato configurato per inviare tracce ad Application Insights e si usa la stessa risorsa di Application Insights usata dal progetto.
- La strumentazione è conforme alle convenzioni semantiche OpenTelemetry per l'intelligenza artificiale generativa.
- Le tracce includono intervalli con attributo
gen_ai.operation.name="create_agent"egen_ai.agent.id="<agent-id>"(ogen_ai.agent.name="<agent-id>"). Nell'ultimo attributo,"<agent-id>"è il valore dell'ID agente OpenTelemetry configurato durante la registrazione.