Blog/Attiva il context layer delle attività di business: i tuoi documenti
JUL 20, 2026/Lettura: 8 min

Attiva il context layer delle attività di business: i tuoi documenti

I documenti sono alla base di ogni attività aziendale. Rappresentano l’interfaccia di lavoro principale e il context layer di quasi ogni attività aziendale. Pianificazione, allineamento, analisi approfondite, approvazioni ed esecuzione generano un’enorme quantità di testi, presentazioni e fogli di calcolo.

Eppure, anche se nuove ricerche, analisi di mercato, note cliniche e idee innovative confluiscono subito nei documenti, gli stack di dati tradizionali e gli strumenti di elaborazione faticano ancora a interpretarli. Arriva una fattura da un nuovo fornitore. Il team legale cerca una clausola di responsabilità nei contratti. Gli analisti Equity Research confrontano i report sugli utili per individuare i trend. Gli strumenti tradizionali spesso non riescono a digitalizzare questi dati documentali con il livello di accuratezza necessario perché la maggior parte delle aziende possa fidarsi dell’automazione dei processi aziendali.

È proprio per questo che abbiamo sviluppato le funzionalità native Snowflake di document intelligence, che trattano i tuoi documenti come dati di primaria importanza. In questo blog vediamo come le organizzazioni usano Snowflake Cortex AI Functions per sviluppare workflow di document intelligence in grado di scalare fino a centinaia di migliaia di documenti al giorno.

Tre modelli che generano risultati di business

Cortex AI Functions è progettato come base per app di ricerca enterprise che aiutano dipendenti e utenti a trovare più rapidamente le informazioni, automatizzano i processi aziendali estraendo dati dai documenti e consentono ricerche e analisi più approfondite su ampie raccolte documentali.

 

ai

Attivare la conoscenza

In apparenza, sviluppare un’app di ricerca sembra semplice, finché non ti confronti con documenti enterprise reali. Un report sugli utili contiene tabelle, grafici, note a piè di pagina e layout complessi. Un contratto può estendersi per centinaia di pagine, con clausole distribuite tra sezioni e appendici. Un modulo sanitario combina campi strutturati, note scritte a mano e immagini acquisite tramite scansione. La sfida non è recuperare le informazioni, ma prima trasformare ogni documento in dati che l’AI possa comprendere con precisione.

AI_PARSE_DOCUMENT è alla base del modo in cui le aziende trasformano i documenti in dati. Se ti serve solo una rappresentazione testuale di un documento digitale o acquisito tramite scansione, la modalità OCR estrae il testo da documenti scansionati e immagini. Ma per la ricerca enterprise, RAG e le app basate su agenti AI, la struttura spesso veicola significato. La modalità LAYOUT preserva la struttura originale di un documento, così i sistemi AI downstream possono recuperare informazioni, ragionare sui contenuti e generare risposte usando il documento nel modo in cui è stato pensato per essere letto. Questo include la conservazione dell’ordine di lettura in layout complessi a più colonne, l’estrazione delle strutture tabellari, il mantenimento della gerarchia visiva e l’acquisizione delle immagini incorporate di grafici, diagrammi e altri elementi grafici.

Il risultato sono dati documentali strutturati che mantengono il contesto necessario per un recupero accurato delle informazioni. Invece di indicizzare un flusso di testo appiattito, le organizzazioni possono usare Cortex Search per recuperare contenuti con le informazioni strutturali necessarie a preservare il significato nei documenti complessi. Cortex Search recupera le sezioni più rilevanti dell’intero corpus documentale e basa la risposta sui contenuti dell’organizzazione. Poiché il workflow viene eseguito interamente in Snowflake, la stessa governance e gli stessi controlli di accesso applicati ai dati enterprise determinano anche ciò che gli utenti possono cercare e recuperare.

Automazione dei processi aziendali

Quando l’operatività quotidiana dipende da un flusso costante di fatture, contratti, moduli di richiesta di rimborso, ordini di acquisto o documenti fiscali, l’inserimento manuale dei dati diventa rapidamente un collo di bottiglia. Molto spesso le aziende ci dicono che molti di questi workflow iniziano con una persona che legge manualmente un documento, individua le informazioni richieste e le inserisce in un sistema downstream. Su scala enterprise, questo processo è costoso, difficile da sottoporre ad audit e spesso diventa il fattore che limita la velocità operativa dell’azienda.

