다음을 통해 공유


vector_search 함수

적용 대상: 예로 표시된 확인 Databricks SQL

Important

이 기능은 공개 미리 보기 상태입니다.

vector_search() 함수를 사용하면 SQL을 사용하여 Mosaic AI 벡터 검색 인덱스를 쿼리할 수 있습니다.

요구 사항

구문

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 프로비전된 처리량을 사용하여 엔드포인트를 제공하는 모델과 함께 사용할 수 없습니다.