Gran parte della conoscenza più preziosa di un’organizzazione è contenuta in documenti come contratti, manuali di prodotto, report di ricerca, runbook di supporto e documenti finanziari. Questi contenuti sono archiviati in Amazon Simple Storage Service (Amazon S3) sia come dati strutturati (JSON, NDJSON, CSV) sia come dati non strutturati (PDF, Word, testo, Markdown). Applicazioni di intelligenza artificiale generativa, assistenti Retrieval Augmented Generation (RAG) ed esperienze di ricerca aziendale dipendono dalla capacità di accedere a questi dati, ma renderli ricercabili è spesso complesso.

Le difficoltà delle pipeline tradizionali

Per estrarre e indicizzare queste informazioni, le aziende devono gestire pipeline di ingestione composte da più fasi:

    • Esecuzione di un parser di documenti che estragga il testo mantenendo layout, ordine di lettura e tabelle.
    • Estrazione e interpretazione di grafici, diagrammi e screenshot contenuti nei documenti.
    • Suddivisione del testo in frammenti, elaborazione tramite un modello di embedding e scrittura dei risultati in un indice vettoriale.

Ogni livello richiede infrastruttura dedicata, decisioni di scalabilità e introduce potenziali punti di errore. Il risultato è una complessità che può richiedere settimane per essere risolta end‑to‑end.

Ingestione intelligente di Amazon OpenSearch

Amazon OpenSearch introduce Intelligent Ingestion, una capacità completamente gestita e serverless disponibile in Amazon OpenSearch Serverless (NextGen). L’utente indica la collezione di destinazione, seleziona il bucket S3 di origine e specifica il tipo di elaborazione desiderata; il servizio si occupa automaticamente di:

    • Scoprire i contenuti nel bucket S3.
    • Parsing dei documenti mantenendo layout e tabelle.
    • Generare descrizioni testuali per le immagini mediante modelli vision‑language.
    • Chunking del contenuto in frammenti ottimali per il recupero.
    • Creare embedding vettoriali con OpenSearch Automatic Semantic Enrichment.
    • Indicizzare i dati risultanti, scalando capacità in base al carico.

Non è necessario configurare pipeline, gestire infrastrutture di elaborazione documentale né dimensionare capacità in anticipo.

Principali vantaggi

    • Da documenti grezzi a ricerca semantica senza pipeline manuali.
    • Supporto nativo per PDF, Word e Markdown con mantenimento di layout e tabelle.
    • Indicizzazione di contenuti visivi: i modelli generano descrizioni dettagliate di grafici, diagrammi, screenshot e foto.
    • Ingestione di dati strutturati (JSON, NDJSON, CSV) senza codice di pipeline, con possibilità di trasformazioni ed arricchimento semantico.
    • Scelta tra lavori una tantum (Ingestion Jobs) o flussi continui (Ingestion Streams) per mantenere gli indici sincronizzati.
    • Fatturazione basata solo sul processamento attivo, senza costi per capacità inattiva.

Ingestion Jobs vs Ingestion Streams

Le due modalità offrono flessibilità a seconda del caso d’uso:

TipoQuando usarloScenari tipiciComportamento
Ingestion JobsDataset fisso da caricare una sola voltaCaricamenti iniziali, migrazioni, backfill, proof of conceptIngesta tutti gli oggetti sotto il prefisso e poi termina
Ingestion StreamsI dati arrivano o cambiano continuamenteKnowledge base in crescita, librerie documentali aggiornate costantementeMantiene l’indice sincronizzato con l’arrivo di nuovi oggetti

Prerequisiti

    • Account AWS con permessi per creare e gestire collezioni Amazon OpenSearch Serverless.
    • Bucket Amazon S3 contenente i dati da indicizzare.
    • Ruolo IAM con autorizzazioni necessarie per la lettura da S3 da parte di Intelligent Ingestion.

Flusso di lavoro passo‑passo

1. Accedi alla console di gestione AWS e apri la sezione Amazon OpenSearch Serverless. Nella nuova scheda Ingestion seleziona Create ingestion job o visualizza i job esistenti.

2. Scegli il modo di ingestione:

    • One-time batch per dataset statici: il job termina automaticamente al completamento.
    • Continuous streaming per monitorare notifiche S3 e ingestire nuovi dati in tempo reale.
    • Batch then stream per prima eseguire un backfill dei dati esistenti e poi passare a streaming continuo.

3. Configura l’Amazon SQS queue che riceverà le notifiche di nuovi oggetti S3. Fornisci l’ARN del ruolo IAM che il servizio assumerà per operare.

4. Se necessario, specifica un bucket S3 cross‑account fornendo l’ID dell’altro account AWS, l’ARN del ruolo IAM e, facoltativamente, la coda SQS di quell’account.

5. Definisci eventuali trasformazioni per dati strutturati (ad esempio mapping di campi JSON) e abilita l’enrichment semantico se desideri ricerca vettoriale.

6. Rivedi la configurazione, assegna un nome al job o allo stream e avvia il processo. Lo stato apparirà nella scheda Ingestion per monitorare avanzamento e metriche.

Esempio pratico di ingestione di documenti non strutturati

Supponiamo di avere una serie di manuali tecnici in PDF e file Word in un bucket s3://azienda-manuali/. Dopo aver creato un Ingestion Job in modalità One-time batch e specificato il prefisso manuali/, Intelligent Ingestion:

    • Scansiona tutti i file sotto il prefisso.
    • Parsa i PDF/Word mantenendo intestazioni, ordine di lettura e tabelle.
    • Per ogni immagine presente, genera una descrizione testuale (es. “Grafico a barre che mostra le vendite trimestrali”).
    • Divide il contenuto in chunk di 1 000 token circa.
    • Calcola embedding vettoriali per ogni chunk tramite il modello di arricchimento semantico.
    • Indicizza chunk, embedding e metadati (nome file, percorso, timestamp) nella collezione OpenSearch destinata.

Al termine, l’intera collezione è pronta per ricerche ibride (testuali e vettoriali) e per alimentare assistenti RAG che possono recuperare informazioni sia testuali sia visive.

Integrazione con dati strutturati e log

Il medesimo flusso supporta l’ingestione di JSON, NDJSON, CSV e array JSON, ad esempio log applicativi, audit trail o cataloghi prodotti. È possibile applicare trasformazioni (rinomina campi, filtraggio, normalizzazione) e, opzionalmente, arricchire semanticamente i campi testuali per rendere ricercabili anche questi dati.

In questo modo, una singola esperienza di ingestione può alimentare sia una knowledge base RAG sia un sistema di analisi dei log, condividendo la stessa infrastruttura serverless.

Conclusioni

L’ingestione intelligente di Amazon OpenSearch elimina la complessità tradizionale delle pipeline di data ingestion, automatizzando l’intero percorso dalla scoperta dei file S3 al caricamento di indici vettoriali pronti per la ricerca semantica e RAG. Con una fatturazione basata solo sul lavoro attivo, capacità di scaling automatico e la possibilità di scegliere tra job una tantum o stream continui, le organizzazioni possono rapidamente trasformare documenti e dati strutturati in risorse di conoscenza fruibili da applicazioni AI e motori di ricerca aziendali.