0Pricing
Learn AI with Python · Ders

Vektör Veritabanlarına Giriş

Vektör veritabanlarının neden var olduğunu, yerel benzerlik araması için FAISS kullanımını ve yapay zeka erişimi için gömme vektörlerinin depolanmasını öğrenin.

Vektör Veritabanlarına Giriş, CoddyKit'te ücretsiz bir Learn AI with Python 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, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 4 dersten oluşur.

Tam Eşleşmelerin Ötesinde

Geleneksel veritabanları satırları tam değerlere göre bulur (WHERE name = "x"). Ancak yapay zekâ, anlamı yakalayan vektörler olan gömmelerle çalışır ve çoğu zaman tam eşleşmeler yerine bir sorguya en benzer öğeleri istersiniz.

Vektör veritabanları, bu benzerlik aramasını hızlı hâle getirmek için vardır.

Gömme Nedir?

Bir gömme, benzer öğelerin vektör uzayında birbirine yakın durmasını sağlayacak şekilde metni, görüntüyü veya sesi temsil eden bir sayı listesidir (vektör).

Anlamsal arama, öneriler ve geri getirmeyle zenginleştirilmiş üretimin (RAG) tümü gömmelere dayanır.

import numpy as np

# A toy 4-dim embedding for a sentence
vec = np.array([0.12, -0.43, 0.88, 0.05], dtype="float32")
print(vec.shape)   # (4,)

Neden Normal Bir Veritabanı Kullanılmamalı?

Milyonlarca vektörde bir sorguyu kaba kuvvet döngüsüyle karşılaştırmak yavaştır. Vektör veritabanları, en yakın komşuları milisaniyeler içinde döndürmek için özel dizinler ve uzaklık matematiği kullanır.

Ayrıca ölçeklenir, verileri kalıcı olarak saklar ve üst verileri vektörlerle birlikte işlerler.

Benzerliği Ölçme

Yakınlık, bir uzaklık ölçütüyle ölçülür:

  • L2 (Öklid) — doğru üzerindeki uzaklık; daha küçük değer daha yakındır
  • Kosinüs — vektörler arasındaki açı; metin için uygundur

FAISS birkaç ölçütü destekler; biz L2 kullanacağız.

FAISS ile Tanışma

FAISS (Facebook Yapay Zekâ Benzerlik Araması), vektör araması için hızlı ve ücretsiz bir kütüphanedir. Sunucu olmadan yerel olarak çalışır; öğrenme ve prototip oluşturma için idealdir.

import faiss
import numpy as np
# pip install faiss-cpu

IndexFlatL2 ile Dizin Oluşturma

IndexFlatL2(dim), L2 uzaklığını kullanarak düz (kaba kuvvetli, tam) bir dizin oluşturur. Vektörlerinizin boyutunu ona bildirmeniz gerekir.

“Düz”, sonuçların tam olduğu anlamına gelir; küçük ve orta büyüklükteki koleksiyonlar için kusursuzdur.

import faiss

dim = 4
index = faiss.IndexFlatL2(dim)
print(index.is_trained)   # True (flat index needs no training)

index.add ile Vektör Ekleme

Gömme vektörlerinizi (n, dim) biçiminde 2B float32 NumPy dizisi olarak sağlayın. index.add bunları saklar; index.ntotal sayıyı bildirir.

import numpy as np

embeddings = np.random.random((100, dim)).astype("float32")
index.add(embeddings)
print(index.ntotal)   # 100

index.search ile Arama

index.search(query, k), en yakın k vektörü döndürür. İki dizi verir: uzaklıklar D ve dizinler I (ekleme sıranızdaki konumlar).

query = np.random.random((1, dim)).astype("float32")
D, I = index.search(query, k=5)
print("nearest ids:", I[0])
print("distances:", D[0])

Dizinlerden Öğelere Dönüş

FAISS, özgün verilerinizi değil konumları döndürür. Sonuçları bulabilmek için dizin konumunu gerçek öğeye eşleyen paralel bir listeyi (veya veritabanını) saklayın.

docs = ["doc about cats", "doc about dogs", "doc about cars"]
# after search:
for pos in I[0]:
    print(docs[pos])   # map id -> original document

Küçük Bir Anlamsal Arama İşlem Hattı

Eksiksiz yöntem şöyledir: belgelerinizi gömmelere dönüştürün, bunları bir dizine ekleyin, sorguyu gömmeye dönüştürün, arayın ve eşleşen belgeleri döndürün. (sentence-transformers gibi gömme modelleri vektörleri üretir.)

import faiss, numpy as np

# doc_vectors: (n, dim) from an embedding model
index = faiss.IndexFlatL2(doc_vectors.shape[1])
index.add(doc_vectors)

# query_vec: (1, dim) embedding of the user query
D, I = index.search(query_vec, k=3)
results = [docs[i] for i in I[0]]
print(results)

Vektör Veritabanı Ne Zaman Kullanılmalı?

Şunlara ihtiyaç duyduğunuzda bir vektör veritabanı kullanın:

  • Metinler veya görüntüler üzerinde anlamsal arama
  • Benzerliğe dayalı öneriler
  • RAG: bir LLM için ilgili bağlamı alma

FAISS yerel kullanım için harikadır; yönetilen seçenekler (Pinecone, Weaviate, pgvector) kalıcılık ve ölçeklenebilirlik ekler.

Hızlı Kontrol: FAISS Araması

Bir FAISS dizininde index.search(query, k=5) çağrısı yapıyorsunuz.

Özet: Vektör Veritabanları

Benzerlik aramasının temellerini öğrendiniz:

  • Gömmeler, benzer öğeleri vektör uzayında birbirine yakın konumlandırır
  • Vektör veritabanları, ölçek büyüdüğünde en yakın komşu aramasını hızlandırır
  • FAISS, IndexFlatL2(dim) ile tam bir L2 dizini oluşturur
  • index.add(embeddings) vektörleri saklar; index.search(query, k) uzaklıkları ve dizinleri döndürür
  • Döndürülen dizinleri özgün öğelerinize geri eşleyin

Bu, veritabanları bölümünü tamamlar. Sırada: yapay zekâ projelerini Git ile yapılandırma.

Sıkça Sorulan Sorular

“Vektör Veritabanlarına Giriş” dersi ücretsiz mi?

Evet — “Vektör Veritabanlarına Giriş” 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 Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 4 dersten oluşur.

“Vektör Veritabanlarına Giriş” dersinde ne öğreneceğim?

Vektör veritabanlarının neden var olduğunu, yerel benzerlik araması için FAISS kullanımını ve yapay zeka erişimi için gömme vektörlerinin depolanmasını öğrenin. Learn AI with Python 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.

Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, 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.

“Vektör Veritabanlarına Giriş” 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 Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Learn AI with Python 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. Python'un sqlite3 Modülüyle SQLite
  2. Pandas ve SQL Entegrasyonu
  3. Makine Öğrenmesi Sonuçlarını Depolama ve Sorgulama
  4. Vektör Veritabanlarına Giriş
← Learn AI with Python Sayfasına Dön