共用方式為


vector_search函式

適用於:核取記號為「是」 Databricks SQL

重要

這項功能處於公開預覽狀態

vector_search() 函式可讓你使用 SQL 查詢 Mosaic AI 向量搜尋索引。

需求

語法

vector_search(index, query, num_results)

引數

所有引數都必須以名稱傳遞,例如 vector_search(index => indexName, query => queryText)

  • indexSTRING 常數,相同工作區中,用於叫用之現有向量搜尋索引的完整名稱。 定義者必須有索引的「選取」權限。
  • querySTRING 表達式,索引中要搜尋的字串。
  • 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_jsoncolumns
  • 不支援 num_results 大於 100 的向量搜尋。
  • 沒有來源資料表讀取權限的使用者無法使用 vector_search()
  • vector_search 無法搭配使用基礎模型 API 佈建之輸送量的模型服務端點使用。