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 veya query_text kullanınquery_vector.
SELECT * FROM vector_search(
index,
{ query_text | query_vector },
[ num_results ]
)
Databricks Runtime 15.2 ve altında, dizinde nelerin aranacağını belirtmek için kullanın query .
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ğırmalarSTRINGiçin aynı çalışma alanında var olan bir vektör arama dizininin tam adı olan sabit. Tanımlayıcının dizin üzerinde izni olmalıdırSelect. - Dizinde aranacak ifadeyi belirtmek için aşağıdakilerden birini kullanın:
- Databricks Runtime 15.3 veya üzeri için,
query_textekleme kaynak sütununda belirli bir metin dizesini aramak için kullanın. Sorgu, dizinde aranacak dizenin birSTRINGifadesi 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_vectorkullanın. Bu bağımsız değişken, kendi kendine yönetilen vektörleri kullanarak Delta Eşitleme 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
querykullanı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. -
query_type(isteğe bağlı): Vektör arama dizininizde gerçekleştirmek istediğiniz arama türü.ANNAçıkça belirtilmemişse varsayılan değeridir.-
query_typeiseANN,query_textyaklaşık en yakın komşu araması veya benzerlik araması yapmak için veyaquery_vectorbelirtilmelidir. -
query_typeiseHYBRIDbelirtilmelidirquery_text. Karma arama için hemquery_texthem dequery_vectorbelirtebilirsiniz. Bu örnekte karma arama, bir anahtar sözcük aramasının hedef olarak değişmez metni kullandığı benzerlik araması ve anahtar sözcük aramasının birleşimi anlamına gelir.
-
Aşağıdaki tabloda, ekleme modeline sahip bir Delta Sync dizininiz olduğunda hangi bağımsız değişkenlerin kullanılabileceğini özetlemektedir:
query_type |
query_text |
query_vector |
Description |
|---|---|---|---|
| ANN (yaklaşık en yakın komşu veya benzerlik araması olarak da bilinir) | ✓ |
|
|
| ANN (yaklaşık en yakın komşu veya benzerlik araması olarak da bilinir) | ✓ | Benzerlik araması için kullanın query_vector . |
|
| Hibrit | ✓ |
|
|
| Hibrit | ✓ | ✓ | Anahtar sözcük araması için kullanın query_text ve benzerlik araması için kullanın query_vector . |
Aşağıdaki tabloda, ekleme modeli olmayan bir Delta eşitleme dizininiz olduğunda kullanılabilecek farklı senaryolar ve bağımsız değişkenler açıklanmaktadır:
query_type |
query_text |
query_vector |
Description |
|---|---|---|---|
ANN (yaklaşık en yakın komşu veya benzerlik araması olarak da bilinir) |
✓ | Benzerlik araması için kullanınquery_vector . Benzerlik araması, arama hedefi olarak bir ekleme vektöru gerektirir. Ekleme vektörlerini hesaplamak için bu senaryoda bir ekleme modeli kullanılamadığından, bunu sağlamanız gerekir. |
|
| Hibrit | ✓ | ✓ | Belirli bir metin dizesi ve vektör için karma arama için hem hem de query_textquery_vectorbelirtin. |
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.
Karma arama sorguları
Aşağıdaki karma arama örneği, vektör arama dizininin metin veya meta verilerinde sağlanan terimleri bulmak için aşağıdaki arama türlerini birleştirir:
- Vektör benzerliği araması: için benzer anlamsal anlamlar bulmak için
Wi-Fi issues. - Anahtar sözcük araması: Anahtar sözcük dizininde bulmak
Wi-Fi issues LMP-9R2için.
SELECT * FROM vector_search(
index => 'main.support_docs.index',
query_text => 'Wi-Fi issues LMP-9R2',
query_type => 'HYBRID',
num_results => 3)
| doc_id | title | product_code |
|---|---|---|
| 1403 | Wi-Fi Sorun Giderme Kılavuzu — LMP-9R2 | LMP-9R2 |
| 1332 | LMP-9R2 Cihazları için Bilinen Bağlantı Sorunları | LMP-9R2 |
| 1271 | Genel Wi-Fi Sorun Giderme Kılavuzu | LMP-8R2 |
Aşağıdaki karma arama örneği, terimi query_textiçin hem query_vector hem de Wi-Fi issues LMP-9R2 belirtir. Bu örnekte anahtar sözcük araması, bir şirkete özgü özel terimlerde (bu örnekte "LMP-9R2" gibi) daha iyi performans gösterirken, genel veri kümelerinde genellikle eğitilen vektör araması "LMP-9R2" gibi terimleri tanımaz.
SELECT * FROM vector_search(
index => 'main.support_docs.index',
query_text => 'Wi-Fi issues LMP-9R2',
query_vector => array( 0.0213, 0.1045, 0.0871, 0.0562, 0.1459, ... 0.0131),-- a self computed embedding of the `query_text` param
query_type => 'HYBRID',
num_results => 3 )
| doc_id | title | product_code |
|---|---|---|
| 1403 | Wi-Fi Sorun Giderme Kılavuzu — LMP-9R2 | LMP-9R2 |
| 1332 | LMP-9R2 Cihazları için Bilinen Bağlantı Sorunları | LMP-9R2 |
| 1271 | Genel Wi-Fi Sorun Giderme Kılavuzu | LMP-8R2 |
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 queryyerine 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 queryyerine 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_ACCESSdesteklenmez. -
filters_jsonveyacolumnsgiriş parametreleri desteklenmez. - 100'den büyük vektör araması
num_resultsdesteklenmez. -
vector_searchTemel Model API'leri tarafından sağlanan aktarım hızı kullanılarak uç noktalara hizmet veren modellerle kullanılamaz.