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
- Ricevere
userId,documentId,processingRunIde riferimenti agli evidence set. - Interrogare separatamente le collection text, visual e layout di Qdrant applicando obbligatoriamente il filtro di ownership.
- Escludere documento corrente, copie esatte e candidati non accessibili.
- Recuperare classificazioni, issuer e stato di conferma da
data-service. - Calibrare e fondere i punteggi multimodali; non sommare score non normalizzati.
- Salvare run, candidati, score per canale, score combinato, versioni e provenance.
- 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.