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.
Şunlar için geçerlidir: Databricks SQL
Önemli
Bu özellik Genel Önizlemededir.
işlevi, vector_search()
SQL kullanarak Mozaik AI Vektör Arama dizinini sorgulamanıza olanak tanır.
Gereksinimler
- Bu işlev klasik SQL ambarlarında kullanılamaz.
- Daha fazla bilgi için bkz . Databricks SQL fiyatlandırma sayfası.
- Bu işlev, Mozaik AI Vektör Arama'nin desteklendiği
bölgelerde kullanılabilir.
Söz dizimi
Databricks Runtime 15.3 ve üzerinde, dizinde ne aranacağını belirtmek için query_text
veya query_vector
kullanabilirsiniz.
SELECT * FROM vector_search(
index,
{ query_text | query_vector },
[ num_results ]
)
Databricks Runtime 15.2 ve altında, dizinde ne aranacağını belirtmek için query
kullanabilirsiniz.
SELECT * FROM vector_search(
index, query, num_results
)
Bağımsız değişkenler
Tüm bağımsız değişkenler gibi vector_search(index => indexName, query_text => queryText)
ada göre geçirilmelidir.
-
index
: ÇağırmalarSTRING
için aynı çalışma alanında var olan bir vektör arama dizininin tam adı olan sabit. Tanımlayıcının dizinde "Seç" izni olmalıdır. - Dizinde aranacak ifadeyi belirtmek için aşağıdakilerden birini kullanın:
- Databricks Runtime 15.3 veya üzeri için,
query_text
ekleme kaynak sütununda belirli bir metin dizesini aramak için kullanın. Sorgu, dizinde aranacak dizenin birSTRING
ifadesi olmalıdır. - Databricks Runtime 15.3 veya üzeri için, Delta Sync Index'inizin gömme vektör sütununda belirli bir vektör aramak için
query_vector
kullanın. Bu bağımsız değişken, kendi kendine yönetilen vektörleri kullanarak Delta Sync Dizininde arama yapmak için gereklidir. Sorgu, dizinde aranacak ekleme vektörününARRAY<FLOAT>
,ARRAY<DOUBLE>
veyaARRAY<DECIMAL(_, _)>
ifadesi olmalıdır. - Databricks Runtime 15.2 veya altında, dizininizde aranacak dizeyi belirtmek için
query
kullanın.
- Databricks Runtime 15.3 veya üzeri için,
-
num_results
(isteğe bağlı): Tamsayı sabiti, döndürülecek maksimum kayıt sayısı. Varsayılan değer 10'dır.
Döndürülenler
Dizinden en çok eşleşen kayıtların tablosu. Dizindeki tüm sütunlar dahildir.
Örnekler
Aşağıdaki bölümlerde farklı dizin aramaları için örnek SQL sorguları gösterilmektedir.
Kaynak sütunları ekleme ile dizinlerde metin sorguları
Benzer ürünleri ada göre bulmak için ürün SKU'larının dizinini arayın. Aşağıdaki örnek, yalnızca Databricks Runtime 15.3 ve sonraki sürümleri için desteklenen query_text
kullanır. Databricks Runtime 15.2 ve altı için query
yerine query_text
kullanın.
SELECT * FROM VECTOR_SEARCH(index => "main.db.my_index", query_text => "iphone", num_results => 2)
Kimlik | Ürün adı |
---|---|
10 | iPhone |
20 | iPhone SE |
Aşağıdaki örnek, LATERAL alt sorgusu kullanarak aynı anda birden çok terim arar.
SELECT
query_txt,
query_id,
search.*
FROM
query_table,
LATERAL(
SELECT * FROM VECTOR_SEARCH(index => "main.db.my_index", query_text => query_txt, num_results => 2)
) as search
query_txt |
sorgu_kimliği | search.id | search.product_name |
---|---|---|---|
iphone | 1 | 10 | iPhone 10 |
iphone | 1 | 20 | iPhone SE |
piksel 8 | 2 | 30 | Piksel 8 |
piksel 8 | 2 | 40 | Piksel 8a |
Kaynak sütunları ekleme ile dizinlerde metin sorguları
Önceden hesaplanmış gömüler içeren bir görüntü dizininde arama yaparak, gömüleri kullanarak benzer görüntüleri bulun. Aşağıdaki örnek, yalnızca Databricks Runtime 15.3 ve sonraki sürümleri için desteklenen query_vector
kullanır. Databricks Runtime 15.2 ve altı için query
yerine query_vector
kullanın.
SELECT * FROM VECTOR_SEARCH(index => "main.db.my_index", query_vector => ARRAY(0.45, -0.35, 0.78, 0.22), num_results => 3)
SELECT * FROM VECTOR_SEARCH(index => "main.db.my_index", query_vector => ARRAY(0.45F, -0.35F, 0.78F, 0.22F), num_results => 3)
SELECT * FROM VECTOR_SEARCH(index => "main.db.my_index", query_vector => ARRAY(0.45D, -0.35D, 0.78D, 0.22D), num_results => 3)
Kimlik | görsel_adı | görüntü yerleştirme |
---|---|---|
28 | horse.jpg | [0.46, -0.34, 0.77, 0.21] |
27 | donkey.jpg | [0.44, -0.36, 0.79, 0.23] |
5 | elk.jpg | [0.23, -0.44, 0.77, 0.80] |
Aşağıdaki örnek, LATERAL alt sorgusu kullanarak aynı anda birden çok terim arar.
SELECT
query_embedding,
search.*
FROM
query_table,
LATERAL(
SELECT * FROM VECTOR_SEARCH(index => "main.db.my_index", query_vector => image_embedding, num_results => 1)
) as search
query_embedding | search.id | arama.görüntü_adı | arama_görüntü_gömme |
---|---|---|---|
[0.45, -0.35, 0.78, 0.22] | 27 | donkey.jpg | [0.46, -0.34, 0.77, 0.21] |
[0.14, 0.29, 0.30, -0.90] | 3 | landscape.jpg | [0.15, 0.30, 0.31, -0.91] |
[0.23, -0.44, 0.77, 0.80] | 10 | golden_gate_bridge.jpg | [0.28, -0.40, 0.23, 0.81] |
[0.88, 0.88, 0.88, 0.88] | 44 | blank.jpg | [0.88, 0.88, 0.88, 0.88] |
Sınırlamalar
Önizleme sırasında aşağıdaki sınırlamalar geçerlidir:
- Dizin türlerini sorgulama
DIRECT_ACCESS
desteklenmez. -
filters_json
veyacolumns
giriş parametreleri desteklenmez. - 100'den büyük vektör araması
num_results
desteklenmez. -
vector_search
Temel Model API'leri tarafından sağlanan aktarım hızı kullanılarak uç noktalara hizmet veren modellerle kullanılamaz.