Snowflake gestisce in modo nativo l’estrazione documentale ad alto volume e alta qualità. AI_EXTRACT ti consente di descrivere in linguaggio naturale i campi di cui hai bisogno, come nome del fornitore, data della fattura, importo totale, termini di pagamento e voci di riga, e restituisce un JSON strutturato pronto per analytics, compliance e automazione downstream. Ogni campo estratto include un punteggio di affidabilità, che abilita workflow human-in-the-loop in cui i risultati con bassa affidabilità possono essere esaminati e convalidati rispetto al documento originale. Per le organizzazioni che elaborano molti tipi diversi di documenti, AI_CLASSIFY (public preview) può agire come un controllore del traffico, instradando automaticamente documenti diversi verso pipeline AI diverse.

Il risultato è una pipeline di estrazione affidabile che converte i documenti in dati operativi. Le estrazioni con alta affidabilità possono essere elaborate automaticamente, mentre i risultati con affidabilità inferiore vengono inviati alla revisione. Per formati di documento specializzati, terminologia specifica di settore e workflow sensibili alla compliance, AI_EXTRACT può essere ottimizzato direttamente in Snowflake per migliorare ulteriormente l’accuratezza dell’estrazione.

Analisi approfondite sui documenti

A volte il valore non è nascosto in un singolo documento. Emergе collegando le informazioni tra centinaia o migliaia di documenti. Un analista di equity research potrebbe dover confrontare i report sugli utili di un intero settore per individuare i trend di crescita. Un’azienda farmaceutica potrebbe dover esaminare studi clinici e documenti normativi per comprendere il panorama competitivo. La sfida non è trovare le informazioni, ma sintetizzarle sull’intero corpus documentale.

Per farlo, i clienti usano AI_PARSE_DOCUMENT per convertire grandi raccolte di documenti in dati strutturati, preservando testo, tabelle, immagini e layout necessari per l’analisi. AI_COMPLETE applica quindi il ragionamento LLM a queste raccolte, sia che il compito consista nel riassumere i risultati, confrontare documenti, individuare trend, interpretare linguaggio complesso o rispondere a domande multi-hop che collegano informazioni provenienti da più fonti. AI_EMBED può poi convertire questi riepiloghi in vettori, così da raggruppare i documenti per similarità semantica e far emergere i temi principali del corpus documentale.

Il risultato è una pipeline di ricerca e analytics che trasforma le raccolte documentali in insight concreti. Le organizzazioni sanitarie possono generare viste longitudinali su migliaia di documenti di ricerca clinica, aiutando analisti e ricercatori a sintetizzare i risultati su larga scala, mentre gli analisti finanziari possono far emergere trend, rischi e opportunità da ampie raccolte di report e documenti normativi in modo più efficiente rispetto all’analisi manuale.

Scalare in produzione

Dimostrare che un caso d’uso documentale funziona su 10 file è semplice. La vera sfida enterprise è il volume: Come portare tutto questo in produzione per elaborare centinaia di migliaia di documenti ogni giorno senza far collassare la tua pipeline di engineering?

Snowflake semplifica questo processo usando Dynamic Tables. Invece di creare un sistema di orchestrazione esteso, scrivi una o più istruzioni SQL dichiarative che esprimono una pipeline di dati e definiscono come vuoi elaborare i dati documentali e quanto aggiornati debbano essere. Snowflake gestisce automaticamente la pianificazione e l’orchestrazione degli aggiornamenti.

Immagina un team strategico che acquisisce continuamente i report annuali delle aziende che monitora. Quando arrivano nuovi documenti, il team vuole estrarre dati strutturati da ciascun file, generare un riepilogo per gli analisti, raggruppare le aziende per tema strategico e far emergere quelle che stanno puntando su direttrici non in linea con il settore.

La pipeline che puoi eseguire facilmente con la nuova skill Cortex Code (CoCo) ai-functions-pipeline-builder combina tre Cortex AI Functions:

  • AI_PARSE_DOCUMENT converte ogni PDF di report annuale in testo strutturato, preservando tabelle, titoli e ordine di lettura.
  • AI_EXTRACT estrae dal documento campi denominati, come temi strategici, iniziative di crescita, fattori avversi, ricavi ed esercizio fiscale.
  • AI_COMPLETE sintetizza ogni azienda in quattro dimensioni di analisi, strategia, performance finanziaria, prospettive e differenziazione, e deduce separatamente rischi e opportunità dall’intero testo del documento, inclusi contenuti non etichettati in modo esplicito.
  • AI_EMBED converte il riepilogo di ogni azienda in un vettore, così le aziende possono essere raggruppate per similarità semantica, è possibile individuare temi ricorrenti nell’intero corpus e identificare gli outlier. Le aziende la cui strategia non rientra chiaramente in alcun tema emergono automaticamente.

 

