Base vectorielle avec PostgreSQL et pgvector

Intermédiaire LinuxBases vectorielles (pgvector, Qdrant)25 min50 XP

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

  1. Schéma vectoriel
  2. Recherche filtrée par droits
  3. Opérateurs et index