Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Vektör benzerliği araması (VSS), yapay zeka destekli akıllı uygulamalarda yaygın bir özelliktir. Azure Managed Redis'i, Azure OpenAI gibi gömülü modellerle birleştirdiğinizde, düşük gecikmeli bir vektör veritabanı olarak kullanabilirsiniz; bu, Retrieval-Augmented Generation (RAG), anlamsal önbellekleme, öneri, arama ve diğer yapay zeka senaryoları için.
Bu makale, vektör gömülmelerini, vektör benzerlik aramasını ve Azure Managed Redis'in RediSearch modülünü kullanarak vektörleri nasıl depolayıp arayabileceğini tanıtmaktadır.
Azure OpenAI ile Azure Managed Redis kullanan eğitimler ve örnek uygulamalar için aşağıdaki kaynaklara bakınız:
Kullanılabilirlik kapsamı
Redis'teki vektör arama özellikleri için Redis Stack, özellikle rediSearch modülü gerekir. Azure Managed Redis'te, RediSearch önbelleği oluştururken etkinleştirmeniz gereken yönetilen bir modül olarak mevcuttur.
Aşağıdaki tablo, Azure Managed Redis katmanları için RediSearch erişilebilirliğini göstermektedir.
| Azure Managed Redis katmanı | RediSearch desteği |
|---|---|
| Memory Optimized | Evet |
| Balanced | Evet |
| Compute Optimized | Evet |
| Flash Optimized | Hayı |
Important
Azure Managed Redis örneğine oluşturulduktan sonra modül ekleyemezsiniz. Vektör araması kullanmayı planlıyorsanız, tedarik sırasında RediSearch modülünü etkinleştirin.
Vektör arama için Azure Managed Redis örneği planlayın
Vektör arama için Azure Managed Redis örneği oluşturmadan önce, önbellek yapılandırmasını ve veri modelini planlayın. Provisioning sırasında modüller ve küme politikası gibi bazı seçenekleri seçmelisiniz.
Vektör arama iş yükleri için:
- Azure Managed Redis örneğini oluşturduğunuzda RediSearch modülünü etkinleştirin.
- Kurumsal küme politikasını kullanın. RediSearch için Kurumsal kümeleme politikası gereklidir.
- RediSearch etkin olduğunda tahliye
NoEvictionpolitikasını kullanın. - Desteklenen bir bellek içi katman seçin: Bellek Optimize Edilmiş, Dengelenmiş veya Hesaplama Optimize Edilmiş.
- Önbelleği hem vektör veri hem de indeks yükü için boyutlandırın.
- Meta verileri belge kimliği, başlık, kaynak URL, kategori, zaman damgası, kiracı kimliği veya erişim kontrol alanları gibi vektörlerle depolayın; böylece sorgular sonuçları filtreleyip kaynak bilgisini döndürebilir.
- İstemci bağlantıları için TLS kullanın ve istemciniz tarafından desteklendiğinde Microsoft Entra kimlik doğrulamasını düşünün.
- Üretim iş yükleri için Özel Bağlantı, yüksek erişilebilirlik ve teşhis gibi yöntemleri düşünün.
Azure Managed Redis, hizmet için mevcut modül sürümlerini yönetir. Modülleri manuel olarak yükleyemezsiniz veya modül sürümlerini manuel olarak güncelleyemezsiniz.
Daha fazla bilgi için Yönetilen Redis modüllerini Azure Yönetilen Redis ile Kullan, Azure Yönetilen Redis mimarisi ve Hızlı Başlat: Azure Yönetilen Redis örneği oluştur bölümlerine bakabilirsiniz.
Vektör ekleme nedir?
Vektör gömmeleri, kelimeler, belgeler, imgeler veya ürünler gibi verilerin yüksek boyutlu vektör uzayında sayısal temsilleridir. Gömmeler, semantik ilişkileri bir şekilde yakalıyor ve böylece uygulamalar verileri matematiksel olarak karşılaştırabiliyor.
Örneğin, basketball ve baseball sözcüklerinin gömme vektörleri, model anlamsal olarak ilişkili kavramları vektör uzayında birbirine yakın konumlandırdığı için, genellikle bu sözcüklerden herhangi birinin rainforest ile olan gömme vektöründen birbirine daha yakındır.
Farklı makine öğrenimi modelleri gömülmeleri farklı şekilde üretir. En iyi sonuçlar için, verilen bir vektör indeksi için tutarlı bir gömme modeli kullanın. Indeks şeması, vektör boyutları ve mesafe metriği, vektörleri oluşturmak için kullanılan göme modeliyle eşleşmelidir.
Vektör karşılaştırması
Vektörleri mesafe veya benzerlik metrikleriyle karşılaştırabilirsiniz. Yaygın ölçümler şunlardır:
- Kosinüs benzerliği, vektörler arasındaki açıyı karşılaştırır.
- Öklid mesafesi, vektör uzayında düz çizgi mesafesini ölçer.
- İç ürün, bazı göme ve sıralama senaryolarında sıkça kullanılan bir özellik.
Doğru metrik, göme modeline ve vektörlerin nasıl normalize edildiğine bağlıdır. Birçok metin gömme senaryosu için kosinüs benzerliği yaygın bir tercih olarak görülür.
Gömülümler oluşturma
Birçok makine öğrenmesi modeli ekleme API'lerini destekler. Azure OpenAI ile vektör gömütme oluşturma örnekleri için bkz. Azure OpenAI ile gömüler nasıl oluşturulur?
Vektör veritabanı nedir?
Bir vektör veritabanı, yüksek boyutlu vektörleri depolar, indeksler, alır ve karşılaştırır. Vektör veritabanları, benzer vektörleri düşük gecikmeli ve yüksek verimlilikle döndürecek şekilde tasarlanmıştır.
Azure Managed Redis’i, embedding’leri Redis veri yapılarında depolayıp bunları RediSearch kullanarak dizinleyerek bir vektör veritabanı olarak kullanabilirsiniz.
Vektör depolama ve meta veriler
Redis'te vektörleri hash'larda veya JSON belgelerinde depolayabilirsiniz. Her vektörle ilgili faydalı meta verileri depolayın; örneğin belge kimliği, başlık, kaynak URL, kategori, zaman damgası, kiracı kimliği veya erişim kontrol alanları.
Meta veriler, vektör aramasını daha faydalı kılar çünkü uygulamalar vektör aramasından önce veya sırasında sonuçları filtreleyebilir. RAG uygulamaları için, meta veriler arama sonuçlarıyla birlikte geri getirilerek atıfları ve kaynak topraklamasını destekleyebilir.
İndeks ve arama yöntemleri
Vektör veritabanları, aramayı verimli hale getirmek için indeksler kullanır. RediSearch yaygın vektör indeksleme yaklaşımlarını destekler, bunlar arasında:
- DÜZ - Tam bir kaba kuvvet indeksi. FLAT, daha küçük veri setleri veya kapsamlı arama gerektiren iş yükleri için faydalı olabilir.
- HNSW - Hiyerarşik Navigable Küçük Dünya grafiklerine dayanan yaklaşık bir en yakın komşu indeksi. HNSW genellikle daha düşük gecikmenin kapsamlı hassasiyetten daha önemli olduğu daha büyük veri setleri için kullanılır.
Yaygın arama yöntemleri şunlardır:
-
K-en yakın komşular (KNN) - En üstteki
Ken benzer vektörleri döndürür. - Yaklaşık en yakın komşular (ANN) - Daha düşük gecikme ve hesaplama maliyeti karşılığında doğruluktan bir miktar ödün verir.
Arama özellikleri
Vektör veritabanları, bir sorgu vektörünü indekslenmiş vektörlerle karşılaştırarak ve en benzer sonuçları vererek aramalar gerçekleştirir. Birçok uygulama ayrıca hibrit arama kullanır; meta veri filtreleri, vektör karşılaştırmasından önce veya sırasında aday setini daraltır.
Örneğin, bir ürün önerisi sorgusu yalnızca belirli bir kategorideki ürünleri arayabilir ya da bir RAG uygulaması yalnızca mevcut kullanıcının erişebileceği belgeleri arayabilir.
Vektör arama anahtarı senaryoları
Vektör benzerlik araması, aşağıdaki gibi birçok uygulama deseninde kullanılabilir:
- Anlamsal Soru-Cevap Kendi verileriniz üzerinden soruları yanıtlayan bir sohbet botu oluşturun. Belgeler parçalara ayrılabilir, vektör temsillerine dönüştürülüp Azure Managed Redis'te depolanabilir ve vektör benzerliğine göre alındıktan sonra büyük bir dil modeli tarafından özetlenebilir.
- Belge alımı. Anahtar kelime araması yeterli olmadığında anlamsal belge araması sağlamak için gömülemeleri kullanın.
- Ürün önerisi. Benzer ürün veya hizmetleri gezinme faaliyetleri, satın alma geçmişi veya ürün açıklamalarına göre bulun.
- Görsel arama. Gönderilen bir görsele görsel olarak benzer ürün veya görseller arayın.
- Anlamsal önbelleğe alma. Yeni bir prompt önceki isteğe anlamsal olarak benzediğinde tamamlamaları önbellekleyerek ve önbelleklenmiş yanıtları yeniden kullanarak LLM maliyetini ve gecikmesini azaltın.
- LLM konuşma hafızası. Son konuşma dönüşleri gibi kısa süreli bellekleri ve dayanıklı özetler, kullanıcı tercihleri veya gerçekler gibi uzun süreli bellekleri, uygulamaların gelecekteki yanıtlar için bulabileceği gömülü olarak depolayın.
Vektörleri depolamak ve aramak için neden Azure Managed Redis'i seçmelisiniz?
Azure Managed Redis, uygulama verilerine, önbellek verisine, oturum durumuna veya konuşma belleğine yakın düşük gecikmeli erişim gerektiren vektör arama iş yükleri için faydalıdır. Redis, yüksek performanslı uygulama desenleri için yaygın olarak kullanıldığı için, Azure Managed Redis vektör aramasını desteklerken önbellekleme, hız sınırlandırma, oturum depolama, anlamsal önbellekleme ve ajan belleği gibi bitişik kullanım alanlarına da hizmet verebilir.
Birçok yapay zeka ve uygulama çerçevesi Redis entegrasyonlarını içerir, bunlar arasında:
- Microsoft Agent Framework Redis Provider
- Semantik Çekirdek Redis Connector
- LangChain Redis Entegrasyonları
- LlamaIndex Redis Vektör Deposu
Azure Managed Redis, aşağıdaki gibi vektör arama yeteneklerini desteklemek için RediSearch modülünü kullanır:
- Yaygın mesafe metrikleri, dahil
L2,COSINE, veIP. -
FLATveHNSWvektör indeksleriyle KNN araması. - Hash veya JSON veri yapılarında vektör depolama.
- En üst sorular.
- Vektör aralığı sorguları.
- Aşağıdaki gibi sorgu özelliklerine sahip hibrit arama:
- Coğrafi filtreleme.
- Sayısal ve metin filtreleri.
- Ön ek ve bulanık eşleştirme.
- Fonetik eşleşme.
- Boolean soruları.
Vektörleri depolamak ve aramak için başka seçeneklerim neler?
Azure, vektör depolama ve arama için birden fazla hizmet sunar. En iyi seçim iş yükünüze bağlı.
| Service | Şu durumu göz önünde bulundurun |
|---|---|
| Azure Yönetilen Redis | Düşük gecikmeli vektör araması uygulama önbelleği, oturum durumu, semantik önbellek veya LLM bellek desenlerine yakın olmalıdır. |
| Azure AI Arama Hizmeti | Belge indeksleme, hibrit arama, alaka ayarı ve kurumsal arama senaryoları için arama öncelikli bir hizmete ihtiyacınız var. |
| Azure Cosmos DB | Operasyonel NoSQL verileriyle birlikte vektör araması yapmak istersiniz. |
| PostgreSQL için Azure Veritabanı - Esnek Sunucu | PostgreSQL'de pgvector ilişkisel veri ile birlikte vektör araması yapmak istersiniz. |
İlgili içerik
Gömülme ve vektör aramasına başlamanın en iyi yolu kendiniz denemektir.