pgvector to rozszerzenie PostgreSQL, które przechowuje wektory (embeddingi) i wyszukuje najbardziej podobne. Dzięki niemu sklep może znaleźć „buty na deszcz” wśród produktów opisanych jako „wodoodporne obuwie”, a agent AI — odpowiadać na pytania klientów na podstawie Twojego regulaminu i opisów. Nie potrzebujesz osobnej bazy wektorowej: w Aderlo Cloud pgvector jest dostępny w każdej bazie PostgreSQL od chwili jej założenia.
Jak to działa w trzech krokach
Zamiana tekstu na wektor
Model embeddingów u wybranego dostawcy AI zamienia opis produktu lub fragment dokumentu na listę liczb (np. 1536 wartości).
Zapis w PostgreSQL
Wektor trafia do kolumny typu
vectorobok zwykłych danych: nazwy, ceny, adresu strony.Wyszukiwanie po podobieństwie
Pytanie klienta zamieniasz na wektor tym samym modelem i prosisz bazę o najbliższe wyniki.
Minimalny przykład
CREATE TABLE product_chunks ( id bigserial PRIMARY KEY, product_url text NOT NULL, content text NOT NULL, embedding vector(1536) ); CREATE INDEX ON product_chunks USING hnsw (embedding vector_cosine_ops); -- $1 = wektor pytania, policzony tym samym modelem SELECT product_url, content FROM product_chunks ORDER BY embedding <=> $1 LIMIT 5;
Wymiar kolumny musi zgadzać się z modelem embeddingów. Przy zmianie modelu policz wektory od nowa — wektory z dwóch modeli nie są porównywalne.
Zastosowania w sklepie
- Wyszukiwarka po znaczeniu, która rozumie synonimy i opisy potrzeb, a nie tylko nazwy produktów.
- Baza wiedzy dla agenta obsługi klienta: regulamin, dostawy, zwroty — agent odpowiada na podstawie Twoich dokumentów, z odnośnikiem do źródła.
- Produkty podobne na podstawie opisu, gdy brakuje danych o zakupach.
- Porządki w katalogu: wykrywanie zduplikowanych produktów o różnych nazwach.
Agent AI i pgvector w Aderlo Cloud
Agent podłączony przez MCP może sam założyć tabelę z wektorami w bazie, do której dałeś mu pełny dostęp, i odpytywać ją w bazie produkcyjnej z dostępem tylko do odczytu. Zadania przeliczania wektorów zaplanujesz w bazie przez pg_cron, a zmiany w produktach przekażesz dalej webhookiem z bazy. Szczegóły dostępu: PostgreSQL dla agentów AI.
Najczęstsze pytania
- Czy potrzebuję osobnej bazy wektorowej, np. Pinecone?
- Dla sklepu z tysiącami czy dziesiątkami tysięcy produktów zwykle nie. pgvector trzyma wektory obok danych, więc filtrowanie po cenie czy dostępności i wyszukiwanie po znaczeniu dzieją się w jednym zapytaniu.
- Który indeks wybrać: HNSW czy IVFFlat?
- HNSW daje zwykle lepszy kompromis szybkości i trafności i nie wymaga danych do budowy indeksu; IVFFlat buduje się szybciej i zajmuje mniej pamięci. Dokumentacja pgvector opisuje oba.