Che cos'è l'agentic chunking?

Autori

Ivan Belcic

Staff writer

Cole Stryker

Staff Editor, AI Models

IBM Think

L'agentic chunking è l'uso dell'intelligenza artificiale (AI) per segmentare lunghi input di testo in blocchi più piccoli e semanticamente coerenti. Mentre molte strategie di chunking tradizionali tendono a utilizzare blocchi di dimensioni fisse quando si divide il testo, l'agentic chunking segmenta dinamicamente il testo in base al contesto.

I modelli linguistici di grandi dimensioni (LLM) non sono in grado di elaborare una sequenza di input basata su testo di grandi dimensioni nella sua interezza. La finestra di contesto di un modello di elaborazione del linguaggio naturale (NLP) determina la quantità massima di contenuto che il modello può assorbire mantenendo la comprensione contestuale. I sistemi di machine learning (ML) utilizzano tecniche di chunking per suddividere i documenti in parti che si adattano alla finestra di contesto degli LLM.

Le ultime tendenze in materia di AI, proposte da esperti

Ricevi insight selezionati sulle notizie più importanti e interessanti sull'AI. Iscriviti alla nostra newsletter settimanale Think. Leggi l'Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

Suddivisione in blocchi e RAG

Lo sviluppo di retrieval-augmented generation (RAG), che collega gli LLM a fonti di dati esterne, ha richiesto la creazione di sistemi di chunking. I sistemi RAG sono emersi per aiutare a contrastare il problema delle allucinazioni: quando gli LLM fornivano risposte che non riflettevano i risultati o le informazioni del mondo reale.

I sistemi RAG aiutano gli LLM a generare risposte più accurate e più utili abbinandole a ulteriori knowledge base. In molti casi, le knowledge base RAG sono database vettoriali contenenti documenti che danno all'LLM connesso l'accesso a conoscenze specifiche del dominio. I modelli di embedding convertono i documenti in vettori matematici, quindi operano allo stesso modo nel caso delle query degli utenti.

Il sistema RAG trova embedding all'interno del proprio database vettoriale che rappresentano informazioni pertinenti e corrispondono alla richiesta dell'utente. Quindi, l'LLM utilizza i dati recuperati per fornire agli utenti risposte più pertinenti e accurate.

Tuttavia, a causa delle limitazioni della finestra di contesto, l'LLM non è in grado di elaborare un singolo documento immediatamente. Il chunking è risultato come la soluzione. Suddividendo un documento in pezzi, l'LLM può trovare in modo efficiente blocchi pertinenti in tempo reale mantenendo la comprensione del contesto.

AI Academy

Diventa un esperto di AI

Acquisisci le conoscenze necessarie per dare priorità agli investimenti nell'AI alla base della crescita aziendale. Inizia oggi stesso con la nostra AI Academy gratuita e guida il futuro dell'AI nella tua organizzazione.

Altri metodi di chunking

L'agentic chunking consente agli LLM di creare blocchi significative che li aiutino a fornire risposte migliori, come nel caso d'uso RAG. Alcuni metodi di chunking tengono conto anche della semantica, mentre altri suddividono i documenti in blocchi più piccoli di lunghezza fissa.

Altri metodi di chunking includono:

Suddivisione in blocchi a dimensione fissa

La strategia di suddivisione in blocchi più semplice, a dimensione fissa, divide il testo in blocchi della stessa dimensione, in base a un numero di caratteri o token preimpostato. Un token è la quantità minima di testo che l'LLM può elaborare, spesso una parola o una parte di essa.

Per evitare di spezzare le frasi, molte implementazioni di chunking a dimensioni fisse includono una caratteristica che ripete la fine di un blocco all'inizio del successivo. Il chunking a dimensione fissa è semplice e dal punto di vista computazionale leggero, ma è rigido: non può tenere conto della densità del contenuto o della struttura del documento e può creare blocchi semanticamente incoerenti.

Chunking ricorsivo

La suddivisione in blocchi ricorsiva utilizza un elenco gerarchico di separatori di testo predefiniti per suddividere il testo in modo probabilmente più coerente. I separatori includono strutture naturali come paragrafi, frasi o parole. In un documento di codifica Python, i separatori possono includere definizioni di classi e funzioni.

Rispetto al chunking a dimensione fissa, il chunking ricorsivo crea blocchi più coerenti seguendo le suddivisioni naturali nel testo. L'uso del markdown può anche aiutare l'algoritmo di chunking, o chunker, a capire dove creare divisioni. RecursiveCharacterTextSplitter è un popolare chunker disponibile in LangChain.

Ma se il testo manca di separatori chiari, gli algoritmi di chunking ricorsivi non sapranno dove creare nuovi blocchi. Il chunking ricorsivo è anche più intensivo dal punto di vista computazionale rispetto al chunking a dimensione fissa.

Chunking semantico

Il chunking semantico utilizza modelli di embedding per creare rappresentazioni matematiche di ogni frase. Quindi, l'algoritmo di chunking crea blocchi di frasi semanticamente simili, creando un nuovo blocco che rileva un cambiamento nella semantica. Il chunking semantico è attribuito a Greg Kamradt, che ha discusso la tecnica su Github.1

