프롬프트 템플릿 구성

모델 제공자 및 사용자화할 수 있는 사전 정의된 프롬프트가 제공되면 다른 AI 스크립트 단계에서 이름별로 사용할 프롬프트 템플릿을 설정합니다.

다음도 참조하십시오. 

옵션 

  • 템플릿 이름은 이 프롬프트 템플릿에 할당할 이름에 대한 텍스트 표현식입니다. 다른 AI 스크립트 단계는 이 이름으로 템플릿을 참조합니다.

  • 모델 제공자는 이 프롬프트 템플릿이 설계된 AI 모델 제공자를 지정합니다.

  • 템플릿 유형은 이 템플릿을 사용할 수 있는 AI 스크립트 단계와 사용 가능한 템플릿 상수를 결정합니다.

템플릿 유형SQL 쿼리인 경우에만 사용 가능한 옵션:

  • SQL 프롬프트는 모델이 SQL 쿼리를 구성하는 방법을 정의하는 텍스트 표현식입니다.

  • 자연어 프롬프트는 모델이 응답을 제공하는 방법을 설명하는 텍스트 표현입니다.

템플릿 유형요청 찾기인 경우에만 사용 가능한 옵션:

  • 요청 프롬프트 찾기는 모델이 찾기 요청을 구성하는 방법을 정의하는 텍스트 표현식입니다. 미리 정의된 프롬프트에는 찾기 요청의 JSON 형식(FileMaker Data API에서 사용하는 것과 동일), 날짜 및 시간 형식 및 기타 규칙이 포함됩니다.

템플릿 유형RAG 프롬프트인 경우에만 사용 가능한 옵션:

  • RAG 프롬프트는 AI 모델 서버의 RAG 공간으로 전송된 프롬프트에 모델이 응답하는 방법을 설명하는 텍스트 표현식입니다.

호환성 

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

다음 버전에서 시작됨 

22.0

설명 

이 스크립트 단계는 프롬프트 템플릿을 사용할 수 있는 AI 스크립트 단계에서 이름으로 참조하는 프롬프트 템플릿을 설정합니다. 이 스크립트 단계에서 미리 정의된 프롬프트는 프롬프트 템플릿을 지정하지 않은 다른 AI 스크립트 단계에서 사용되는 것과 동일한 프롬프트입니다. 프롬프트 템플릿을 사용하면 프롬프트 엔지니어링을 수행하고, 다양한 모델 제공자 및 사용 사례에 대해 프롬프트가 구성되고 형식화되는 방법이 사용자 지정되며, AI 스크립트 전반에 걸쳐 보다 일관된 동작을 제공할 수 있습니다.

프롬프트 템플릿은 AI 스크립트 단계 중 하나에서 템플릿이 사용될 때 실제 값으로 런타임에 동적으로 대체되는 자리 표시자인 템플릿 상수를 통합하는 재사용 가능한 프롬프트 구조를 정의함으로써 작동합니다. 특정 템플릿에서 사용할 수 있는 상수는 템플릿 유형에 따라 다릅니다.

상수 대체됨 프롬프트에서

:스키마:

지정된 테이블에 대한 데이터 정의 언어(DDL) 형식의 데이터베이스 스키마입니다.

SQL 프롬프트
자연어 프롬프트
요청 프롬프트 찾기

:질문:

사용자의 자연어 질문 또는 프롬프트입니다.

SQL 프롬프트
자연어 프롬프트
요청 프롬프트 찾기
RAG 프롬프트

:문맥:

스크립트 단계의 매개 변수 옵션에서 context_prompt 키로 지정된 컨텍스트 정보입니다. 예를 들어, 매개 변수 옵션은 시스템 날짜 형식의 오늘의 날짜를 사용하여 "today"에 대한 참조를 처리하는 방법을 모델에 알려주는 표현식일 수 있습니다.

"{ \"context_prompt\": \"Treat 'today' as " & Get(CurrentDate) & "\"}"

요청 프롬프트 찾기
RAG 프롬프트

:SQL 쿼리:

모델에 의해 생성된 SQL 쿼리입니다.

자연어 프롬프트

:sql_results:

SQL 쿼리를 실행하여 반환된 결과입니다.

자연어 프롬프트

:date_format:

시스템 날짜 형식입니다. 모델이 사용해야 하는 날짜 형식을 지정하는 프롬프트에서 유용합니다.

요청 프롬프트 찾기

