Toolverse
Wszystkie skille

pgvector-semantic-search

autor: timescale

Wyszukiwanie semantyczne w PostgreSQL – znajdź treści po znaczeniu, nie po słowach kluczowych

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Data Science
Wyświetlenia
23

O skillu

Umieść wektory osadzenia (embeddingi) w PostgreSQL i wyszukuj po podobieństwie znaczeniowym. Skill pgvector-semantic-search pokazuje, jak skonfigurować indeksy HNSW lub IVFFlat, zoptymalizować wydajność wyszukiwania, a także stosować kwantyzację binarną dla dużych zbiorów danych. Idealny do implementacji RAG (Retrieval Augmented Generation), semantycznego wyszukiwania i aplikacji AI/ML, które muszą skalować się do milionów wierszy bez opuszczania bazy danych.

Jak używać

  1. Zainstaluj pgvector w wersji 0.8.0 lub wyższej w swoim PostgreSQL. Skill zakłada, że masz już działającą bazę danych i dostęp do niej.

  2. Przygotuj tabelę do przechowywania wektorów. Utwórz kolumnę typu halfvec(N), gdzie N to wymiar twojego modelu osadzenia (np. 1536 dla OpenAI). Przechowuj tekst oryginalny w osobnej kolumnie obok wektora.

  3. Wybierz metrykę odległości. Skill rekomenduje cosine (<=>) jako domyślną dla większości zastosowań semantycznych. Dodaj indeks HNSW z parametrami m = 16 i ef_construction dostosowanymi do rozmiaru danych.

  4. Konwertuj zapytanie użytkownika na wektor przy użyciu tego samego modelu osadzenia, który użyłeś do wektoryzacji tekstu w bazie. Wykonaj zapytanie SQL, które zwraca wiersze posortowane po odległości od wektora zapytania.

  5. Jeśli pracujesz z dużymi zbiorami wektorów, rozważ kwantyzację binarną (binary_quantize) lub typ halfvec zamiast vector, aby zmniejszyć zużycie pamięci i przyspieszić wyszukiwanie.

  6. Przetestuj wydajność i recall (dokładność wyszukiwania). Skill zawiera wskazówki do tuningu parametrów indeksu HNSW (ef_search) oraz filtrowania wyników przed obliczeniem odległości, aby przyspieszyć zapytania na dużych tabelach.

Podobne skille