Modelli e piattaforme di IA

OpenAgents: Una Piattaforma Aperta per Agenti Linguistici nel Mondo Reale

mm
Aggiungi Unite.AI alle tue fonti preferite su Google

Recenti sviluppi hanno dimostrato che gli agenti linguistici, in particolare quelli costruiti su modelli linguistici di grandi dimensioni (LLM), hanno il potenziale per eseguire una vasta gamma di compiti intricati in ambienti diversi utilizzando il linguaggio naturale. Tuttavia, l’attenzione principale della maggior parte delle attuali strutture di agenti linguistici è focalizzata sulla facilitazione della costruzione di agenti linguistici di prova. Questa attenzione spesso si accompagna a poca o nessuna attenzione ai progetti a livello di applicazione e spesso trascura l’accessibilità di questi agenti per gli utenti non esperti.

Per superare le limitazioni attuali degli agenti linguistici, gli sviluppatori hanno creato la struttura OpenAgents, una piattaforma aperta per ospitare e distribuire agenti linguistici nel mondo reale e in una vasta gamma di compiti quotidiani. La struttura OpenAgents si basa su tre agenti

  • Agente Dati: Aiuta con l’analisi dei dati utilizzando strumenti di dati e linguaggi di query come SQL o linguaggi di programmazione come Python.
  • Agente Plugin: Aiuta fornendo l’accesso a oltre 200 strumenti API utili per compiti quotidiani.
  • Agente Web: Aiuta nella navigazione web mantenendo l’anonimato.

La struttura OpenAgents utilizza un’interfaccia utente web ottimizzata per errori comuni e risposte rapide nel tentativo di consentire agli utenti generici di interagire con le funzionalità degli agenti, mentre allo stesso tempo offre ai ricercatori e agli sviluppatori un’esperienza di distribuzione senza problemi nei loro setup locali. Sarebbe sicuro dire che la struttura OpenAgents è un tentativo di fornire una solida base per facilitare valutazioni nel mondo reale e creare agenti linguistici innovativi, efficaci e avanzati.

Nell’articolo di oggi, esploreremo la struttura OpenAgents in modo più approfondito e parleremo della struttura in maggior dettaglio. Discuteremo del funzionamento e dell’architettura della struttura, nonché delle sfide comuni affrontate e dei risultati. Quindi, iniziamo.

OpenAgents e Agenti Linguistici: Un’introduzione

Gli agenti linguistici, nel loro nucleo, sono derivati da agenti intelligenti. Questi agenti intelligenti sono concepiti per possedere capacità di risoluzione dei problemi autonome, insieme alla capacità di percepire il loro ambiente, prendere decisioni e agire di conseguenza. Con gli avanzamenti nei modelli linguistici di grandi dimensioni, la comunità di sviluppo globale ha sfruttato il concetto di agenti intelligenti e LLM per creare agenti linguistici. Questi agenti utilizzano la programmazione del linguaggio naturale (NLP) per eseguire una vasta gamma di compiti intricati in ambienti diversi e hanno recentemente mostrato un potenziale notevole.

Le attuali strutture di agenti linguistici, come Gravitas e Chase, forniscono principalmente un’interfaccia della console adatta per gli sviluppatori, insieme a implementazioni di prova. Tuttavia, spesso limitano l’accessibilità a un pubblico più ampio, in particolare coloro che non sono esperti in codifica. Inoltre, le attuali valutazioni degli agenti sono costruite da sviluppatori con requisiti specifici per la valutazione deterministica, specialmente in scenari che richiedono la navigazione web, la codifica, l’utilizzo di strumenti o una combinazione di questi.

Per sviluppare agenti linguistici potenziati da LLM per una base di utenti più ampia, attori consolidati come OpenAI e Microsoft (MSFT ) hanno distribuito una serie di prodotti ben progettati, tra cui Analisi Dati Avanzata, nota anche come Interpretazione del Codice, e plugin del browser. Sebbene questi agenti siano efficaci nelle loro funzioni, offrono un aiuto limitato alla comunità di sviluppo. Questa limitazione deriva dal fatto che il codice logico aziendale e le implementazioni del modello non sono state open-source, ostacolando le opportunità per gli sviluppatori e i ricercatori di esplorarle ulteriormente, nonché limitando l’accesso gratuito per gli utenti.

