Creare un agente di Intelligenza artificiale di Azure con Microsoft Agent Framework
Microsoft Foundry Agent è un agente specializzato all'interno di Microsoft Agent Framework, progettato per offrire funzionalità di conversazione a livello aziendale con l'integrazione senza problemi degli strumenti. Gestisce automaticamente le chiamate agli strumenti, quindi non è necessario analizzare e richiamare manualmente le funzioni. L'agente gestisce in modo sicuro anche la cronologia delle conversazioni usando thread, riducendo così il lavoro di mantenimento dello stato. Microsoft Foundry Agent supporta molti strumenti predefiniti, tra cui interprete del codice, ricerca di file e ricerca Web. Offre anche funzionalità di integrazione per Ricerca intelligenza artificiale di Azure, Funzioni di Azure e altri servizi di Azure.
Creazione di un agente Microsoft Foundry
Microsoft Foundry Agent include tutte le funzionalità di base necessarie in genere per le applicazioni di intelligenza artificiale aziendale, ad esempio l'esecuzione delle funzioni, la pianificazione e l'accesso alla memoria. Questo agente funge da runtime autonomo con funzionalità a livello aziendale.
Per usare Microsoft Foundry Agent:
- Creare un progetto Microsoft Foundry.
- Aggiungere la stringa di connessione del progetto al codice dell'applicazione Microsoft Agent Framework.
- Configurare le credenziali di autenticazione.
- Creare un
ChatAgentcon unAzureAIAgentClient. - Definire strumenti e istruzioni per l'agente.
Ecco il codice che illustra come creare un agente Microsoft Foundry:
from agent_framework import AgentThread, ChatAgent
from agent_framework.azure import AzureAIAgentClient
from azure.identity.aio import AzureCliCredential
def get_weather(
location: Annotated[str, Field(description="The location to get the weather for.")],
) -> str:
"""Get the weather for a given location."""
return f"The weather in {location} is sunny with a high of 25°C."
# Create a ChatAgent with Azure AI client
async with (
AzureCliCredential() as credential,
ChatAgent(
chat_client=AzureAIAgentClient(async_credential=credential),
instructions="You are a helpful weather agent.",
tools=get_weather,
) as agent,
):
# Agent is now ready to use
Dopo aver creato l'agente, è possibile creare un thread per interagire con l'agente e ottenere risposte alle domande. Per esempio:
# Create the agent thread for ongoing conversation
thread = agent.get_new_thread()
# Ask questions and get responses
first_query = "What's the weather like in Seattle?"
print(f"User: {first_query}")
first_result = await agent.run(first_query, thread=thread)
print(f"Agent: {first_result.text}")
Componenti chiave di Microsoft Foundry Agent
Microsoft Agent Framework Microsoft Foundry Agent usa i componenti seguenti per funzionare:
AzureAIAgentClient : gestisce la connessione al progetto Microsoft Foundry. Questo client consente di accedere ai servizi e ai modelli associati al progetto e fornisce funzionalità di autenticazione e sicurezza a livello aziendale.
ChatAgent : la classe agente principale che combina il client, le istruzioni e gli strumenti per creare un agente di intelligenza artificiale funzionante in grado di gestire le conversazioni e completare le attività.
AgentThread : tiene traccia automaticamente della cronologia delle conversazioni tra agenti e utenti e gestisce lo stato della conversazione. È possibile creare nuovi thread o riutilizzare quelli esistenti per mantenere il contesto tra le interazioni.
Integrazione degli strumenti : supporto per funzioni personalizzate che estendono le funzionalità dell'agente. Le funzioni vengono registrate automaticamente e possono essere chiamate dagli agenti per connettersi con API e servizi esterni.
Credenziali di autenticazione : supporta le credenziali dell'interfaccia della riga di comando di Azure, l'autenticazione dell'entità servizio e altre opzioni di identità di Azure per l'accesso sicuro a Foundry Tools.
Gestione dei thread: offre opzioni flessibili per la creazione di thread, tra cui la creazione automatica di thread per scenari semplici e la gestione esplicita dei thread per le conversazioni in corso.
Questi componenti interagiscono per consentire di creare agenti a livello aziendale con istruzioni per definire il loro scopo e ottenere risposte dai modelli di intelligenza artificiale mantenendo al contempo il contesto di sicurezza, scalabilità e conversazione per le applicazioni aziendali.