Descriere & Utilizare
pgvector este extensia open-source care adaugă suport nativ pentru vectori și căutare semantică direct în motorul PostgreSQL. Este soluția preferată de mii de echipe tehnice deoarece elimină complet nevoia de a întreține și sincroniza o bază de date separată pentru AI.
Odată activată prin comanda SQL CREATE EXTENSION vector;, baza de date câștigă un nou tip de date numit vector(dimensiuni). Poți stoca vectori de până la 16.000 de dimensiuni direct într-o coloană a tabelelor tale existente.
Marele avantaj arhitectural este că poți combina într-o singură tranzacție ACID tabele de utilizatori, permisiuni, plăți, comenzi SQL clasice cu JOIN și căutarea de similitudine vectorială!
Cum să o reții ușor
💡 În loc să cumperi o clădire separată pentru biblioteca AI, adaugi o aripă nouă ultramodernă chiar în sediul central al firmei tale (PostgreSQL), unde toți angajații au deja acces securizat.
Opțiuni și parametri tehnici
vector(N): definește o coloană cu exactNdimensiuni float32.Compatibilitate tranzacțională (ACID): operațiunile pe vectori respectăBEGIN,COMMITșiROLLBACK.Instalare server: pe Ubuntu/Debian se instalează cusudo apt install postgresql-16-pgvectorsau prin imaginea Docker oficialăpgvector/pgvector:pg16.
Exemple practice și cazuri de utilizare
- Inserare rând cu vector din SQL:
INSERT INTO articole (titlu, embedding) VALUES ('Ghid AI', '[0.012, -0.043, 0.089]'); - Inserare din Python cu psycopg / SQLAlchemy:
cur.execute("INSERT INTO articole (titlu, embedding) VALUES (%s, %s)", (titlu, vector_lista)). - Verificarea dimensiunii unei coloane:
SELECT vector_dims(embedding) FROM articole LIMIT 1;
Sfaturi de configurare & capcane
Folosește întotdeauna imaginea Docker pgvector/pgvector:pg16 dacă rulezi Postgres în containere — conține extensia precompilată și optimizată cu instrucțiuni hardware AVX-512.
Comenzi și ghiduri înrudite
pgvector-similarity-operators: Resursă asociată din acest modul.pgvector-hnsw-index: Resursă asociată din acest modul.hybrid-search-rrf: Resursă asociată din acest modul.