시맨틱 찾기 수행

지정된 필드에서 시맨틱 찾기를 수행하고, 사용할 해당 검색 텍스트와 모델 또는 해당 임베딩 벡터에 대해 지정된 레코드 세트를 제한합니다.

다음도 참조하십시오. 

옵션 

  • 쿼리 기준은 쿼리가 자연어 (텍스트)인지 아니면 벡터 데이터를 포함하는지 여부를 지정합니다.

  • 레코드 세트모든 레코드 또는 현재 찾기 세트를 검색할지 여부를 선택합니다.

  • 대상 필드는 검색할 텍스트 또는 컨테이너 필드를 지정합니다. 필드의 내용은 텍스트 필드의 경우 JSON 배열, 컨테이너 필드의 경우 이진 데이터인 임베딩 벡터여야 합니다.

  • 반환 횟수는 찾기 세트로 반환할 의미적으로 유사한 레코드의 수에 대한 숫자 표현식입니다. 지정하지 않을 시 기본값은 최대 10개의 레코드입니다.

  • 코사인 유사도 조건은 데이터의 코사인 유사도가 코사인 유사도 값과 어떻게 비교되는지 지정합니다. 지정하지 않을 시 찾기 세트는 코사인 유사도 조건에 의해 제한되지 않습니다.

  • 코사인 유사도 값은 데이터가 의미적으로 유사한지, 다른지 여부를 결정하기 위해 코사인 유사도 조건과 함께 사용되는 임계값입니다. 이 숫자 표현식은 -1(비유사) 및 1(유사) 사이의 값을 포함(-1, 1 포함)해야 합니다.

쿼리 기준자연어일 때만 다음 옵션을 사용할 수 있습니다.

  • 계정 이름은 이 스크립트 단계에서 사용할 AI 계정의 텍스트 표현식입니다. 현재 파일에서 AI 계정 구성 스크립트 단계를 사용하여 계정을 설정하고 이 스크립트 단계가 실행되기 전에 언제든지 이 이름을 할당하십시오.

  • 임베딩 모델은 임베딩 벡터를 생성하는 모델의 이름입니다. 모델 제공자에서 사용할 수 있는 텍스트 표현식으로 모델 이름을 지정하십시오.

  • 텍스트는 텍스트를 찾을 수 있는 텍스트 표현입니다. 이 텍스트는 유사성을 위해 대상 필드의 임베딩 벡터와 비교하도록 모델로 전송됩니다.

쿼리 기준벡터 데이터일 때만 다음 옵션을 사용할 수 있습니다.

  • 찾을 텍스트를 나타내는 임베딩 벡터입니다. 이는 컨테이너 필드에 대한 참조와 같은 컨테이너 데이터를 반환하는 표현식입니다. 결과는 이 벡터 데이터가 나타내는 텍스트와 유사한 의미를 갖습니다.

호환성 

제품 지원
FileMaker Pro
FileMaker Go
FileMaker WebDirect
FileMaker Server
FileMaker Cloud
FileMaker Data API
사용자 설정 웹 발행

다음 버전에서 시작됨 

21.0

설명 

이 스크립트 단계는 찾기 수행 스크립트 단계와 같이 문자 키워드 일치를 찾는 대신 대상 필드의 내용이 쿼리와 의미적으로 유사한 레코드를 찾습니다.

이 스크립트 단계에는 쿼리 기준 옵션에 의해 결정된 다음 두 가지 작동 모드가 있습니다.

  • 자연어로 설정하면, 텍스트 옵션에서 자연어 텍스트로 쿼리를 제공합니다. 이 스크립트 단계는 임베딩 벡터로의 변환을 위해 지정된 모델로 해당 쿼리 텍스트를 보냅니다. 그렇기 때문에 이 모드에 AI 계정 이름과 임베딩 모델이 필요합니다.

  • 벡터 데이터로 설정하면, 임베딩 벡터를 쿼리의 컨테이너 데이터로 제공합니다. 특정 쿼리를 자주 사용하는 경우, 모델에서 자주 얻는 것보다 해당 쿼리에 대한 벡터를 한 번 삽입하고 저장하는 것이 더 효율적일 수 있습니다.

