Simple Science

Scienza all'avanguardia spiegata semplicemente

# Informatica# Calcolo e linguaggio# Intelligenza artificiale# Apprendimento automatico# Ingegneria del software

APIGen: Uno Strumento per Dataset di Chiamata Funzione

APIGen genera set di dati diversificati e di alta qualità per agenti di chiamata di funzioni.

― 6 leggere min


APIGen: Generazione diAPIGen: Generazione diDataset Semplificatafunzione.diversificati per modelli di chiamataCreare in modo efficiente dataset
Indice

L'ascensione degli agenti di chiamata di funzione nell'intelligenza artificiale segna un cambiamento significativo. Questi agenti possono interpretare richieste in linguaggio naturale, eseguire chiamate API e fornire risposte in tempo reale. La necessità di Set di dati diversificati e affidabili è cruciale per lo sviluppo efficace di questi modelli. Questo articolo introduce APIGen, uno strumento progettato per generare set di dati di chiamata di funzione di alta qualità.

Cos'è APIGen?

APIGen sta per Automated Pipeline for Generating Verifiable and Diverse Function-Calling Datasets. Automatizza il processo di creazione di set di dati che possono essere utilizzati per addestrare modelli di chiamata di funzione. APIGen raccoglie API eseguibili in varie categorie e genera set di dati strutturati. Questi set di dati seguono un rigoroso Processo di Verifica per garantire la loro accuratezza, rendendoli adatti all'addestramento dei modelli.

L'importanza di set di dati di qualità

I set di dati di alta qualità sono essenziali per sviluppare potenti modelli di chiamata di funzione. Questi modelli si basano su dati accurati per apprendere e performare efficacemente in situazioni reali. Set di dati di scarsa qualità possono portare a imprecisioni e inefficienze, ostacolando la capacità del modello di gestire richieste nuove o non viste. Pertanto, avere una fonte affidabile di dati diversificati è fondamentale per il successo di questi modelli.

Come funziona APIGen

APIGen opera attraverso un processo a più fasi che enfatizza la qualità dei dati, la diversità e la scalabilità. Il framework inizia raccogliendo API e coppie di query-risposta da una libreria. Formatta queste informazioni in un formato JSON standard, facilitando la generazione di coppie di query-risposta diversificate.

Processo di generazione dei dati

Il processo di generazione dei dati inizia con il campionamento di API e dati seed. Dopo di che, modelli di prompt guidano il modello nella creazione di coppie di query-risposta rilevanti. Le risposte generate sono strutturate come Chiamate di Funzione in formato JSON. Questo formato strutturato consente verifiche di qualità e verifiche di accuratezza efficienti.

Verifica a più fasi

APIGen impiega un processo di verifica in tre fasi per garantire l'accuratezza dei dati generati:

  1. Controllo di formato: Questa fase verifica se i dati generati seguono il corretto formato JSON. Controlla che i campi necessari siano presenti e che le chiamate di funzione siano strutturate correttamente.

  2. Controllo di esecuzione: In questa fase, le chiamate di funzione ben formate vengono eseguite contro le rispettive API. Questo aiuta a confermare se gli output sono corretti e se le chiamate possono essere eseguite con successo.

  3. Controllo semantico: Questa fase finale valuta se i risultati dell'esecuzione corrispondono alla richiesta originale dell'utente. Valuta se le chiamate di funzione e gli argomenti forniti siano appropriati per l'intento della query.

Diversità del set di dati

APIGen migliora la diversità nei set di dati generati attraverso vari meccanismi. Questi includono diversi stili di query, tecniche di campionamento e fonti API. Utilizzando una gamma diversificata di fonti, il modello può apprendere da una vasta gamma di dati, rendendolo adattabile a varie situazioni reali.

Tipi di query

Il set di dati generato da APIGen include quattro categorie principali di query:

  1. Query semplici: Queste consistono in richieste dirette che richiedono una singola chiamata di funzione.

  2. Query multiple: In questo caso, la richiesta dell'utente può essere affrontata da varie funzioni. La sfida sta nel scegliere la funzione più adatta tra le molte opzioni.

  3. Query parallele: Queste richiedono l'esecuzione simultanea di più chiamate di funzione per rispondere a una singola richiesta.

  4. Query multiple parallele: Questa categoria combina le due precedenti, richiedendo più chiamate di funzione per affrontare aspetti diversi della richiesta di un utente.

Tecniche di campionamento

APIGen utilizza sistemi di campionamento per massimizzare la rilevanza e la diversità nei set di dati generati. Questo include un campionatore API, un campionatore di esempi per dati seed e un campionatore di prompt per generare coppie di query-risposta diversificate. La selezione casuale dei campioni aiuta a prevenire schemi ripetitivi e garantisce una vasta copertura di scenari.