Per affrontare questo problema, gli sviluppatori hanno creato OpenAgents, una piattaforma open-source per ospitare e utilizzare agenti, attualmente costruita su una base di tre agenti interni

  • Agente Dati: Aiuta con l’analisi dei dati utilizzando strumenti di dati e linguaggi di query come SQL o linguaggi di programmazione come Python.
  • Agente Plugin: Aiuta fornendo l’accesso a oltre 200 strumenti API utili per compiti quotidiani.
  • Agente Web: Aiuta nella navigazione web mantenendo l’anonimato.

La figura seguente dimostra la piattaforma OpenAgents per utenti generici, sviluppatori e ricercatori.

  1. Invece di utilizzare un pacchetto orientato al programmatore o console, gli utenti generici possono interagire con i tre agenti nella struttura OpenAgents utilizzando un’interfaccia web online.
  2. Gli sviluppatori possono utilizzare il codice logico aziendale e le ricerche fornite dalla struttura OpenAgents per distribuire senza problemi il backend e il frontend per ulteriori sviluppi.
  3. I ricercatori hanno la flessibilità di costruire nuovi agenti linguistici da zero o implementare metodi relativi agli agenti utilizzando componenti condivise ed esempi, e valutare le loro prestazioni utilizzando l’interfaccia web.

In sintesi, la struttura OpenAgents è originariamente destinata a essere una piattaforma olistica e realistica per la valutazione degli agenti linguistici con interazione umana, che consente agli utenti di interagire con questi agenti per completare una vasta gamma di compiti, e queste interazioni umano-agente, insieme al feedback degli utenti, vengono archiviate e analizzate per ulteriore sviluppo e valutazione.

Per coloro che non lo sanno, LLM prompting è un processo che consente agli sviluppatori di creare istruzioni che salvaguardano contro input avversi o errati, migliorano l’estetica dell’output e si adattano alla logica del backend. Durante la fase di sviluppo, gli sviluppatori che lavorano sulla struttura OpenAgents utilizzano la tecnica di LLM prompting per sottolineare l’importanza di specificare i requisiti dell’applicazione in modo efficace.

Nella figura seguente, stiamo confrontando la struttura OpenAgents direttamente con lavori esistenti su benchmark di concetto di agente e costruzione di prototipi.

OpenAgents: Progettazione e Implementazione della Piattaforma

La progettazione sistematica o l’architettura della piattaforma OpenAgents può essere suddivisa in due componenti principali: Interfaccia Utente, che include sia il backend che il frontend, e Agente Linguistico, che comprende strumenti, modelli linguistici e ambienti. La struttura OpenAgents fornisce un’interfaccia per la comunicazione tra gli utenti e gli agenti.

Gli agenti utilizzano gli strumenti a loro disposizione per pianificare e intraprendere le azioni richieste negli ambienti una volta ricevuti gli input dagli utenti. L’architettura o la progettazione sistematica della struttura è dimostrata nell’immagine seguente.

Interfaccia Utente

Gli sviluppatori della struttura OpenAgents hanno dedicato molta attenzione e sforzo allo sviluppo di un’interfaccia utente non solo altamente funzionale, ma anche utente-friendly, dopo aver affrontato una serie di host agent e logica aziendale riutilizzabile. Di conseguenza, la struttura OpenAgents vanta il supporto per una vasta gamma di compiti tecnici, tra cui gestione degli errori, operazioni del server backend, data streaming e molto altro, con l’obiettivo principale di rendere la struttura OpenAgents utente-friendly, ma anche altamente efficace e utilizzabile.

Agente Linguistico

All’interno della struttura OpenAgents, l’agente linguistico ha tre componenti essenziali: un’interfaccia strumento, un modello linguistico e l’ambiente stesso. Il metodo di prompting implementato nella struttura OpenAgents crea un processo sequenziale per gli agenti da seguire, che inizia con Osservazione -> Deliberazione -> Azione. La struttura anche promuove l’LLM per generare testo parsabile con efficienza migliorata, e l’interfaccia strumento consiste di parser che possono tradurre questi testi parsabili generati da LLM in azioni eseguibili come chiamate API o generazione di codice.

