Toolverse
All skills

pgvector-semantic-search

by timescale

Use this skill for setting up vector similarity search with pgvector for AI/ML embeddings, RAG applications, or semantic search.\n\n**Trigger when user asks to:**\n- Store or search vector embeddings in PostgreSQL\n- Set up semantic search, similarity search, or nearest neighbor

Installation

Pick a client and clone the repository into its skills directory.

Installation

Quick info

Author
timescale
Category
Data Science
Views
23

About this skill

Use this skill for setting up vector similarity search with pgvector for AI/ML embeddings, RAG applications, or semantic search.\n\nTrigger when user asks to:\n- Store or search vector embeddings in PostgreSQL\n- Set up semantic search, similarity search, or nearest neighbor search\n- Create HNSW or IVFFlat indexes for vectors\n- Implement RAG (Retrieval Augmented Generation) with PostgreSQL\n- Optimize pgvector performance, recall, or memory usage\n- Use binary quantization for large vector datasets\n\nKeywords: pgvector, embeddings, semantic search, vector similarity, HNSW, IVFFlat, halfvec, cosine distance, nearest neighbor, RAG, LLM, AI search\n\nCovers: halfvec storage, HNSW index configuration (m, ef_construction, ef_search), quantization strategies, filtered search, bulk loading, and performance tuning.

How to use

  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.

Related skills