Codice SQL generato da CoCo

 

-- ── Step 1  |  Parse annual reports ──────────────────────────────────────────
-- Note: Setting the refresh mode to "incremental" guarantees that each incoming document is processed only once.

CREATE OR REPLACE DYNAMIC TABLE DT_ESR_PARSED
  TARGET_LAG = DOWNSTREAM  WAREHOUSE = SNOWADHOC  REFRESH_MODE = INCREMENTAL
AS
SELECT
  SPLIT_PART(SPLIT_PART(fl.RELATIVE_PATH, '/', -1), '.', 1) AS COMPANY,
  fl.RELATIVE_PATH,
  AI_PARSE_DOCUMENT(
    TO_FILE('@ESR_DOCS_STAGE', fl.RELATIVE_PATH),
    {'mode': 'LAYOUT'}
  ) AS RAW_PARSE
FROM ESR_FILE_LOG fl
WHERE fl.RELATIVE_PATH ILIKE '%.pdf';


-- ── Step 2  |  Extract structured fields ─────────────────────────────────────

CREATE OR REPLACE DYNAMIC TABLE DT_CONS_EXTRACTED
  TARGET_LAG = DOWNSTREAM  WAREHOUSE = SNOWADHOC  REFRESH_MODE = INCREMENTAL
AS
WITH full_text AS (
  SELECT COMPANY, RELATIVE_PATH,
    LISTAGG(f.value:content::STRING, '\n') WITHIN GROUP (ORDER BY f.index) AS DOC_TEXT
  FROM DT_ESR_PARSED, LATERAL FLATTEN(input => RAW_PARSE:pages) f
  GROUP BY COMPANY, RELATIVE_PATH
)
SELECT
  COMPANY, RELATIVE_PATH,
  AI_EXTRACT(
    text => LEFT(DOC_TEXT, 120000),
    responseFormat => {'schema': {'type': 'object', 'properties': {
      'title':              {'type': 'string', 'description': 'Company name and fiscal year'},
      'fiscal_year':        {'type': 'string', 'description': '4-digit fiscal year'},
      'revenue':            {'type': 'string', 'description': 'Total revenue with currency'},
      'strategy_themes':    {'type': 'array',  'description': 'Top strategic priorities'},
      'growth_initiatives': {'type': 'array',  'description': 'Key growth programs and investments'},
      'headwinds':          {'type': 'array',  'description': 'Key challenges and risks'}
    }}}
  ) AS RAW_EXTRACT
FROM full_text;

-- ── Step 3  |  Summarize + embed each company ─────────────────────────────────

CREATE OR REPLACE DYNAMIC TABLE DT_CONS_EMBEDDED
  TARGET_LAG = DOWNSTREAM  WAREHOUSE = SNOWADHOC  REFRESH_MODE = INCREMENTAL
