Base vectorielle avec PostgreSQL et pgvector
Stockez les embeddings (dimension 1024) dans PostgreSQL. Écrivez ~/vecteurs/schema.sql :
CREATE EXTENSION IF NOT EXISTS vector;- table
morceaux:id bigserial PRIMARY KEY,document_id bigint NOT NULL,contenu text NOT NULL,niveau_acces smallint NOT NULL,embedding vector(1024) NOT NULL - index approximatif :
CREATE INDEX ON morceaux USING hnsw (embedding vector_cosine_ops);
Et ~/vecteurs/recherche.sql : les 5 morceaux les plus proches de $1, limités aux niveaux d'accès de l'utilisateur (WHERE niveau_acces <= $2), triés par distance cosinus (ORDER BY embedding <=> $1 LIMIT 5).
Appliquez : psql -d rag -f schema.sql (depuis ~/vecteurs). Opérateur de distance cosinus de pgvector → answer cosinus <opérateur> ; HNSW donne-t-il un résultat exact ou approximatif ? → answer hnsw <exact|approximatif>
Contenu Premium
Ce contenu est inclus dans l'offre Premium. Le titre et le résumé restent visibles pour vous aider à choisir.
Tâches
- Schéma vectoriel
- Recherche filtrée par droits
- Opérateurs et index