0Pricing
SQL Academy · Ders

pgvector ile Vektör Araması

Gömüleri depolamak ve ivfflat / HNSW ile yaklaşık en yakın komşu araması yapmak için pgvector eklentisini kullanın.

pgvector ile Vektör Araması, CoddyKit'te ücretsiz bir SQL Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, SQL Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. SQL Academy kursu toplamda 4 dersten oluşur.

Vektörler Ne İçin Kullanılır?

Gömme vektörleri anlamı kodlar. Aynı konu hakkındaki iki belgenin vektörleri benzerdir. Vektör araması; anlamsal aramayı, RAG'yi (getirme destekli üretim) ve öneri sistemlerini güçlendirir.

pgvector'ı Etkinleştirme

Bu eklenti yaygın olarak kullanılabilir (RDS, Cloud SQL ve Supabase bunu yerleşik olarak sunar):

CREATE EXTENSION vector;

Vektör Sütunu

Bir sütunu, gömme modelinizin boyut sayısıyla tanımlayın:

CREATE TABLE docs (
  id BIGSERIAL PRIMARY KEY,
  title TEXT NOT NULL,
  body TEXT NOT NULL,
  embedding vector(1536)
);

-- 1536 is OpenAI text-embedding-3-small dimension; varies by model.

Gömme Vektörlerini Ekleme

Vektörü dizi sabiti olarak ekleyin:

INSERT INTO docs (title, body, embedding)
VALUES ('SQL Course', 'Learn SQL', '[0.013, -0.024, ...]');

Mesafe İşleçleri

pgvector üç işlemci sağlar:

  • <-> — Öklid (L2) mesafesi
  • <#> — negatif iç çarpım
  • <=> — kosinüs mesafesi (gömme vektörleri için en yaygın)

En Yakın Komşu Araması

Bir sorgu vektörüne en yakın belgeleri bulun:

SELECT id, title, 1 - (embedding <=> $1) AS similarity
FROM docs
ORDER BY embedding <=> $1
LIMIT 10;

IVFFlat Dizini

Büyük veri kümeleri için yaklaşık en yakın komşu (ANN) dizini oluşturun:

CREATE INDEX docs_embedding_idx
  ON docs USING IVFFLAT (embedding vector_cosine_ops)
  WITH (lists = 100);

-- Tune lists by row count: rule of thumb sqrt(N).
-- Set probes per query for accuracy:
SET ivfflat.probes = 10;

HNSW Dizini (PG 16+)

Çoğu durumda IVFFlat'a göre daha iyi geri çağırma ve gecikme sağlar:

CREATE INDEX docs_embedding_hnsw
  ON docs USING HNSW (embedding vector_cosine_ops);

SET hnsw.ef_search = 100;

Filtrelenmiş Vektör Araması

Vektör filtrelerini yapılandırılmış filtrelerle birleştirin:

SELECT id, title
FROM docs
WHERE language = 'en'
  AND created_at >= NOW() - INTERVAL '30 days'
ORDER BY embedding <=> $1
LIMIT 10;
-- For best perf, partial index on the filter.

RAG Deseni

Gömme vektörünü kullanarak N ilgili belgeyi getirin ve bunları bir LLM'ye bağlam olarak iletin:

-- 1. Embed user query
-- 2. SELECT top-N docs by cosine
-- 3. Send docs + query to LLM
-- 4. Return LLM's answer to user

Hibrit Arama

En iyi sonuçlar için vektör aramasını sözcüksel aramayla (tsvector) birleştirin — tek başına hiçbiri her şeyi yakalayamaz:

SELECT id, title,
  0.6 * (1 - (embedding <=> $1)) + 0.4 * ts_rank(search_doc, $2) AS score
FROM docs
WHERE embedding <=> $1 < 0.7
   OR search_doc @@ $2
ORDER BY score DESC LIMIT 10;

Boyut Sayısını Seçme

Daha büyük gömme vektörleri daha doğrudur, ancak daha fazla depolama alanı kullanır ve daha yavaştır. Birçok uygulama 384–768 boyutlu modellerle sorunsuz çalışır. Bir model seçin ve ona bağlı kalın.

Özet

pgvector, Postgres'e birinci sınıf vektör araması ekler.

  • vector(N) sütun türü
  • IVFFlat / HNSW dizinleri
  • Gömme vektörleri için <=> aracılığıyla kosinüs mesafesi
  • En iyi geri çağırma için FTS ile hibrit kullanım

Hızlı Kontrol

OpenAI gömme vektörlerini kullanarak anlamsal benzerliğe göre arama yapıyorsunuz. Genellikle hangi pgvector mesafe işleçini kullanırsınız?

Sıkça Sorulan Sorular

“pgvector ile Vektör Araması” dersi ücretsiz mi?

Evet — “pgvector ile Vektör Araması” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve SQL Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. SQL Academy kursu toplamda 4 dersten oluşur.

“pgvector ile Vektör Araması” dersinde ne öğreneceğim?

Gömüleri depolamak ve ivfflat / HNSW ile yaklaşık en yakın komşu araması yapmak için pgvector eklentisini kullanın. SQL Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

SQL Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te SQL Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“pgvector ile Vektör Araması” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu SQL Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her SQL Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Benzerlik Eşleştirme için Üçlü Arama (pg_trgm)
  2. tsvector ve GIN ile Tam Metin Arama
  3. PostGIS ile Coğrafi Mekânsal INDEX'leme
  4. pgvector ile Vektör Araması
← SQL Academy Sayfasına Dön