vector_search
函式
適用於: Databricks SQL
重要
這項功能處於公開預覽狀態。
vector_search()
函式可讓你使用 SQL 查詢 Mosaic AI 向量搜尋索引。
需求
- 這個函式不適用於傳統 SQL 倉儲。
- 如需詳細資訊,請參閱 Databricks SQL 價格頁面。
- 此函式適用於支援 Mosaic AI Vector Search 的區域。
語法
vector_search(index, query, num_results)
引數
所有引數都必須以名稱傳遞,例如 vector_search(index => indexName, query => queryText)
。
index
:STRING
常數,相同工作區中,用於叫用之現有向量搜尋索引的完整名稱。 定義者必須有索引的「選取」權限。query
:STRING
表達式,索引中要搜尋的字串。num_results
(選擇性):整數常數,要傳回的記錄數目上限。 預設為 10。
傳回
索引中最相符記錄的資料表。 索引的所有資料行都包含在內。
範例
搜尋產品 SKU 的索引,依名稱尋找類似的產品。
SELECT * FROM VECTOR_SEARCH(index => "main.db.my_index", query => "iphone", num_results => 2)
識別碼 | 產品名稱 |
---|---|
10 | iPhone |
20 | iPhone SE |
下列範例使用 LATERAL 子查詢同時搜尋多個字詞。
SELECT
query_txt,
query_id,
search.*
FROM
query_table,
LATERAL(
SELECT * FROM VECTOR_SEARCH(index => "main.db.my_index", query => query_txt, num_results => 2)
) as search
query_txt |
query_id | search.id | search.product_name |
---|---|---|---|
iphone | 1 | 10 | iPhone 10 |
iphone | 1 | 20 | iPhone SE |
pixel 8 | 2 | 30 | Pixel 8 |
pixel 8 | 2 | 40 | Pixel 8a |
限制
預覽期間有下列限制:
- 不支援查詢
DIRECT_ACCESS
索引類型。 - 不支援有
embedding_vector_columns
的索引。 - 不支援輸入參數
filters_json
或columns
。 - 不支援
num_results
大於 100 的向量搜尋。 - 沒有來源資料表讀取權限的使用者無法使用
vector_search()
。 vector_search
無法搭配使用基礎模型 API 佈建之輸送量的模型服務端點使用。