Vektörleri Güncelleme ve Silme
Dizini kaynakla eşzamanlı tutun: belge değiştiğinde ekleyip güncelleyin, kaldırıldığında silin ve yeniden gömüntülemeyi yönetin.
Vektörleri Güncelleme ve Silme, 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.
Dizin Donmuş Değil
Gerçek belgeler değişir. Dizin de bu değişikliklere ayak uydurmalıdır:
- Yeni belgeler eklenir
- Mevcut belgeler düzenlenir
- Eski belgeler silinir veya arşivlenir
Upsert (Ekleme veya Güncelleme)
Çoğu vektör veritabanı upsert işlemini destekler — vektörü verilen bir ID ile yazar ve varsa eskisinin yerine yenisini koyar:
index.upsert([
('doc-42', new_vector, {'source': 'a.pdf', 'updated_at': now})
])
# If doc-42 already exists, it is overwritten.Belirlenebilir Kimlikler
İçerik karması kimlikleri kullanırsanız "güncelleme" otomatik olarak gerçekleşir — aynı içerik = aynı kimlik = aynı yuva.
UUID'ler kullanırsanız hangi UUID'nin hangi kaynak belgeye ait olduğunu izlemeniz gerekir.
Değişiklikleri Algılama
Bir belge derlemesindeki farkları bulmak için her parçanın karmasını depolayın:
old_chunks = load_existing_chunks(source)
new_chunks = chunk_doc(source)
old_hashes = {c.id for c in old_chunks}
new_hashes = {c.id for c in new_chunks}
to_delete = old_hashes - new_hashes
to_add = new_hashes - old_hashes
# Skip unchanged — saves re-embeddingFiltreye Göre Silme
Çoğu veritabanı filtreye göre silmeyi destekler; bu, "bu kaynaktaki her şeyi silmek" için kullanışlıdır:
index.delete(filter={'source': '/old/file.pdf'})Delete by ID
index.delete(ids=['doc-1', 'doc-2', 'doc-3'])Mantıksal Silme
Bazen kaldırmadan "gizlemek" istersiniz — deleted_at bayrağını ayarlayın ve sorgu sırasında bu kayıtları filtreleyin:
index.upsert([('doc-42', vec, {'deleted_at': now})])
# At query time:
results = index.query(vector=query_vec, top_k=5, filter={'deleted_at': {'$exists': False}})Sıkıştırma
Sık sık yapılan silme işlemleri dizini seyrek bırakır. Performans için düzenli aralıklarla yeniden oluşturun — çoğu veritabanı bunu otomatik olarak yapar; sağlayıcınızın belgelerini kontrol edin.
Model Değişikliğinde Yeniden Gömme
Gömme modelini yükseltirseniz mevcut her vektör uyumsuz hâle gelir. Stratejiler:
- Geçiş sırasında eski ve yeni koleksiyonlara çift yazın
- Geçiş tamamlandığında okuma trafiğini yeni koleksiyona yönlendirin
- Eski koleksiyonu silin
Artımlı Veri İşleme Hattı
Sağlam bir veri alma hattı:
def sync_doc(source_path):
new_chunks = chunk_and_hash(load(source_path))
existing_ids = index.fetch_ids_by_source(source_path)
new_ids = {c.id for c in new_chunks}
to_add = [c for c in new_chunks if c.id not in existing_ids]
to_remove = existing_ids - new_ids
if to_remove:
index.delete(ids=list(to_remove))
if to_add:
index.upsert([(c.id, embed(c.text), c.metadata) for c in to_add])Sapmayı Denetleme
Dizinin doğru kaynakla eşleştiğini düzenli aralıklarla doğrulayın. Hem veritabanınızda hem de vektör dizininde kaynak başına satır sayılarını karşılaştırın; uyuşmazlık olduğunda uyarı verin.
Webhook Tabanlı Güncellemeler
Belge yönetim sistemlerinde (Notion, Confluence, GDrive), her şeyi yeniden taramaktan çok daha ucuz olan değişiklik tabanlı artımlı eşitlemeyi tetiklemek için webhook'ları kullanın.
Dağıtık Silmeler için Silme İşaretçileri
Dağıtık dizinlerde "silme" işlemi genellikle bir silme işareti yazar. Sıkıştırma çalışana kadar sorgular bu işareti hâlâ görebilir — filtrelerinizi yerinde tutun.
Etkisi Değişmeyen Güncellemeler
Veri almayı yeniden çalıştırmayı güvenli hâle getirmenin en kolay yolu nedir?
Özet
İlk günden itibaren güncellemeleri planlayın: karma tabanlı kimlikler, fark tabanlı veri alımı ve gömme modellerini kesinti olmadan değiştirebileceğiniz bir yol.
Yapay zeka eğitmeniyle AI Agents öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 60
- Dersler
- 239
Sıkça Sorulan Sorular
“Vektörleri Güncelleme ve Silme” dersi ücretsiz mi?
Evet — “Vektörleri Güncelleme ve Silme” 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.
“Vektörleri Güncelleme ve Silme” dersinde ne öğreneceğim?
Dizini kaynakla eşzamanlı tutun: belge değiştiğinde ekleyip güncelleyin, kaldırıldığında silin ve yeniden gömüntülemeyi yönetin. 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.
“Vektörleri Güncelleme ve Silme” 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
- Pinecone, Weaviate, Qdrant: Karşılaştırma
- Hibrit Arama için Üst Veri Filtreleme
- Vektörleri Güncelleme ve Silme
- Uzaklık Ölçütlerini Seçme (kosinüs, L2, nokta)