vector_search
함수
적용 대상: Databricks SQL
Important
이 기능은 공개 미리 보기 상태입니다.
이 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)
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 |
pixel 8 | 2 | 30 | Pixel 8 |
pixel 8 | 2 | 40 | Pixel 8a |
제한 사항
공개 미리 보기에서는 다음 제한 사항이 적용됩니다.
DIRECT_ACCESS
인덱스 유형 쿼리는 지원되지 않습니다.embedding_vector_columns
를 포함하는 인덱스는 지원되지 않습니다.filters_json
또는columns
의 입력 매개 변수는 지원되지 않습니다.num_results
가 100보다 큰 벡터 검색은 지원되지 않습니다.- 소스 테이블에 대한 READ 액세스 권한이 없는 사용자는
vector_search()
를 사용할 수 없습니다. vector_search
는 기본 모델 API 프로비전된 처리량을 사용하여 엔드포인트를 제공하는 모델과 함께 사용할 수 없습니다.