찾기 세트에 임베딩 삽입
찾기 세트의 모든 레코드의 경우, 원본 필드에서 임베딩 모델로 데이터를 보내고 반환된 벡터 표현을 대상 필드에 삽입합니다.
다음도 참조하십시오.
옵션
-
계정 이름은 사용할 AI 계정 이름의 텍스트 표현식입니다. 현재 파일에서 AI 계정 구성 스크립트 단계를 사용하여 계정을 설정하고 이 스크립트 단계가 실행되기 전에 언제든지 이 이름을 할당하십시오.
-
임베딩 모델은 임베딩 벡터를 생성하는 모델의 이름입니다. 모델 이름을 텍스트 표현식으로 지정합니다. 지원되는 모델에 대해서는 FileMaker 기술 사양을 참조하십시오.
-
원본 필드는 이 스크립트 단계에서 임베딩 벡터로 변환하기 위해 모델에 값을 보내는 텍스트 필드 또는 컨테이너 필드입니다. 필드가 비어 있으면 모델에 아무것도 전송되지 않으며 대상 필드는 변경되지 않습니다.
-
대상 필드는 반환된 임베딩 벡터를 삽입할 필드를 지정합니다. 텍스트 필드를 지정하면, 반환된 데이터는 텍스트로 저장됩니다. 컨테이너 필드를 지정하면, 반환된 데이터는 이진 데이터로 저장됩니다. 이는 텍스트로 저장될 때보다 작을 수 있으며 임베딩 벡터로 수행되는 추가 처리를 개선할 수 있습니다.
-
대상 콘텐츠 대치는 대상 필드의 내용을 바꿉니다(있는 경우). 이 옵션이 꺼져 있으면 필드가 비어 있는 경우에만 대상 필드에 결과가 추가됩니다. 그렇지 않으면 필드는 변경되지 않습니다. 원본 필드의 내용이 자주 바뀌는 경우, 이 옵션을 켜는 것이 유용합니다.
-
오류 시 계속은 일부 레코드에서 오류가 발생한 후에도 찾기 세트를 계속 처리합니다. 이 옵션을 선택하면 오류가 발생한 레코드가 비어 있어 쉽게 찾고 해결할 수 있습니다. 선택하지 않은 경우 오류가 발생하면 스크립트 단계가 중지됩니다.
-
요약 보기는 임베딩 벡터 삽입이 완료되면 대화 상자를 표시합니다. 대화 상자에는 업데이트, 건너뛰기 또는 오류가 발생한 레코드의 수가 요약되어 있습니다.
-
매개 변수는 JSON 대상체에 대한 텍스트 표현식이며, 다음을 포함할 수 있습니다.
-
FileMaker 전용 매개 변수는 모델에 전송되는 요청의 크기, 수 및 빈도에 대한 제한을 지정합니다. 이를 사용하여 데이터의 양, 사용 중인 모델, 모델 공급자의 토큰 제한 및 모델이 실행 중인 기계의 기술 사양(코어, RAM 등)에 따라 스크립트를 최적화하십시오.
-
모델 제공자에 직접 전달되는 모델 제공자별 매개 변수. 사용 중인 모델에서 지원하는 매개 변수 및 값은 모델 제공자의 설명서를 참조하십시오. AI 계정이 모델 제공자 옵션에 대해 사용자 설정을 지정하면 이러한 매개 변수는 지원되지 않습니다.
자세한 내용은 설명을 참조하십시오.
-
호환성
| 제품 | 지원 |
| FileMaker Pro | 예 |
| FileMaker Go | 예 |
| FileMaker WebDirect | 예 |
| FileMaker Server | 예 |
| FileMaker Cloud | 예 |
| FileMaker Data API | 예 |
| 사용자 설정 웹 발행 | 예 |
다음 버전에서 시작됨
21.0
설명
현재 찾기 세트의 모든 레코드에 대해, 이 스크립트 단계는 대상 필드에 저장된 임베딩 벡터로 변환하기 위해 원본 필드의 값을 지정된 모델로 보냅니다.
임베딩 벡터를 사용하는 방법의 한 가지 예는 이 스크립트 단계 또는 임베딩 삽입 스크립트 단계에서 생성된 벡터 데이터를 쿼리할 수 있는 의미론적 찾기 수행 스크립트 단계입니다.
이미지 및 텍스트 임베딩 벡터의 경우, Claris AI Model Server에서 지원하는 모델을 사용할 수 있습니다. FileMaker Server 도움말의 AI 서비스 구성을 참조하십시오.
매개 변수 옵션의 경우, 필요하다면 JSON 대상체에서 다음 FileMaker 특정 키와 값을 사용하여 이 스크립트 단계의 동작을 조정할 수 있습니다. 키가 지정되지 않았거나 매개 변수 옵션을 사용하지 않으면 기본값이 사용됩니다.
|
매개 변수 키 |
설명 |
기본값 |
값의 범위 |
OpenAI만 |
|
|
각 API 호출로 처리할 최대 레코드 수 |
20 |
1~500 |
— |
|
|
API 호출이 실패할 경우 최대 재시도 횟수 |
5 |
1~100 |
— |
|
|
OpenAI API 호출 사이의 최대 대기 시간(밀리초 단위)입니다. 이는 OpenAI가 분당 받는 요청이 너무 많은 경우에만 사용됩니다. 이 경우, 이 스크립트 단계는 OpenAI API 호출 간에 |
60,000 |
20~3,600,000 |
예 |
|
|
|
8,185 |
0~100,000 |
예 |
|
|
OpenAI로 보내기 전에 1(true)는 원본 필드에서 참고 입력을 자르면 '시맨틱 찾기 수행' 결과의 정확도가 떨어질 수 있습니다. |
1 |
0 또는 1 |
예 |
|
|
레코드 그룹에서 오류가 발생하면, 1(true)은 해당 레코드를 개별적으로 재시도하여 오류가 발생하지 않는 레코드에 대한 데이터를 삽입하고, 오류가 발생한 레코드는 건너뜁니다. 0(false)은 오류가 발생한 전체 레코드 그룹을 건너뛰고 데이터를 생성하지 않습니다. *사용자 지정을 제외한 AI 계정에 지정된 모든 모델 공급자에 대해 기본적으로 비활성화되며, 참고 이 매개 변수를 활성화하면 오류 시 계속 옵션을 겹쳐씁니다. |
0* |
0 또는 1 |
— |
참고 JSONSetElement 함수를 사용하여 JSON 대상체를 생성하는 경우, 유형 매개 변수에 대한 JSONNumber 상수를 사용하십시오.
예를 들어, 이 JSON 대상체는 매개 변수 옵션에서 다음 키를 설정합니다.
{
"MaxRecPerCall" : 40,
"MaxRetryPerWorker" : 10
}
위 표에 나열된 매개 변수는 여러 레코드 처리를 관리하는 FileMaker 전용 매개 변수입니다. 해당 매개 변수는 JSON 대상체에 포함하는 다른 매개 변수를 모델 제공자에게 직접 전달하기 전에 처리되고 제거됩니다.
참고
-
호스팅된 FileMaker Pro 파일의 대상 필드 업데이트를 정기적으로 자동화하려면, 사용자 상호 작용 없이 FileMaker 스크립트를 실행하도록 호스트의 일정을 설정할 수 있습니다. FileMaker Server 도움말 또는 FileMaker Cloud 도움말에서 FileMaker 스크립트 일정을 참조하십시오.
예제 1
AI 계정을 구성하고, 미팅 세부 정보 레이아웃으로 이동하여 모든 레코드를 표시한 다음, Meetings::Note 필드에 있는 텍스트의 임베딩 벡터를 가져와 Meetings::Note_Embedding 컨테이너 필드에 이진 데이터로 저장합니다. 대상 콘텐츠 대치 옵션이 켜져 있기 때문에 Meetings::Note_Embedding 은 이미 데이터가 포함되어 있더라도 업데이트됩니다.
AI 계정 구성 [계정 이름: "my-account" ; 모델 제공자: OpenAI ; API 키: "sk-
RZCtpWT..." ]
레이아웃으로 이동 [ "미팅 세부 정보"(미팅) ; 애니메이션: 없음 ]
모든 레코드 표시
찾기 세트에 임베딩 삽입 [ 계정 이름: "my-account" ; 임베딩 모델: "text-embedding-3-small" ;
원본 필드: Meetings::Note ; 대상 필드: Meetings::Note_Embedding ; 대상 콘텐츠 대치 ]
예제 2
AI 계정을 구성하고, 미팅 세부 정보 레이아웃으로 이동한 다음, Meetings::Title 필드에 "상태"가 포함된 레코드를 찾습니다. 이 찾기 세트의 경우, Meetings::Note 필드에 있는 텍스트의 임베딩 벡터를 가져오고 이미 존재하는 데이터가 없는 경우 Meetings::Note_Embedding 컨테이너 필드에 이진 데이터로 저장합니다(대상 콘텐츠 대치가 꺼져 있음). 또한 호출당 레코드, 재시도 횟수 및 재시도 사이의 시간을 늘리고 토큰 제한을 낮추려면 매개 변수 옵션을 설정합니다.
AI 계정 구성 [계정 이름: "my-account" ; 모델 제공자: OpenAI ; API 키: "sk-
RZCtpWT..." ]
레이아웃으로 이동 [ "미팅 세부 정보"(미팅) ; 애니메이션: 없음 ]
찾기 모드 돌입 [ 일시 정지: 꺼짐 ]
필드 설정 [ Meetings::Status ; "완료" ]
찾기 수행 [ ]
찾기 세트에 임베딩 삽입 [ 계정 이름: "my-account" ; 임베딩 모델: "text-embedding-3-small" ;
원본 필드: Meetings::Note ; 대상 필드: Meetings::Note_Embedding ;
매개 변수: JSONSetElement ( "" ;
["MaxRecPerCall" ; 40 ; JSONNumber] ;
["MaxRetryPerWorker" ; 10 ; JSONNumber] ;
["MaxWaitPerRetry" ; 300000 ; JSONNumber] ;
["TruncateTokenLimit" ; 4000 ; JSONNumber] ;
["TruncateEnabled" ; 1 ; JSONNumber]
) ]
예제 3
사용자 설정 모델 제공자의 AI 계정을 구성하고, '미팅 세부 정보' 레이아웃으로 이동하여 모든 레코드를 표시한 다음, 각 레코드에 대해 이미지 임베딩 모델을 사용하여 Meetings::Image 컨테이너 필드에 있는 이미지의 임베딩 벡터를 가져와서 Meetings::Image_Embedding 컨테이너 필드에 이진 데이터로 저장합니다. 레코드에 대한 벡터를 삽입할 때 오류가 발생하면 스크립트 단계는 다음 레코드로 계속됩니다.
AI 계정 구성 [ 계정 이름: "my-account" ; 모델 제공자: 사용자 설정 ; 엔드포인트: "https://myserver.example.com/llm/v1/" ; SSL 인증서 확인 ; API 키: Global::API_Key ]
레이아웃으로 이동 [ "미팅 세부 정보" (미팅) ; 애니메이션: 없음 ]
모든 레코드 보기
찾기 세트에 임베딩 삽입 [ 계정 이름: "my-account" ; 임베딩 모델: Global::ModelName ; 원본 필드: Meetings::Image ; 대상 필드: Meetings::Image_Embedding ; 대상 콘텐츠 대체 ; 오류 시 계속 ]