AS
WITH summarised AS (
  SELECT COMPANY, RELATIVE_PATH, RAW_EXTRACT,
    AI_COMPLETE(
      'claude-sonnet-4-5',
      PROMPT('Summarise this company''s annual report into 4 JSON fields:
              strategy, financial_performance, outlook, differentiation.\n\n{0}',
        'company: '   || COALESCE(RAW_EXTRACT:response:title::STRING, COMPANY) || '\n' ||
        'themes: '    || COALESCE(ARRAY_TO_STRING(RAW_EXTRACT:response:strategy_themes::ARRAY,    '; '), '') || '\n' ||
        'headwinds: ' || COALESCE(ARRAY_TO_STRING(RAW_EXTRACT:response:headwinds::ARRAY,          '; '), '')
      ),
      response_format => {'type': 'json', 'schema': {'type': 'object', 'properties': {
        'strategy':              {'type': 'string'},
        'financial_performance': {'type': 'string'},
        'outlook':               {'type': 'string'},
        'differentiation':       {'type': 'string'}
      }}}
    ) AS SUMMARY_JSON
  FROM DT_CONS_EXTRACTED
)
SELECT
  COMPANY, RELATIVE_PATH,
  RAW_EXTRACT:response:title::STRING          AS TITLE,
  RAW_EXTRACT:response:fiscal_year::STRING    AS FISCAL_YEAR,
  RAW_EXTRACT:response:revenue::STRING        AS REVENUE,
  SUMMARY_JSON:strategy::STRING               AS S_STRATEGY,
  SUMMARY_JSON:financial_performance::STRING  AS S_FINANCIAL_PERFORMANCE,
  SUMMARY_JSON:outlook::STRING                AS S_OUTLOOK,
  SUMMARY_JSON:differentiation::STRING        AS S_DIFFERENTIATION,
  TRIM(CONCAT_WS(' ',
    COALESCE(SUMMARY_JSON:strategy::STRING, ''),
    COALESCE(SUMMARY_JSON:outlook::STRING, ''),
    COALESCE(SUMMARY_JSON:differentiation::STRING, '')
  ))                                          AS SUMMARY_TEXT,
  AI_EMBED('snowflake-arctic-embed-l-v2.0', TRIM(CONCAT_WS(' ',
    COALESCE(SUMMARY_JSON:strategy::STRING, ''),
    COALESCE(SUMMARY_JSON:outlook::STRING, ''),
    COALESCE(SUMMARY_JSON:differentiation::STRING, '')
  )))                                         AS SUMMARY_VEC
FROM summarised;


-- ── Step 4  |  Discover strategic themes across the corpus ────────────────────

CREATE OR REPLACE TABLE CONS_THEMES AS
WITH themes AS (
  SELECT AI_COMPLETE(
    'claude-sonnet-4-5',
    PROMPT('Identify 4-5 distinct strategic themes that organise these companies.
            Each needs a short name and one-sentence description.\n\n{0}',
      LISTAGG(COMPANY || ': ' || S_STRATEGY, '\n')),
    response_format => {'type': 'json', 'schema': {'type': 'object', 'properties': {
      'themes': {'type': 'array', 'items': {'type': 'object', 'properties': {
        'name':        {'type': 'string'},
        'description': {'type': 'string'}
      }}}
    }}}
  ) AS RAW FROM DT_CONS_EMBEDDED
)
SELECT
  f.index                                                           AS THEME_ID,
  f.value:name::STRING                                              AS THEME_NAME,
  f.value:description::STRING                                       AS THEME_DESC,
  AI_EMBED('snowflake-arctic-embed-l-v2.0',
    f.value:name::STRING || ': ' || f.value:description::STRING)    AS THEME_VEC
FROM themes, LATERAL FLATTEN(input => RAW:themes) f;

 

Applicazione Streamlit generata da CoCo

 

coco generated

 

Conclusione

Per anni i documenti sono rimasti fuori dalla piattaforma dati, limitando il modo in cui le organizzazioni potevano cercare, analizzare e automatizzare le informazioni che contengono. Con Cortex AI Functions, i tuoi documenti possono ora diventare dati, pronti ad alimentare ricerca, automazione, analytics e app AI su scala enterprise.

Che l’obiettivo sia attivare la conoscenza tramite la ricerca enterprise, automatizzare i processi aziendali basati sui documenti tramite l’estrazione strutturata o generare insight attraverso l’analisi documentale su larga scala, Cortex AI Functions fornisce la base necessaria. Questa intelligence può poi emergere attraverso esperienze come Snowflake CoWork, Cortex Agents, Cortex Code o app personalizzate sviluppate su Snowflake.

Riepilogo delle principali AI Functions per la document intelligence:

 

Funzione Cosa fa Impatto sull’applicazione
AI_PARSE_DOCUMENT Converte PDF, immagini e documenti Office in testo strutturato, preservando tabelle e layout. Crea una base ad alta fedeltà per ricerca, RAG, analytics e workflow AI downstream.
AI_EXTRACT Estrae campi strutturati, tabelle ed entità usando uno schema in linguaggio naturale. Automatizza i processi basati sui documenti e converte i documenti in dati operativi.
AI_CLASSIFY Instrada e classifica i documenti in base al tipo per l’elaborazione downstream. Instrada i contenuti verso il workflow, il modello o il processo aziendale più adatto.
AI_COMPLETE Ragionamento LLM per uso generale a supporto di analisi approfondite e insight tra documenti. Supporta riepilogo, analisi, ricerca, ragionamento multi-documento e generazione di insight.

Subscribe to our blog newsletter

Get the best, coolest and latest delivered to your inbox each week