Analisi documenti e dati
Il servizio di analisi consente di estrarre informazioni strutturate da contenuti non strutturati. Tutti i job sono asincroni: la richiesta restituisce subito un id e si polla lo stato fino a completed.
Tipologie disponibili
| Tipo | Endpoint | Input | Output tipico |
|---|---|---|---|
| Contenuto | POST /api/v2/analysis/content | Testo libero | Sentiment, entità, keyword, sintesi |
POST /api/v2/analysis/pdf | File PDF (multipart) | Sintesi, sezioni estratte; opzionalmente crea KB+agente temporanei | |
| CV | POST /api/v2/analysis/cv | File CV (multipart) | Punteggio rispetto alle posizioni configurate, skill estratte |
| Dati | POST /api/v2/analysis/data | CSV / XLSX / JSON | Statistiche descrittive + insights LLM |
| Classificazione | POST /api/v2/analysis/catalogs/build + POST /api/v2/analysis/catalogs/classify | Catalogo Similarity costruito sui propri esempi + testi da classificare | Top-N candidati con etichetta e similarità (vedi Classificazione) |
| OCR | POST /api/v2/analysis/ocr | Immagine / PDF scansionato | Testo estratto, eventualmente strutturato via template |
Per ogni tipo è disponibile la variante /sync (/content/sync, /pdf/sync, /cv/sync) che blocca la richiesta fino al completamento — utile per integrazioni interattive ma da usare con timeout adeguati.
Form unificato in console
Dalla voce Analisi del menu si accede al form unificato a step:
- Tipo di analisi — scegli fra contenuto, PDF, CV, dati, classificazione, OCR
- Sorgente — testo incollato, file caricato, oppure rifermento ad un job precedente
- Configurazione — modello AI da usare, lingua, prompt personalizzato (priority chain)
- Opzioni avanzate — toggle "chat con agente" (crea KB+agente temporanei dal contenuto),
skip_analysis(richiedecreate_kb_agent=true) - Esecuzione — invia: la console mostra subito il job creato e aggiorna lo stato in tempo reale
- Dettaglio risultato — quando
completed, la card "AI Response" mostra l'output del modello
Custom prompt priority chain
Sia per PDF che per dati puoi sovrascrivere il prompt di default in due livelli:
- Prompt personalizzato del job (passato nella richiesta)
- Prompt dell'agente scelto nello step 3 (se non specificato a livello job)
- Prompt di default della tipologia di analisi (fallback)
Il primo livello non vuoto vince.
Skip analysis (PDF)
Quando carichi un PDF puoi richiedere di non eseguire l'analisi LLM e ottenere comunque la creazione di KB+agente temporanei dal contenuto del PDF: imposta skip_analysis: true insieme a create_kb_agent: true. La risposta restituisce gli ID di KB e agente: usali subito nella tua sessione di chat.
skip_analysis: true è valido solo se create_kb_agent: true. La richiesta è rifiutata altrimenti.
Configurazione tenant
Dalla sezione Amministrazione → Servizi → Analisi puoi impostare:
- Posizioni lavorative (per CV) — definisci le job description rispetto alle quali i CV verranno scorati
- Tassonomie classificazione — categorie pre-definite richiamabili nel form
- Prompt CV personalizzato per il rilevamento skill
- Modificatore costi per l'editor PDF
- System settings analisi (lingue default, soglie, retry, ecc.)
Stati del job
| Stato | Descrizione |
|---|---|
pending | Job creato, in coda |
processing | In esecuzione |
completed | Terminato con successo |
failed | Errore (vedi error_message) |
cancelled | Annullato manualmente |
Idempotenza
Gli analyzer rispettano la quota del tenant. Job avviati e abbandonati senza polling consumano comunque crediti — chiudi sempre il loop sull'errore di rete lato chiamante.
Eliminazione
Dalla lista Analisi → Storico puoi eliminare singoli job (anche in processing: lo watchdog interrompe). I record di costo associati restano per il monitoraggio.