similarity-search-patterns
Implement efficient similarity search with vector databases. Use when building semantic search, implementing nearest neighbor queries, or optimizing retrieval performance.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Implement efficient similarity search with vector databases. Use when building semantic search, implementing nearest neighbor queries, or optimizing retrieval performance.
How to use
Zainstaluj umiejętność w swoim projekcie agenta, dodając repozytorium do ścieżki skills. Upewnij się, że masz dostęp do wybranej bazy wektorowej (Pinecone, Weaviate lub inna) i klucz API.
Wybierz metrykę odległości odpowiednią dla Twoich danych: cosinus dla znormalizowanych embeddingów, euklidesową dla surowych wektorów, dot product gdy ważna jest wielkość wektora, lub Manhattan dla rzadkich wektorów.
Zdecyduj o typie indeksu na podstawie rozmiaru danych: flat dla małych zbiorów (dokładne wyniki), HNSW dla średnich i dużych zbiorów (szybkie, ~95-99% recall), lub IVF+PQ dla bardzo dużych zbiorów (skompresowane, ~90-95% recall).
Skorzystaj z dostarczonego szablonu Pinecone lub dostosuj go do wybranej bazy wektorowej. Zainicjuj połączenie z API, definiując wymiar wektorów (np. 1536 dla OpenAI) i metrykę.
Implementuj wyszukiwanie semantyczne poprzez konwersję zapytań użytkownika na embeddingi, a następnie wyszukaj najbliższe wektory w indeksie. Dla RAG retrieval zwróć dokumenty powiązane z topowymi wynikami.
Opcjonalnie połącz wyszukiwanie semantyczne z tradycyjnym wyszukiwaniem słownikowym, aby poprawić trafność wyników dla zapytań zawierających specjalistyczne terminy lub nazwy własne.