Fonti del set di dati

APIGen raccoglie principalmente API da fonti ben documentate per mantenere qualità e usabilità. Queste fonti includono ampi set di dati con una varietà di API e funzioni eseguibili. Un grande hub di API contribuite da sviluppatori serve come base per la creazione di set di dati. Attraverso un'attenta filtrazione e testing, le API che non soddisfano gli standard di qualità vengono scartate.

Sperimentazione e risultati

Per convalidare l'efficienza di APIGen, sono stati condotti vari esperimenti. Due modelli di dimensioni diverse, addestrati utilizzando i set di dati generati, sono stati valutati rispetto ai modelli esistenti. Le prestazioni di questi modelli sono state valutate utilizzando il Berkeley Function-Calling Benchmark. I risultati hanno mostrato miglioramenti sostanziali nella capacità dei modelli di gestire query complesse, indicando che la qualità e la diversità dei set di dati migliorano notevolmente le capacità di chiamata di funzione.

Valutazione umana

Per garantire la qualità dei set di dati generati, è stata effettuata una valutazione umana. I valutatori hanno ispezionato manualmente un campione di voci generate, controllando l'accuratezza e la rilevanza. I risultati hanno indicato un set di dati di alta qualità, con solo una piccola percentuale di campioni che presentavano lievi problemi. Questa valutazione rafforza l'efficacia del rigoroso processo di verifica di APIGen.

Applicazioni dei set di dati di APIGen

I set di dati prodotti da APIGen sono progettati per vari scopi, specificamente per l'addestramento e la valutazione di agenti di chiamata di funzione. Poiché i set di dati sono strutturati in formato JSON, sono facilmente interpretabili dai modelli. Fornendo coppie di query-risposta diversificate, i set di dati consentono migliori risultati di addestramento, portando a modelli di chiamata di funzione più efficaci.

Lavoro futuro

Sebbene APIGen si concentri attualmente sulla generazione di API REST e funzioni Python, sono previsti miglioramenti futuri. C'è l'obiettivo di ampliare le capacità del framework per includere più linguaggi di programmazione e tipi di API. Inoltre, il framework potrebbe espandersi per gestire scenari più complessi, come interazioni multi-turno, consentendo scambi più ricchi e dinamici tra agenti e strumenti.

Conclusione

APIGen rappresenta un significativo progresso nel campo degli agenti di chiamata di funzione. Generando set di dati di alta qualità e diversificati attraverso un rigoroso processo di verifica, consente un addestramento più efficace dei modelli. Le implicazioni di questo lavoro si estendono oltre la semplice creazione di modelli migliori, poiché favoriscono lo sviluppo di agenti più versatili in grado di gestire una vasta gamma di compiti nel mondo reale. Con continui progressi e miglioramenti, APIGen è destinato a contribuire notevolmente all'evoluzione dell'intelligenza artificiale nelle applicazioni di chiamata di funzione.

Fonte originale

Titolo: APIGen: Automated Pipeline for Generating Verifiable and Diverse Function-Calling Datasets

Estratto: The advancement of function-calling agent models requires diverse, reliable, and high-quality datasets. This paper presents APIGen, an automated data generation pipeline designed to synthesize verifiable high-quality datasets for function-calling applications. We leverage APIGen and collect 3,673 executable APIs across 21 different categories to generate diverse function-calling datasets in a scalable and structured manner. Each data in our dataset is verified through three hierarchical stages: format checking, actual function executions, and semantic verification, ensuring its reliability and correctness. We demonstrate that models trained with our curated datasets, even with only 7B parameters, can achieve state-of-the-art performance on the Berkeley Function-Calling Benchmark, outperforming multiple GPT-4 models. Moreover, our 1B model achieves exceptional performance, surpassing GPT-3.5-Turbo and Claude-3 Haiku. We release a dataset containing 60,000 high-quality entries, aiming to advance the field of function-calling agent domains. The dataset is available on Huggingface: https://huggingface.co/datasets/Salesforce/xlam-function-calling-60k and the project homepage: https://apigen-pipeline.github.io/

Autori: Zuxin Liu, Thai Hoang, Jianguo Zhang, Ming Zhu, Tian Lan, Shirley Kokane, Juntao Tan, Weiran Yao, Zhiwei Liu, Yihao Feng, Rithesh Murthy, Liangwei Yang, Silvio Savarese, Juan Carlos Niebles, Huan Wang, Shelby Heinecke, Caiming Xiong

Ultimo aggiornamento: 2024-06-26 00:00:00

Lingua: English

URL di origine: https://arxiv.org/abs/2406.18518

Fonte PDF: https://arxiv.org/pdf/2406.18518

Licenza: https://creativecommons.org/licenses/by/4.0/

Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.

Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.

Altro dagli autori

Articoli simili