Agenti di OpenAgents

Al centro di OpenAgents, ci sono tre agenti distinti: Agente Dati, che aiuta con l’analisi dei dati utilizzando strumenti di dati e linguaggi di query come SQL o linguaggi di programmazione come Python, Agente Plugin, che aiuta fornendo l’accesso a oltre 200 strumenti API utili per compiti quotidiani, e Agente Web, che aiuta nella navigazione web mantenendo l’anonimato.

Agente Dati

L’agente dati nella struttura OpenAgents è stato progettato e distribuito per gestire una vasta gamma di compiti relativi ai dati che gli utenti finali incontrano regolarmente. L’agente dati supporta la generazione e l’esecuzione di codice in due linguaggi di programmazione, SQL e Python, e l’agente ha anche diversi strumenti di dati a sua disposizione, tra cui Profiling dei Dati per fornire informazioni di base sui dati, Ricerca Dati Kaggle per cercare set di dati, e Strumento ECharts per tracciare grafici interattivi ECharts.

Agente Plugin

L’agente plugin nella struttura OpenAgents è stato progettato dagli sviluppatori con cura per soddisfare le esigenze multifacetiche degli utenti per compiti quotidiani, tra cui la ricerca su Internet, gli acquisti online, la lettura di notizie o la creazione di siti web e applicazioni, fornendo l’accesso a oltre 200 plugin, con particolare attenzione ai funzionamenti dell’interfaccia di chiamata delle funzioni, API ping e lunghezze di risposta API.

Agente Web

La struttura OpenAgents presenta l’agente web come uno strumento specializzato incaricato di migliorare l’efficienza e le capacità dell’agente di chat. Sebbene l’agente di chat ospiti ancora l’interfaccia di interazione principale, incorpora senza problemi l’agente web quando necessario.

OpenAgents: Applicazioni Pratiche e Distribuzione nel Mondo Reale

In questa sezione, parleremo del percorso della struttura OpenAgents dalla teorizzazione alla distribuzione nel mondo reale, insieme alle sfide incontrate e alle lezioni apprese, nonché alle complessità di valutazione affrontate dagli sviluppatori.

Utilizzo di Prompt per Trasformare Modelli Linguistici di Grande Dimensione in App del Mondo Reale

Quando si utilizzano prompt LLM per costruire applicazioni del mondo reale per gli utenti finali, la struttura OpenAgents utilizza istruzioni di prompt per specificare determinati requisiti.

Fattori del Mondo Reale non Controllabili

Quando gli sviluppatori hanno distribuito la struttura OpenAgents nel mondo reale, sono stati accolti da una serie di fattori del mondo reale non controllabili, scatenati da infrastrutture di Internet, utenti, logiche aziendali e altro.

Complessità di Valutazione

Sebbene gli agenti costruiti direttamente per le applicazioni possano avere un’applicazione più ampia e facilitare una migliore valutazione, ciò aggiunge alla complessità della costruzione di applicazioni potenziate da LLM, rendendolo difficile analizzare le prestazioni delle applicazioni.

Pensieri Finali

In questo articolo, abbiamo parlato della struttura OpenAgents, una piattaforma aperta per ospitare e distribuire agenti linguistici nel mondo reale e in una vasta gamma di compiti quotidiani. La struttura OpenAgents si basa su tre agenti: Agente Dati, che aiuta con l’analisi dei dati utilizzando strumenti di dati e linguaggi di query come SQL o linguaggi di programmazione come Python, Agente Plugin, che aiuta fornendo l’accesso a oltre 200 strumenti API utili per compiti quotidiani, e Agente Web, che aiuta nella navigazione web mantenendo l’anonimato.

Kunal Kejriwal è un ingegnere backend specializzato in Python, PostgreSQL, Redis e infrastrutture cloud su GCP e AWS. Con tre anni di esperienza nella costruzione e nella scalabilità di sistemi di produzione, scrive di infrastruttura AI, sistemi distribuiti e dell'architettura alla base del deployment di workload di machine learning.