0Pricing
AI Agents · Ders

Çoklu Vektör Getirme (ColBERT)

Ayrıntılı eşleştirme için belge başına birden çok vektörü (belirteç veya parça başına bir tane) dizinleyin.

Çoklu Vektör Getirme (ColBERT), CoddyKit'te ücretsiz bir AI Agents dersidir. Bu, 4 dersinin 3. 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, AI Agents öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. AI Agents kursu toplamda 4 dersten oluşur.

Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.

Tek Bir Vektör Yeterli Değildir

Standart RAG, her parçayı tek bir vektöre dönüştürür. Bu vektör, parçadaki her şeyin ortalamasını alır ve ince ayrıntılı sinyali kaybeder.

Çok vektörlü getirme, belge başına MULTIPLE vektör saklar ve eşleştirmeyi daha kesin yapar.

ColBERT Fikri

ColBERT (Khattab ve Zaharia, 2020), belgenin her TOKEN'ını ve query'nin her token'ını vektörleştirir, ardından maksimum benzerliği hesaplar:

score(q, d) = sum over q_token in q: max over d_token in d: cos(q_token, d_token)

ColBERT Neden Tek Vektörü Geride Bırakır?

  • Bir belgenin birden çok yönünü yakalar (tek bir vektör bunu yapamaz)
  • Uzun belgeleri daha iyi işler
  • Nadir terimlerde daha yüksek hatırlama sağlar

ColBERT Maliyeti

Parça başına değil, TOKEN başına bir vektör saklamak:

  • Bir parçada 500 token varsa bu, 500 kat daha fazla depolama alanı demektir
  • Her aramada çok daha fazla çift karşılaştırılır

Nicemleme ve budama bu maliyeti 10-50 kat azaltır, ancak yöntem yine de pahalıdır.

ColBERTv2

ColBERTv2, artık sıkıştırması ekler; token'lar merkezler etrafında kümelenir ve her token (merkez_kimliği, küçük_artık) olarak saklanır. Depolama gereksinimi 50 kat azalır.

ColBERT Çalıştırma

RAGatouille kitaplığı bunu kolaylaştırır:

# pip install ragatouille
from ragatouille import RAGPretrainedModel

rag = RAGPretrainedModel.from_pretrained('colbert-ir/colbertv2.0')
rag.index(collection=documents, index_name='my_corpus')

results = rag.search(query='What is the refund policy?', k=5)

Uygulamada Çok Vektörlü Yaklaşım

ColBERT'in yanı sıra diğer çok vektörlü yaklaşımlar:

  • Üst-alt — küçük parçaları vektörleştirin, büyük üst parçaları getirin
  • Özet + parçalar — hem belge özetini hem de tek tek parçaları vektörleştirin
  • Varsayımsal sorular — her belgeden sentezlenen soru-cevap çiftlerini vektörleştirin

Hypothetical Questions Pattern

def index_with_hypos(doc):
    # Generate 5 plausible questions this doc could answer
    questions = llm.invoke(f'Write 5 questions answered by this doc:\n{doc}').content.split('\n')
    for q in questions:
        vector_db.add(embed(q), payload={'doc': doc, 'question': q})
# Now queries that match a stored hypothetical question retrieve the doc.

Parent-Child with LangChain

from langchain.retrievers import ParentDocumentRetriever
from langchain.storage import InMemoryStore

store = InMemoryStore()
retriever = ParentDocumentRetriever(
    vectorstore=child_vectorstore,
    docstore=store,
    child_splitter=child_splitter,    # small
    parent_splitter=parent_splitter   # large
)
retriever.add_documents(documents)
# Indexes small chunks, returns large parents.

ColBERT Ne Zaman Kullanılır?

  • Yüksek riskli aramalarda (hukuk, tıp)
  • Uzun belgelerde
  • Depolama maliyetini karşılayabildiğinizde

Ne Zaman Atlanmalıdır?

  • Küçük derlemlerde
  • Gecikmeye duyarlı yollarda
  • Maliyeti kısıtlı projelerde

BM25 ile Hibrit Yaklaşım

Maksimum hatırlama için çok vektörlü getirmeyi klasik BM25 anahtar sözcük aramasıyla birleştirin. Birleştirmek için Karşılıklı Sıra Birleştirme kullanın.

ColBERT Dengesi

ColBERT tarzı çok vektörlü getirme kullanmanın temel dengesi nedir?

Özet

Parça başına tek vektör bilgi kaybına yol açar. ColBERT, daha yüksek kesinlik için token başına vektör saklar. RAGatouille bunu kolaylaştırır. Hatırlamanın önemli olduğu ve maliyetin karşılanabildiği durumlarda kullanın.

Sıkça Sorulan Sorular

“Çoklu Vektör Getirme (ColBERT)” dersi ücretsiz mi?

Evet — “Çoklu Vektör Getirme (ColBERT)” 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 AI Agents kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. AI Agents kursu toplamda 4 dersten oluşur.

“Çoklu Vektör Getirme (ColBERT)” dersinde ne öğreneceğim?

Ayrıntılı eşleştirme için belge başına birden çok vektörü (belirteç veya parça başına bir tane) dizinleyin. AI Agents 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.

AI Agents öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te AI Agents, 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 3. dersidir.

“Çoklu Vektör Getirme (ColBERT)” 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 AI Agents dersinde kod yazıp çalıştırabilir miyim?

Evet. Her AI Agents 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. Çapraz Kodlayıcılarla Yeniden Sıralama
  2. HyDE: Varsayımsal Belge Gömüntüleri
  3. Çoklu Vektör Getirme (ColBERT)
  4. RAG Değerlendirmesi (RAGAS, Recall@K)
← AI Agents Sayfasına Dön