AI 스크립트 단계가 템플릿을 사용할 때, 스크립트 단계는 현재 컨텍스트와 수행 중인 작업에 따라 상수를 적절한 값으로 대체합니다.

이 스크립트 단계가 실행되면 프롬프트 템플릿은 현재 FileMaker 클라이언트 세션의 기간 동안 현재 파일에 있는 스크립트에만 사용할 수 있습니다.

참고 

  • 지정된 이름의 프롬프트 템플릿이 이미 존재하는 경우 이 스크립트 단계는 새 구성으로 대체합니다.

  • 프롬프트 템플릿 이름은 대소문자를 구분합니다. "MyTemplate"과 "mytemplate"은 서로 다른 템플릿으로 처리됩니다.

  • AI 스크립트 단계가 존재하지 않는 프롬프트 템플릿 이름을 참조하는 경우 "요청된 템플릿을 찾을 수 없습니다."라는 오류 메시지가 반환됩니다.

  • AI 스크립트 단계가 AI 계정에 지정된 것과 다른 모델 공급자에 대해 구성된 프롬프트 템플릿을 사용하는 경우 모델 공급자가 일치하지 않음을 나타내는 오류가 반환됩니다.

  • 현재 작업에 적용되지 않는 프롬프트 템플릿 상수는 프롬프트 텍스트에 변경되지 않은 상태로 유지됩니다.

예제 1 

AI 계정을 구성한 다음 자연어로 SQL 쿼리 수행 스크립트 단계에 의해 참조될 때 모델이 자연어 응답을 표시하는 방법에 대한 프롬프트 템플릿을 구성합니다. 이 쿼리는 Name(이름) 및 Company(회사) 필드에 데이터가 있는 Contacts(연락처) 테이블의 데이터에 대해 질문합니다.

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

프롬프트 템플릿 구성 [ 템플릿 이름: "whimsical" ; 모델 제공자: OpenAI ; 템플릿 유형: SQL 쿼리 ; 자연어 프롬프트: "The answer should be returned in plain text, not in JSON.¶ Respond in a light, whimsical tone." ]

레이아웃으로 이동 [ "Contacts"(연락처) ; 애니메이션: 없음 ]

자연어로 SQL 쿼리 수행 [ 계정 이름: "my-account" ; 모델: "gpt-4o" ; 프롬프트: "Which company does Alea work for?" ; 지정된 옵션: 목록에서 ; 조치: 쿼리 ; 데이터 테이블: 목록에서 ; 테이블... ; 스트림 ; 프롬프트 템플릿 이름: "whimsical" ; 응답 대상: Contacts::Response ]

Contacts::Response 필드에 저장된 가능한 응답:

Alea, the illustrious individual in question, works for none other than Acme Anvils!

예제 2 

AI 계정을 구성한 다음 자연어로 찾기 수행 스크립트 단계에서 참조할 때 검색 요청에서 정확히 일치하는 항목을 찾는 방법에 대한 추가 정보가 포함된 프롬프트 템플릿을 구성합니다. 찾기 요청 프롬프트에 대한 미리 정의된 값에 ==을 사용하여 전체 필드에 대해 정확한 일치를 지정하는 방법에 대한 규칙을 추가합니다(미리 정의된 프롬프트의 첫 부분은 간결함을 위해 생략됨). 자연어로 찾기 수행 스크립트 단계의 프롬프트는 정확한 일치를 요청하고 Response(응답) 필드에서 JSON으로 찾기 요청을 반환합니다.

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

프롬프트 템플릿 구성 [ 템플릿 이름: "find-exact" ; 모델 제공자: OpenAI ; 템플릿 유형: 찾기 요청 ; 요청 프롬프트 찾기: "...10. 전체 fieldX 값과 정확하게 일치하는 항목을 찾으려면 다음 형식을 사용하십시오. { \"fieldX\": \"==\" }" ]

레이아웃으로 이동 [ "Contacts"(연락처) ; 애니메이션: 없음 ]

자연어로 찾기 수행 [ 계정 이름: "my-account" ; 모델: "gpt-4o" ; 프롬프트: "Find contacts whose name is exactly Alea" ; 가져오기: JSON으로 요청 찾기 ; 응답 대상: Contacts::Response ; 프롬프트 템플릿 이름: "find-exact" ]

Response(응답) 필드에 반환된 가능한 찾기 요청:

복사
{"layouts":"Contacts","query":[{"Contacts::Name":"==Alea"}],"sort":[]}