Langchain 101 Estrarre dati strutturati (JSON)

Langchain 101 Estrazione dati strutturati (JSON)

Un esempio pratico di controllo del formato di output come JSON utilizzando Langchain

In base alle nuove politiche di VoAGI, inizierò con una serie di brevi articoli che trattano solo gli aspetti pratici di vari software legati a LLM.

Foto di Marga Santoso su Unsplash

Il Tutorial

In questo tutorial, impareremo come estrarre dati strutturati da un testo libero. Otteniamo alcuni dati.

# Ottieni del testo https://arxiv.org/abs/2308.03279 abstractinp = """I grandi modelli di linguaggio (LLM) hanno dimostrato una notevole \generalizzabilità, come la comprensione di entità e relazioni arbitrarie. \L'ottimizzazione delle istruzioni si è dimostrata efficace per distillare i LLM \in modelli più efficienti come l'Alpaca e il Vicuna. \Tuttavia, tali modelli studenti rimangono ancora molto indietro rispetto ai LLM originali \in applicazioni downstream. In questo articolo, \esploriamo la distillazione mirata con l'ottimizzazione delle istruzioni orientata alla missione \per addestrare modelli studenti in grado di eccellere in una vasta gamma di applicazioni \come l'estrazione di informazioni aperte. Utilizzando il riconoscimento di entità \denominate (NER) come studio di caso, mostriamo come ChatGPT possa essere distillato \in modelli UniversalNER molto più piccoli per l'estrazione di NER aperte. Per la valutazione, \assembliamo il più grande benchmark di NER fino ad oggi, che comprende 43 dataset \in 9 domini diversi come la biomedicina, la programmazione, i social media, \il diritto, le finanze. Senza utilizzare alcuna supervisione diretta, UniversalNER \raggiunge una notevole precisione di NER su decine di migliaia di tipi di entità, \superando modelli generali ottimizzati per le istruzioni come l'Alpaca \e il Vicuna di oltre 30 punti F1 assoluti in media. Con una piccola \frazione dei parametri, UniversalNER non solo acquisisce la capacità di ChatGPT \di riconoscere tipi di entità arbitrarie, ma supera anche la sua precisione di NER \di 7-9 punti F1 assoluti in media. \Notevolmente, UniversalNER supera persino di gran lunga \sistemi multi-task ottimizzati per le istruzioni all'avanguardia come \InstructUIE, che utilizza esempi di NER supervisionati. \Conduciamo anche approfonditi studi di ablatività per valutare l'impatto di \diversi componenti nel nostro approccio di distillazione. Rilasceremo \la ricetta di distillazione, i dati e i modelli UniversalNER per facilitare \la ricerca futura sulla distillazione mirata."""

Estrazione utilizzando le funzioni di OpenAI