La suddivisione in blocchi semantici è consapevole del contesto, che costruisce blocchi attorno al flusso naturale e al significato semantico del documento. Quando l'argomento cambia, viene creato un nuovo blocco. Tuttavia, possono emergere problemi quando i paragrafi trattano più argomenti o se la soglia di suddivisione in blocchi non è impostata correttamente per il tipo e la struttura del documento.

Il chunking semantico è più intensivo dal punto di vista computazionale rispetto al chunking ricorsivo e a dimensione fissa e richiede modelli avanzati per identificare il contenuto semantico all'interno del testo.

Come funziona l'agentic chunking?

L'agentic chunking è un esempio di agentic automation: utilizzo di agenti AI per automatizzare un workflow. In questo caso, il workflow, essendo automatizzato in modo intelligente, rappresenta il processo che determina come suddividere un documento in blocchi più piccoli che rientrano nella finestra di contesto di un LLM.

L'agentic AI si riferisce all'uso di sistemi AI per prendere decisioni autonome e agire senza l'intervento umano. Con l'agentic chunking, l'agente agisce da solo per determinare come separare il testo ed etichettare i blocchi.

L'agentic chunking attinge da altri metodi di chunking per creare sezioni sovrapposte e suddivisioni ricorsive, quindi applica l'AI generativa (gen AI) per etichettare ogni blocco con metadati per facilitare il recupero RAG.

La suddivisione in blocchi agentici è ancora in fase esplorativa. I creatori condividono e discutono i rispettivi approcci su GitHub. Questi sono spesso costruiti con il linguaggio di codifica Python utilizzando dei framework LLM come Llamaindex e Langchain insieme a degli LLM open source disponibili su Huggingface. 

Un tipico workflow AI per la suddivisione in blocchi agentici potrebbe contenere i seguenti passaggi:

1. Preparazione del testo

Utilizzando strumenti di automazione intelligenti, il testo viene estratto dal documento di origine, ad esempio un PDF, e pulito. La pulizia del testo comporta la rimozione degli elementi superflui, come i numeri di pagina e i piè di pagina, in modo che l'LLM riceva solo il testo grezzo.

2. Suddivisione del testo

Gli algoritmi di chunking ricorsivi suddividono il testo in piccoli blocchi per evitare di spezzare le frasi in pezzi. Come il chunking semantico, l'agentic chunking divide dinamicamente il testo in base al significato, alla struttura e alla consapevolezza del contesto utilizzando la tecnica della sovrapposizione dei blocchi.

3. Etichettatura dei blocchi

Gli LLM, come GPT di OpenAI, elaborano, combinano e arricchiscono i blocchi. I blocchi più piccoli vengono combinati in blocchi più grandi che mantengono la coerenza semantica. L'LLM arricchisce ogni blocco con metadati che includono un titolo e un riepilogo del contenuto del blocco. I metadati generati facilitano gli usi a valle, ad esempio con i sistemi RAG agentici.

4. Embedding

Ogni blocco viene convertito in un embedding e memorizzato in un database vettoriale. I modelli di recupero interrogano il database, utilizzano la ricerca semantica per trovare blocchi con metadati pertinenti e li includono nei prompt per l'LLM nel sistema RAG.

L'impostazione prompt_template in LangChain determina il prompt di input fornito all'LLM. Maggiori informazioni su come ottimizzare il chunking RAG con LangChain e watsonx.ai.

Benefici dell'agentic chunking

Rispetto ai metodi di chunking tradizionali, il dinamismo e l'etichettatura dei metadati dell'agentic chunking lo rendono ideale per l'implementazione RAG. Questi benefici includono:

  • Recupero efficiente: i titoli e i riepiloghi generati dall'AI per ogni blocco possono aiutare i sistemi RAG a trovare più rapidamente le informazioni pertinenti nei set di dati connessi.

  • Risposte accurate: il chunking semanticamente coerente con metadati generati dall'AI può aiutare i sistemi RAG ad aumentare le risposte generate con dati pertinenti per risposte migliori.

  • Flessibilità: il chunking basato su AI può gestire un'ampia gamma di tipi di documenti. I sistemi di agentic chunking possono integrarsi con vari LLM e catene RAG per tenere il passo con la crescita e l'espansione del progetto.

  • Conservazione dei contenuti: i sistemi di agentic chunking si basano su metodi precedenti per creare blocchi che preservino il significato e la coerenza semantici.

Soluzioni correlate
Agenti AI per il Business

Crea, implementa e gestisci assistenti e agenti AI potenti che automatizzano workflow e processi con l'AI generativa.

    Scopri watsonx Orchestrate
    Soluzioni per agenti AI IBM

    Costruisci il futuro della tua azienda con soluzioni AI di cui puoi fidarti.

    Esplora le soluzioni basate su agenti AI
    Servizi AI di IBM Consulting

    I servizi di AI di IBM Consulting aiutano a reinventare il modo in cui le aziende lavorano con l'AI per la trasformazione.

    Esplora i servizi di intelligenza artificiale
    Prossimi passi

    Sia che tu scelga di personalizzare app e competenze precostituite o di creare e implementare servizi di agenti personalizzati utilizzando uno studio di AI, la piattaforma IBM watsonx è la soluzione che fa per te.

    Scopri watsonx Orchestrate Esplora watsonx.ai