현재 테이블의 모든 레코드 또는 현재 발견된 세트의 레코드(레코드 세트 옵션에서 설정)부터 이 스크립트 단계는 대상 필드의 데이터를 의미론적 유사성(또는 비유사성)에 대한 쿼리와 비교합니다. 결과는 코사인 유사도 조건을 충족하는 반환 횟수 레코드를 넘지 않는 제한된(좁은) 세트입니다. 결과 찾기 세트는 내림차순 코사인 유사도 순서대로 정렬되므로 가장 관련성이 높은 기록이 첫 번째로 표시됩니다.

예제 1 

AI 계정을 구성하고 미팅 세부 정보 레이아웃으로 이동한 다음 모든 기록에서 Meetings::Note 필드 내용에 대한 임베딩 벡터를 포함하는 Meetings::Note_Embedding 컨테이너 필드에서 텍스트(자연어)에 대한 시맨틱 찾기를 수행합니다(찾기 세트에 임베딩 삽입예제 1 참조). 더 유용한 결과를 얻으려면 반환 횟수를 10으로 제한하고 텍스트와 Meetings::Note_Embedding 필드 내용 간의 코사인 유사도가 0.4보다 커야 합니다. 결과 찾기 세트는 가장 관련성이 높은 레코드부터 정렬됩니다.

복사
AI 계정 구성 [계정 이름: "my-account" ; 모델 제공자: OpenAI ; API 키: "sk-RZCtpWT..." ]  

레이아웃으로 이동 [ "미팅 세부 사항" (미팅) ; 애니메이션: 없음 ]  

시맨틱 찾기 수행 [ 쿼리 기준: 자연어 ; 계정 이름: "my-account" ; 임베딩 모델: "text-embedding-3-small" ; 텍스트: "채용, 직업 정의, 교육 계획" ; 레코드 세트: 모든 레코드 ; 대상 필드: Meetings::Note_Embedding ; 반환 수: 10 ; 코사인 유사도 조건: 다음보다 큼 ; 코사인 유사도 값: .4 ]

예제 2 

AI 계정을 구성하고, 미팅 세부 정보 레이아웃으로 이동한 다음, 사용자에게 텍스트를 찾을 것을 요청합니다. GetEmbedding 함수가 해당 텍스트를 모델로 보낸 다음, 필드 설정이 전역 컨테이너 필드 Meetings::Input에 임베딩 벡터를 저장합니다. Meetings::Note_Embedding 컨테이너 필드에 Meetings::Note 필드의 내용에 대한 임베딩 벡터가 포함되어 있다고 가정하면(찾기 세트에 임베딩 삽입예제 1 참조), 시맨틱 찾기를 수행하면 Meetings::Input의 벡터 데이터를 모든 레코드의 Meetings::Note_Embedding과 비교하고 반환 수 및 유사성 기준을 충족하는 찾기 세트를 반환합니다.

복사
AI 계정 구성 [ 계정 이름: "my-account" ; 모델 제공자: OpenAI ; API 키: "sk-RZCtpWT..." ]  

레이아웃으로 이동 [ "미팅 세부 사항" (미팅) ; 애니메이션: 없음 ]  

사용자 설정 대화 상자 보기 [ "다음에 대한 메모가 있는 미팅 찾기:" ; $Input ] 
필드 설정 [ Meetings::Input ; GetEmbedding ( "my-account" ; "text-embedding-3-small" ; $Input ]  

시맨틱 찾기 수행 [ 쿼리 기준: 벡터 데이터 ; Meetings::Input ; 레코드 세트: 모든 레코드 ; 대상 필드: Meetings::Note_Embedding ; 반환 횟수: 10 ; 코사인 유사도 조건: 다음보다 큼 ; 코사인 유사도 값: .4 ]