Función vector_search
Se aplica a Databricks SQL
Importante
Esta característica está en versión preliminar pública.
La función vector_search()
permite consultar un índice de vector de búsqueda de IA de mosaico mediante SQL.
Requisitos
- Esta función no está disponible en los almacenes de SQL clásicos.
- Para más información, consulte página de precios de SQL de Databricks.
- Esta función está disponible en regiones en las que el vector de búsqueda de Mosaic AI está admitido.
Sintaxis
vector_search(index, query, num_results)
Argumentos
Todos los argumentos deben pasarse por nombre, como vector_search(index => indexName, query => queryText)
.
index
: unaSTRING
constante, el nombre completo de un índice de vector de búsqueda existente en la misma área de trabajo para las invocaciones. El definidor debe tener el permiso "Seleccionar" en el índice.query
: unaSTRING
expresión, la cadena que se va a buscar en el índice.num_results
(opcional): una constante entera, el número máximo de registros que se van a devolver. El valor predeterminado es 10.
Devoluciones
Tabla de los registros coincidentes principales del índice. Se incluyen todas las columnas del índice.
Ejemplos
Busque en un índice de SKU de producto para buscar productos similares por nombre.
SELECT * FROM VECTOR_SEARCH(index => "main.db.my_index", query => "iphone", num_results => 2)
ID | Nombre de producto |
---|---|
10 | iPhone |
20 | iPhone SE |
En el ejemplo siguiente se buscan varios términos al mismo tiempo mediante una subconsulta 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 |
píxel 8 | 2 | 30 | Píxel 8 |
píxel 8 | 2 | 40 | Píxel 8a |
Limitaciones
Se aplican las siguientes limitaciones durante la versión preliminar:
- No se admiten consultas
DIRECT_ACCESS
tipos de índice. - No se admiten índices con
embedding_vector_columns
. - No se admiten parámetros de entrada
filters_json
ocolumns
. - No se admite la vector de búsqueda con
num_results
mayor que 100. - Los usuarios que no tienen acceso READ a la tabla de origen no pueden utilizar
vector_search()
. vector_search
no se puede utilizar con puntos de conexión de servicio de modelos mediante el rendimiento aprovisionado de las API de Foundation Model.