AI Governance · 11 min

Vector database per RAG

Embedding, similarità, chunking, metadata filtering e criteri per scegliere un vector store.

vector databaseembeddingRAG

Un vector database è il motore di memoria semantica dietro il RAG. Invece di cercare parole esatte, cerca per significato. Capire embedding, similarità e chunking è ciò che separa un RAG che funziona da uno che restituisce risultati a caso.

Embedding e ricerca semantica

Un embedding è la rappresentazione numerica (un vettore) del significato di un testo. Testi simili producono vettori vicini. Il vector database indicizza questi vettori e, data una domanda, trova i contenuti semanticamente più vicini — anche se non condividono le stesse parole.

  • “Come resetto la password” trova “procedura di recupero credenziali”
  • La similarità si misura con metriche come il coseno
  • Non sostituisce la ricerca per parole chiave: spesso si combinano (hybrid search)

Chunking: il fattore decisivo

I documenti vanno spezzati in pezzi (chunk) prima di essere indicizzati. La dimensione e i confini dei chunk influenzano enormemente la qualità: chunk troppo grandi diluiscono il significato, troppo piccoli perdono contesto. È qui che molti RAG falliscono.

  • Spezza per struttura logica (sezioni, paragrafi), non a caratteri fissi
  • Sovrapposizione (overlap) per non tagliare le frasi a metà
  • Metadata sui chunk (fonte, data, permessi) per filtrare e citare

Metadata filtering e permessi

Un vector database serio non recupera solo per similarità: filtra per metadata. Questo permette di limitare il retrieval ai documenti che l'utente può vedere, alla versione corrente, alla lingua giusta. Senza filtri sui permessi, il RAG può esporre contenuti riservati.

In sintesi

  • Gli embedding cercano per significato, non per parole esatte.
  • Il chunking è il fattore che fa o rompe la qualità del RAG.
  • I metadata abilitano filtri per permessi, versione e lingua.
  • Spesso la ricerca ibrida (semantica + keyword) batte la sola semantica.

FAQ tecniche

Quale vector database scegliere?

Dipende dai volumi e dallo stack. pgvector su PostgreSQL è ottimo quando i dati sono già lì e i volumi sono medi; soluzioni dedicate servono su scala molto grande. Si sceglie sul caso, non per moda.

Perché il mio RAG restituisce risultati irrilevanti?

Quasi sempre è un problema di chunking o di mancanza di filtri sui metadata, non del database. Sistemare la pipeline di indicizzazione risolve la maggior parte dei casi.

Dalla teoria al sistema in produzione.

Non spieghiamo soltanto come funziona: progettiamo, sviluppiamo e governiamo architetture AI, agenti, RAG e integrazioni partendo dai processi reali.

Prenota una consulenza tecnica