AI_SIMILARITY¶
입력된 임베딩 벡터의 벡터 코사인 유사도 값을 기반으로 유사도 점수를 계산합니다. 현재 텍스트와 이미지 유사도 계산을 모두 지원합니다.
구문¶
문자열 또는 이미지 입력에 AI_SIMILARITY 적용:
AI_SIMILARITY( <input1>, <input2> )
구성 오브젝트 지정:
AI_SIMILARITY( <input1>, <input2>, <config_object> )
인자¶
필수:
입력 문자열을 지정하는 경우:
input1
,{input2}
유사도 점수를 계산하기 위해 비교하고 사용하는 텍스트가 포함된 문자열입니다.
입력 이미지를 지정하는 경우:
input1
,input2
비교하려는 이미지를 참조하는 FILE 데이터 타입 입니다.
참고
AI_SIMILARITY 는 텍스트와 이미지 입력 간의 유사도 계산을 지원하지 않습니다.
선택 사항:
config_object
모델을 구성하는 데 사용되는 키-값 페어를 포함하는 OBJECT 입니다.
키 |
타입 |
기본값 |
설명 |
---|---|---|---|
|
STRING 입력의 경우 기본값은 |
임베딩에 사용되는 임베딩 모델입니다. 지원되는 값은 다음과 같습니다.
|
반환¶
입력에 대한 두 임베딩 벡터 간의 벡터 유사도를 사용하여 계산된 유사도 점수를 나타내는 -1~1 범위의 실수 값을 반환합니다.
액세스 제어 요구 사항¶
사용자는 SNOWFLAKE.CORTEX_USER 데이터베이스 역할 이 부여된 역할을 사용해야 합니다. 이 권한에 대한 자세한 내용은 필수 권한 섹션을 참조하십시오.
예¶
AI_SIMILARITY: 텍스트¶
이 예제에서 함수는 '나는 이 요리가 좋아요'
와 '이 요리는 아주 좋아요'
라는 두 문자 입력 사이의 유사도 점수를 계산합니다.
SELECT AI_SIMILARITY('I like this dish', 'This dish is very good');
텍스트 열에 대해서도 유사도를 계산할 수 있습니다.
SELECT
review
FROM restaurant_reviews
ORDER BY SNOWFLAKE.CORTEX.AI_SIMILARITY(review, 'I love the food here!');
AI_SIMILARITY: 이미지¶
이 예제에서 함수는 Snowflake 스테이지 @file_stage
에 저장된 두 이미지 cat.jpg
와 2cats.jpg
사이의 유사도 점수를 계산합니다.
SELECT AI_SIMILARITY(TO_FILE('@file_stage', 'cat.jpg'), TO_FILE('@file_stage', '2cats.jpg'));
또한 이미지가 포함된 스테이지에 대해 Snowflake 디렉터리 테이블을 사용하여 이미지 간의 유사도를 계산할 수도 있습니다.
SELECT
to_file('@file_stage', relative_path)
FROM directory(@file_stage)
WHERE snowflake.cortex.ai_similarity(f, to_file(@file_stage, 'cat.jpg')) >= 0.5;
제한 사항¶
Snowflake AI 함수는 동적 테이블 증분 새로 고침을 지원하지 않습니다.
다음 스테이지 유형의 스테이지 파일로 만든 FILEs 에서는 Snowflake AI 함수가 작동하지 않습니다.
암호화 모드
TYPE = 'SNOWFLAKE_FULL'
이 있는 내부 스테이지고객 측에서 암호화된 모드가 있는 외부 스테이지:
TYPE = 'AWS_CSE'
TYPE = 'AZURE_CSE'
사용자 스테이지, 테이블 스테이지
큰따옴표로 묶인 이름을 가진 스테이지