Skip to main content

Document Similarity Worker

Stato: operativo. Coda: document.similarity.search.

Ricerca documenti simili dopo che testo, elementi visuali e layout sono stati indicizzati. Non assegna la classificazione: produce evidenze e una distribuzione di tipi suggeriti.

Implementazione proposta

  1. Ricevere userId, documentId, processingRunId e riferimenti agli evidence set.
  2. Interrogare separatamente le collection text, visual e layout di Qdrant applicando obbligatoriamente il filtro di ownership.
  3. Escludere documento corrente, copie esatte e candidati non accessibili.
  4. Recuperare classificazioni, issuer e stato di conferma da data-service.
  5. Calibrare e fondere i punteggi multimodali; non sommare score non normalizzati.
  6. Salvare run, candidati, score per canale, score combinato, versioni e provenance.
  7. Restituire soltanto identificativi e sintesi al control plane.

Modello dati da aggiungere

  • document_similarity_runs: documento sorgente, user/tenant, profilo, soglie, stato e versione.
  • document_similarity_candidates: documento candidato, score text/visual/layout/combined, rank, classificazione osservata e provenance.

Una classificazione confermata manualmente deve pesare più di una automatica. I risultati appartenenti ad altri utenti non devono essere restituiti; eventuale conoscenza globale dovrà essere anonimizzata e pubblicata attraverso un catalogo distinto.

Output minimo

{
"status": "COMPLETED",
"candidates": [{
"documentId": 42,
"scores": {"text": 0.87, "visual": 0.91, "layout": 0.94, "combined": 0.91},
"classification": {"type": "UTILITY_BILL", "status": "human_confirmed"}
}],
"documentTypeCandidates": [{"type": "UTILITY_BILL", "score": 0.82}]
}

Configurazioni previste: concurrency, top-K per profilo, score minimi, pesi di fusione e numero massimo di candidati; tutte risolte DB, ambiente, default.