📌 Ders -18 – Vektörel Veritabanı Kurmak – Bölüm 2
Bu derste bir dokümanı Google Drive’dan alıp vektöre dönüştürerek Pinecone index’ine yükleyen akışın uçtan uca nasıl çalıştığını pratik olarak test ediyoruz.
Akışın Amacı
- Drive’a yüklenen her dokümanı otomatik olarak işlemek,
- Metni anlamlı parçalara (chunk) bölmek,
- Embedding (vektör) üretip Pinecone index’ine upsert etmek,
- RAG senaryolarında sorgulanabilir bir bilgi deposu oluşturmak.
Adım Adım Çalışma
- Google Drive Trigger
- Drive’daki belirli klasör dakikada bir taranır (Schedule).
- Klasöre yeni bir dosya gelirse akış tetiklenir.
- Google Drive – Download File
- Trigger’dan gelen
fileIdile dosya indirilir. - Node çıktısı: binary içerik + temel metadata (ad, mime type vb.).
- Trigger’dan gelen
- Dokümanı İşlenebilir Hâle Getirme
- Document Loader binary veriyi okunabilir metne çevirir.
- PDF/Word gibi formatlardaki içerik normalize edilir.
- Metni Parçalara Bölme (Chunking)
- Recursive Character Text Splitter ile metin küçük parçalara ayrılır.
- Örnek: chunkSize = 500, overlap = 100.
- Bu örnekte dosya 25 parça olarak ayrıldı (chunk sayısı doküman uzunluğuna göre değişebilir).
- Embedding Üretimi
- Seçili embedding modeli (ör. Gemini Embeddings) her chunk için vektör oluşturur.
- Seçilen modele uygun dimension kullanılır (ör. 768).
- Pinecone’a Upsert
- Üretilen vektörler, metadata (dosya adı, sayfa vb.) ile birlikte index ve namespace’e gönderilir.
- Her chunk bir record olarak kayda geçer → Bu örnekte 25 kayıt eklendi.
Test Etme ve Doğrulama
- Drive klasörüne yeni bir doküman yükleyin → Akış otomatik tetiklenecektir.
- n8n’de Executions panelinden çalışmayı anlık izleyin (başlama, bitiş, hata vb.).
- Pinecone panelinde ilgili index & namespace için record count’un arttığını gözlemleyin.
Artık Ne Yapabiliriz?
- Bu index’i RAG deposu olarak kullanıp AI Agent’lara “önce ara → sonra cevapla” mantığı ekleyebiliriz.
- Aynı akışa yeni dokümanlar eklendikçe bilgi tabanı genişler ve sorgu kalitesi yükselir.
İyi Uygulamalar & İpuçları
- Dimension Eşleşmesi: Embedding modelinizin boyutu ile Pinecone index boyutu birebir aynı olmalı.
- Kimliklendirme: Aynı chunk’ın tekrar yüklenmesi durumunda upsert id’lerini istikrarlı üretin (ör.
${fileId}-${chunkIndex}) → duplicated record’ları önler. - Chunk Ayarı: Daha uzun belgelerde küçük chunk + küçük overlap; teknik metinlerde daha büyük overlap bağlam korur.
- Active/Inactive: Canlıya alırken workflow’u Active yapmayı unutmayın; testte Inactive tutmak faydalı olabilir.
🎯 Bu Dersin Özeti
- Drive’daki yeni dosya → Akışı tetikledi.
- Dosya indirildi, metin hâline getirildi ve 25 chunk’a bölündü.
- Her chunk için embedding üretildi ve Pinecone index’ine upsert edildi.
- Drive’a yeni dosya yükleyerek akışı tekrar test edebilir; Pinecone’da kayıt sayısının arttığını görebilirsiniz.
- Oluşan index, RAG tabanlı AI Agent’lar için sorgulanabilir bir bilgi deposu olarak hazır.
