Поделиться через


Функция vector_search

Область применения:флажок Databricks SQL

Внимание

Эта функция предоставляется в режиме общедоступной предварительной версии.

Эта vector_search() функция позволяет запрашивать индекс поиска вектора вектора мозаики с помощью SQL.

Требования

Синтаксис

vector_search(index, query, num_results)

Аргументы

Все аргументы должны передаваться по имени, например vector_search(index => indexName, query => queryText).

  • index STRING: константа, полное имя существующего индекса векторного поиска в той же рабочей области для вызовов. Определяющий объект должен иметь разрешение "Select" для индекса.
  • query STRING: выражение, строка для поиска в индексе.
  • num_results (необязательно): целочисленная константа, максимальное число возвращаемых записей. Значение по умолчанию равно 10.

Возвраты

table наиболее совпадающих записей из индекса. Включены все элементы columns индекса.

Примеры

Выполните поиск по индексу номеров SKU продукта, чтобы найти аналогичные продукты по имени.


SELECT * FROM VECTOR_SEARCH(index => "main.db.my_index", query => "iphone", num_results => 2)
ID Название продукта
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
пиксель 8 2 30 Пиксель 8
пиксель 8 2 40 Пиксель 8a

Ограничения

Следующие ограничения применяются во время предварительной версии:

  • Типы индексов DIRECT_ACCESS запросов не поддерживаются.
  • Индексы с embedding_vector_columns не поддерживаются.
  • Входы parametersfilters_json или columns не поддерживаются.
  • Поиск векторов с num_results более чем 100 не поддерживается.
  • Пользователи, у которых нет права доступа на чтение к исходному table, не могут использовать vector_search().
  • Поиск по сходству с гибридными ключевыми словами не поддерживается с помощью vector_search().
  • vector_search нельзя использовать с конечными точками обслуживания моделей с помощью api-интерфейсов модели Foundation, подготовленных пропускной способностью.