Quando si lavora con modelli di linguaggio di grandi dimensioni (LLM), una delle principali sfide è la gestione dello stato della conversazione e l'invocazione delle funzioni esterne in modo efficace. Senza un framework adeguato, bisogna manualmente gestire la cronologia dei messaggi, analizzare le risposte del modello per individuare eventuali richieste di strumenti e quindi eseguire le chiamate alle API necessarie. Questo processo non solo introduce complessità nello sviluppo, ma può anche comportare errori difficili da diagnosticare e risolvere.
Azure AI Agent Service affronta proprio queste problematiche offrendo una soluzione gestita che semplifica la creazione e l'uso degli agenti AI. Questo servizio permette di costruire agenti intelligenti che possono gestire conversazioni, eseguire azioni e interagire con dati aziendali senza che lo sviluppatore debba preoccuparsi della gestione della cronologia o della chiamata degli strumenti. In pratica, è sufficiente definire un agente specificando il modello, le istruzioni e gli strumenti disponibili.
Ad esempio, per creare un agente con il modello GPT-4o-mini e un interprete di codice integrato, si può utilizzare il seguente codice in Python:
agent = project_client.agents.create_agent(model="gpt-4o-mini", name="sales-agent", instructions="Sei un assistente che fornisce i dati di vendita", tools=code_interpreter.definitions, tool_resources=code_interpreter.resources)
Il codice è possibile scriverlo anche in altri linguaggi, grazie all'AI Foundry SDK, come C# e JavaScript. Dopo aver creato l'agente, è possibile interagire con esso avviando una conversazione e chiedendogli di eseguire compiti specifici. Il servizio gestirà automaticamente l'intero ciclo di chiamata degli strumenti e restituirà il risultato.
thread = project_client.agents.create_thread() message = project_client.agents.create_message( thread_id=thread.id, role="user", content="Fornisci i dati di vendita di luglio 2024" ) run = project_client.agents.create_and_process_run(thread_id=thread.id, agent_id=agent.id) messages = project_client.agents.list_messages(thread_id=thread.id)
Gli agent creati e i thread instanziati sono poi visibili anche dal portale Azure di AI, come visibile nella figura.

Azure AI Agent Service offre anche vantaggi significativi rispetto all'utilizzo diretto di un'API di inferenza. Con questo servizio, non è necessario gestire manualmente lo stato della conversazione o interpretare le risposte per eseguire azioni esterne. Inoltre, fornisce una un'integrazione nativa con i servizi Microsoft come Azure AI Search, Bing e Azure Functions. A differenza di Azure OpenAI Assistants, questo servizio permette di utilizzare diversi modelli oltre a quelli di OpenAI, come Llama 3 e Mistral, offrendo maggiore flessibilità nella scelta dell'intelligenza artificiale più adatta alle proprie esigenze.
Per iniziare con Azure AI Agent Service, è necessario creare un hub AI Foundry e un progetto agente nella propria sottoscrizione Azure. Una volta configurato il progetto, si può distribuire un modello compatibile e iniziare a effettuare chiamate API utilizzando gli SDK disponibili.
Grazie alla sua architettura scalabile e alla gestione semplificata, Azure AI Agent Service rappresenta una soluzione ideale per chi desidera sviluppare agenti AI avanzati senza doversi occupare della complessità della gestione dell'infrastruttura sottostante. Inoltre, il servizio non comporta costi aggiuntivi oltre a quelli relativi all'uso degli strumenti, come ricerche e storage, e al modello stesso, garantendo un maggiore controllo sui costi complessivi del progetto.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Anonimizzare i dati sensibili nei log di Azure Front Door
Creare una libreria CSS universale: Immagini
Path addizionali per gli asset in ASP.NET Core MVC
Creare una libreria CSS universale: Clip-path
Creare un webhook in Azure DevOps
Utilizzare QuickGrid di Blazor con Entity Framework
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Assegnare un valore di default a un parametro di una lambda in C#
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Migrare una service connection a workload identity federation in Azure DevOps
Utilizzare una qualunque lista per i parametri di tipo params in C#
I più letti di oggi
- .NET Conference Italia 2023 - Milano e Online
- .NET Conference Italia 2024 - Milano
- Documentare i servizi REST con Swagger e OpenAPI con .NET 9
- Ricevere notifiche sui test con Azure Load Testing
- Creare agenti facilmente con Azure AI Agent Service
- Loggare le query più lente con Entity Framework
- Nuova build per ASP.NET MVC: Preview 5
- Microsoft Security Bulletin MS05-047
- Quando Linq incontra ASP.NET, nasce BLinq
- Dopo diversi anni la nuova versione 5.7 di Windows Scripting Host