Ana içeriğe geç

Vector Store

Depoda duran parçalar henüz aranabilir değildir. Aranabilir hâle getirmek, her birini bir vektöre çevirip bir vector store'a koymak demektir — Flowera'nın upsert dediği adım.

Embedding ve vector store

Embedding modeli metni, anlamını yakalayan bir sayı dizisine çevirir. İadeyle ilgili pasajlar birbirine yakın düşer; kargoyla ilgili olanlar başka bir yere. Vector store bu sayıları tutar ve "bu soruya en yakın parçalar hangileri?" sorusunu yanıtlar.

Çalışma anında müşterinin sorusu aynı embedding modelinden geçer ve en yakın parçalar döner. Numara bundan ibarettir — ve müşteri "iade almak" derken deponun "30 gün içinde para iadesi" diyen pasajı bulmasının nedeni de budur. Ortak kelime yok, benzer anlam var.

Vector store yapılandırma

Bir doküman deposunu açın ve üç şeyi yapılandırın:

AyarNe yapar
EmbeddingsMetni vektöre çeviren model
Vector StoreBu vektörlerin tutulduğu yer
Record Managerİsteğe bağlı. Neyin zaten indekslendiğini izler; böylece tekrar upsert etmek çoğaltmak yerine günceller

Embedding modeli seçme

OpenAI, Google, Cohere, Mistral, Voyage, Azure, Bedrock, Ollama ve diğerleri kullanılabilir. Çalışma alanlarının çoğu için standart OpenAI veya Google embedding modellerinden biri doğru yanıttır.

Seçimin kendisinden çok iki kural önemlidir:

  • Çok dilli içerik çok dilli bir model ister. Dokümanlarınız Türkçe ve müşterileriniz Türkçe soruyorsa modelin bunu kaldırdığını doğrulayın — bazıları ağır biçimde İngilizce ağırlıklıdır.
  • Dolu bir depoda modeli her şeyi yeniden upsert etmeden asla değiştirmeyin. İki farklı modelden gelen vektörler kıyaslanabilir değildir ve ortaya çıkan depo tam bir özgüvenle saçmalık döndürür. OpenAI ile Azure arasında geçiş yapmak da buna dahildir: model adları aynı olsa bile modelin kendisi değişiyorsa yeniden upsert gerekir.

Azure OpenAI Embeddings'te de diğer sağlayıcılardaki gibi bir Model Name açılır listesi var. Azure'da seçilen model aynı zamanda isteğin hangi deployment'a gideceğini belirler; boş bırakmak bağlantı bilgisindeki deployment'a düşmek demektir — modeli açıkça seçin.

Vector store seçme

Flowera PostgreSQL VectorDB yerleşik seçenektir ve hiçbir kurulum istemez — oradan başlayın. Pinecone, Qdrant, Chroma, Milvus, Weaviate, Supabase, Redis, MongoDB Atlas, Elasticsearch ve diğerleri, mevcut bir kurulumunuz ya da özel ölçek gereksinimleriniz olduğunda kullanılabilir. Her harici seçenek kendi bağlantı bilgisini ister.

Record Manager

Record manager olmadan, zaten indekslenmiş bir depoyu upsert etmek her parçanın ikinci bir kopyasını ekleyebilir — ve yinelenen parçalar diğer sonuçları dışarı iter. Record manager varken Flowera neyin orada olduğunu bilir ve çoğaltmak yerine günceller.

Düzenli upsert ediyorsanız (örneğin gecelik bir senkronizasyon) ekleyin. Her vector store bunu desteklemez; desteklemediğinde seçenek soluk görünür.

Depoyu upsert etme

Tüm Parçaları Upsert Et, her parçayı gömer ve vector store'a yazar. Depo çalışırken Yükleniyor, bitince Upsert Edildi gösterir. Bir depo Upsert Edildi'ye ulaşana kadar ona bağlı bir Bilgi Getirici hiçbir şey bulamaz.

Her değişiklikten sonra upsert edin: yeni bir yükleyici, düzenlenmiş bir parça, silinmiş bir parça. Rozet size söylemez — indeks eski içeriği sunarken rozet önceki çalıştırmadan kalma Upsert Edildi olarak kalır.

Upsert para harcar. Her parça embedding modelinden bir kez geçer; yani büyük bir doküman kümesi (küçük de olsa) gerçek bir ücrettir — ve yalnızca bir yükleyici değiştiğinde tüm depoyu yeniden upsert etmemek için bir neden.

Upsert geçmişi

Tüm Parçaları Upsert Et ekranındaki geçmiş simgesi, her upsert'ü zaman damgası ve eklenen vektör sayısıyla listeler.

"Bu gerçekten indekslendi mi?" sorusunu yanıtlamanın en hızlı yolu budur — ve deponun Upsert Edildi göründüğü ama son upsert'ün sıfır vektör eklediği klasik başarısızlığı fark etmenin de, çünkü yükleyici hiç parça üretmemiştir.

İlgili