Databricks Vektör Araması
Bu makalede Databricks'in vektör veritabanı çözümü Databricks Vector Search'e genel bir bakış sağlanır. Bu çözüm nedir ve nasıl çalışır?
Databricks Vektör Araması nedir?
Databricks Vektör Arama, Databricks Veri Zekası Platformunda yerleşik olarak bulunan ve idare ve üretkenlik araçlarıyla tümleştirilmiş bir vektör veritabanıdır. Vektör veritabanı, eklemeleri depolamak ve almak için iyileştirilmiş bir veritabanıdır. Eklemeler, genellikle metin veya görüntü verileri olan verilerin anlamsal içeriğinin matematiksel temsilleridir. Eklemeler büyük bir dil modeli tarafından oluşturulur ve birbirine benzeyen belgeleri veya görüntüleri bulmaya bağlı birçok GenAI uygulaması için önemli bir bileşendir. BUNA örnek olarak RAG sistemleri, önerilen sistemler, görüntü ve video tanıma verilebilir.
Vektör Arama ile Delta tablosundan bir vektör arama dizini oluşturursunuz. Dizinde meta veriler içeren ekli veriler bulunur. Daha sonra en benzer vektörleri tanımlamak ve ilişkili belgeleri döndürmek için REST API kullanarak dizini sorgulayabilirsiniz. Temel delta tablosu güncelleştirildiğinde dizini otomatik olarak eşitlenecek şekilde yapılandırabilirsiniz.
Databricks Vektör Araması, yaklaşık en yakın komşu aramaları için Hiyerarşik Gezinilebilir Küçük Dünya (HNSW) algoritmasını ve katıştırma vektörü benzerliğini ölçmek için L2 uzaklık ölçümü kullanır. Kosinüs benzerliğini kullanmak istiyorsanız, veri noktası eklemelerinizi Vektör Arama'ya beslemeden önce normalleştirmeniz gerekir. Veri noktaları normalleştirildiğinde, L2 uzaklığı tarafından üretilen derecelendirme, kosinüs benzerliğine göre derecelendirmenin ürettiği sıralamayla aynıdır.
Vektör Arama nasıl çalışır?
Databricks'te vektör veritabanı oluşturmak için önce vektör eklemeleri sağlamayı belirlemeniz gerekir. Databricks üç seçeneği destekler:
1 . Seçenek Metin biçiminde veri içeren bir kaynak Delta tablosu sağlarsınız. Databricks, belirttiğiniz modeli kullanarak eklemeleri hesaplar ve isteğe bağlı olarak eklemeleri Unity Kataloğu'ndaki bir tabloya kaydeder. Delta tablosu güncelleştirildikçe, dizin Delta tablosuyla eşitlenmiş olarak kalır.
Aşağıdaki diyagramda işlem gösterilmektedir:
- Sorgu eklemelerini hesaplama. Sorgu meta veri filtreleri içerebilir.
- En ilgili belgeleri tanımlamak için benzerlik araması yapın.
- En uygun belgeleri döndürerek sorguya ekleyin.
2 . Seçenek Önceden hesaplanmış eklemeler içeren bir kaynak Delta tablosu sağlarsınız. Delta tablosu güncelleştirildikçe, dizin Delta tablosuyla eşitlenmiş olarak kalır.
Aşağıdaki diyagramda işlem gösterilmektedir:
- Sorgu eklemelerden oluşur ve meta veri filtrelerini içerebilir.
- En ilgili belgeleri tanımlamak için benzerlik araması yapın. En uygun belgeleri döndürerek sorguya ekleyin.
Seçenek 3 Önceden hesaplanmış eklemeler içeren bir kaynak Delta tablosu sağlarsınız. Delta tablosu güncelleştirildiğinde otomatik eşitleme yoktur. Eklemeler tablosu değiştiğinde REST API kullanarak dizini el ile güncelleştirmeniz gerekir.
Aşağıdaki diyagramda, Delta tablosu değiştiğinde vektör dizininin otomatik olarak güncelleştirilmemesi dışında Seçenek 2 ile aynı olan işlem gösterilmektedir:
Benzerlik arama hesaplaması
Benzerlik arama hesaplaması aşağıdaki formülü kullanır:
burada dist
sorgu q
ile dizin girişi x
arasındaki Öklid uzaklığıdır:
Vektör Arama'yı ayarlama
Databricks Vektör Araması'nı kullanmak için aşağıdakileri oluşturmanız gerekir:
- Vektör arama uç noktası. Bu uç nokta vektör arama dizinine hizmet eder. REST API veya SDK kullanarak uç noktayı sorgulayabilir ve güncelleştirebilirsiniz. Uç noktalar, dizinin boyutunu veya eşzamanlı istek sayısını destekleyecek şekilde otomatik olarak ölçeklendirilir. Yönergeler için bkz . Vektör arama uç noktası oluşturma.
- Vektör arama dizini. Vektör arama dizini bir Delta tablosundan oluşturulur ve gerçek zamanlı yaklaşık en yakın komşu aramaları sağlamak için iyileştirilmiştir. Aramanın amacı, sorguya benzer belgeleri tanımlamaktır. Vektör arama dizinleri içinde görünür ve Unity Kataloğu tarafından yönetilir. Yönergeler için bkz . Vektör arama dizini oluşturma.
Ayrıca, Databricks'in eklemeleri hesaplamasını seçerseniz, ekleme modeli için bir model sunum uç noktası da oluşturmanız gerekir. Yönergeler için bkz . Uç noktaları sunan temel model oluşturma.
Model sunum uç noktasını sorgulamak için REST API'yi veya Python SDK'sını kullanırsınız. Sorgunuz Delta tablosundaki herhangi bir sütunu temel alan filtreler tanımlayabilir. Ayrıntılar için bkz . Sorgularda filtreleri kullanma, API başvurusu veya Python SDK başvurusu.
Gereksinimler
- Unity Kataloğu etkin çalışma alanı.
- Sunucusuz işlem etkinleştirildi.
- Kaynak tabloda Veri Akışını Değiştir etkinleştirilmelidir.
- Dizin oluşturmak için katalog şemalarında CREATE TABLE ayrıcalıkları.
- Kişisel erişim belirteçleri etkinleştirildi.
Veri koruma ve kimlik doğrulaması
Databricks, verilerinizi korumak için aşağıdaki güvenlik denetimlerini uygular:
- Vektör Arama'ya yapılan her müşteri isteği mantıksal olarak yalıtılmış, kimliği doğrulanmış ve yetkilendirilmiştir.
- Databricks vektör araması bekleyen (AES-256) ve aktarımdaki (TLS 1.2+) tüm verileri şifreler.
Databricks Vektör Araması iki kimlik doğrulama modunu destekler:
- Kişisel Erişim Belirteci - Vektör Arama ile kimlik doğrulaması yapmak için kişisel erişim belirteci kullanabilirsiniz. Bkz. kişisel erişim kimlik doğrulama belirteci. SDK'yı bir not defteri ortamında kullanırsanız, kimlik doğrulaması için otomatik olarak bir PAT belirteci oluşturur.
- Hizmet Sorumlusu Belirteci - Yönetici bir hizmet sorumlusu belirteci oluşturabilir ve bunu SDK veya API'ye geçirebilir. Bkz. hizmet sorumlularını kullanma. Üretim kullanım örnekleri için Databricks bir hizmet sorumlusu belirteci kullanılmasını önerir.
Müşteri Tarafından Yönetilen Anahtarlar (CMK), 8 Mayıs 2024 veya sonrasında oluşturulan uç noktalarda desteklenir. CMK için Vektör Arama desteği Genel Önizleme aşamasındadır.
Vektör Arama kullanımını ve maliyetlerini izleme
Faturalanabilir kullanım sistemi tablosu, vektör arama dizinleri ve uç noktalarıyla ilişkili kullanımı ve maliyetleri izlemenize olanak tanır. Örnek bir sorgu aşağıda verilmiştir:
SELECT *
FROM system.billing.usage
WHERE billing_origin_product = 'VECTOR_SEARCH'
AND usage_metadata.endpoint_name IS NOT NULL
Faturalama kullanım tablosunun içeriği hakkında ayrıntılı bilgi için bkz . Faturalanabilir kullanım sistemi tablosu başvurusu. Ek sorgular aşağıdaki örnek not defterinde yer alır.
Vektör Arama sistem tabloları sorgular not defteri
Kaynak ve veri boyutu sınırları
Aşağıdaki tabloda vektör arama uç noktaları ve dizinleri için kaynak ve veri boyutu sınırları özetlenir:
Kaynak | Ayrıntı düzeyi | Sınır |
---|---|---|
Vektör arama uç noktaları | Çalışma alanı başına | 100 |
Eklemeler | Uç nokta başına | 100,000,000 |
Boyut ekleme | Dizin başına | 4096 |
Dizinler | Uç nokta başına | 20 |
Sütunlar | Dizin başına | 20 |
Sütunlar | Desteklenen türler: Bayt, kısa, tamsayı, uzun, kayan, çift, boole, dize, zaman damgası, tarih | |
Meta veri alanları | Dizin başına | 20 |
Dizin adı | Dizin başına | 128 karakter |
Vektör arama dizinlerinin oluşturulması ve güncelleştirilmesinde aşağıdaki sınırlar geçerlidir:
Kaynak | Ayrıntı düzeyi | Sınır |
---|---|---|
Delta Eşitleme Dizini için satır boyutu | Dizin başına | 100 KB |
Delta Sync dizini için kaynak sütun boyutu ekleme | Dizin Başına | 32764 bayt |
Doğrudan Vektör dizini için toplu upsert istek boyutu sınırı | Dizin Başına | 10 MB |
Doğrudan Vektör dizini için toplu silme isteği boyut sınırı | Dizin Başına | 10 MB |
Vektör araması için sorgu API'sine aşağıdaki sınırlar uygulanır.
Kaynak | Ayrıntı düzeyi | Sınır |
---|---|---|
Sorgu metni uzunluğu | Sorgu başına | 32764 |
Döndürülen en fazla sonuç sayısı | Sorgu başına | Kategori 10,000 |
Sınırlamalar
- PrivateLink şu anda seçili müşteri kümesiyle sınırlıdır. Özelliği PrivateLink ile kullanmak istiyorsanız Databricks hesap temsilcinize başvurun.
- Düzenlenen çalışma alanları desteklenmez, bu nedenle bu işlevsellik HIPAA uyumlu değildir.
- Satır ve sütun düzeyi izinleri desteklenmez. Ancak, filtre API'sini kullanarak kendi uygulama düzeyi ACL'lerinizi uygulayabilirsiniz.
Ek kaynaklar
- Alma Artırılmış Nesil (RAG), Temel Modeller ve Vektör Arama ile LLM sohbet botunuzu dağıtın.
- Vektör Arama dizini oluşturma ve sorgulama.
- Örnek not defterleri
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin