다음을 통해 공유


시맨틱 커널 프롬프트를 위한 YAML 스키마 참조

의미 체계 커널 프롬프트에 대한 YAML 스키마 참조는 지원되는 모든 YAML 구문과 사용 가능한 옵션을 나열하는 YAML 프롬프트에 대한 자세한 참조입니다.

정의

이름

이 구성을 사용하여 프롬프트 함수를 만들 때 기본적으로 사용할 함수 이름입니다. 이름이 null이거나 비어 있으면 함수를 만들 때 임의의 이름이 동적으로 생성됩니다.

묘사

이 구성을 사용하여 프롬프트 함수를 만들 때 기본적으로 사용할 함수 설명입니다.

템플릿 형식

시맨틱 커널 템플릿 형식의 식별자입니다. 의미 체계 커널은 다음 템플릿 형식을 지원합니다.

  1. 의미 체계 커널 - 기본 제공 의미 체계 커널 형식입니다.
  2. 핸들바 - 핸들바 템플릿 형식입니다.
  3. 액체 - Liquid 템플릿 형식

템플렛

프롬프트를 정의하는 프롬프트 템플릿 문자열입니다.

입력_변수

프롬프트 템플릿에서 사용하는 입력 변수의 컬렉션입니다. 각 입력 변수에는 다음과 같은 속성이 있습니다.

  1. name - 변수의 이름입니다.
  2. description - 변수에 대한 설명입니다.
  3. default - 변수의 선택적 기본값입니다.
  4. is_required - 변수가 필요한 것으로 간주되는지 여부(선택 사항이 아닌)입니다. 기본값은 true.
  5. json_schema - 이 변수를 설명하는 선택적 JSON 스키마입니다.
  6. allow_dangerously_set_content - 변수 값을 위험한 콘텐츠로 처리할지 여부를 나타내는 부울 값입니다. 기본값은 false. 자세한 내용은 프롬프트 삽입 공격으로부터 보호 참조하세요.

allow_dangerously_set_content 기본값은 false입니다. true로 설정하면 입력 변수의 값이 안전한 콘텐츠로 처리됩니다. 채팅 완료 서비스와 함께 사용 중인 프롬프트의 경우 프롬프트 삽입 공격으로부터 보호하기 위해 false로 설정해야 합니다. 다른 AI 서비스(예: Text-To-Image)를 사용하는 경우 더 복잡한 프롬프트를 허용하도록 true로 설정할 수 있습니다.

출력 변수

프롬프트 템플릿에서 사용하는 출력 변수입니다. 출력 변수에는 다음과 같은 속성이 있습니다.

  1. description - 변수에 대한 설명입니다.
  2. json_schema - 이 변수를 설명하는 JSON 스키마입니다.

실행 설정

프롬프트 템플릿에서 사용하는 실행 설정의 컬렉션입니다. 실행 설정은 서비스 ID를 키로 하는 사전이며, 기본 실행 설정의 경우 default가 사용됩니다. 각 PromptExecutionSettings 서비스 ID는 사전의 키와 일치해야 합니다.

각 항목에는 다음과 같은 속성이 있습니다.

  1. service_id - 이 설정은 azure_openai_eastus, openai, ollama, huggingface 등과 같은 서비스로 구성된 항목을 식별합니다.
  2. model_id - 이러한 설정이 구성되는 AI 모델을 식별합니다. 예: gpt-4, gpt-3.5 터보.
  3. function_choice_behavior - LLM에서 함수를 선택하는 방법과 AI 커넥터에서 함수를 호출하는 방법을 정의하는 동작입니다. 자세한 내용은 함수 선택 동작 참조하세요.

서비스 식별자가 제공되면, 이는 실행 설정을 위한 사전 형태의 컬렉션에서 키 역할을 합니다. 서비스 식별자가 제공되지 않으면 default로 설정됩니다.

함수 선택 동작

함수 호출을 사용하지 않도록 설정하고 모델에서 사용자 관련 메시지만 생성하도록 하려면 속성을 null(기본값)으로 설정합니다.

  • auto - 모델에서 함수를 호출할지 여부와 호출할 함수를 결정할 수 있도록 허용합니다.
  • required - 모델이 항상 하나 이상의 함수를 호출하도록 강제합니다.
  • none - 모델에 함수를 호출하지 않고 사용자 연결 메시지만 생성하도록 지시합니다.

위험하게 내용 설정 허용

잠재적으로 위험한 콘텐츠를 함수의 프롬프트에 삽입할 수 있는지 여부를 나타내는 부울 값입니다. 기본값은 false입니다. true로 설정하면 함수의 반환 값은 안전한 콘텐츠로만 처리됩니다. 채팅 완료 서비스와 함께 사용 중인 프롬프트의 경우 프롬프트 삽입 공격으로부터 보호하기 위해 false로 설정해야 합니다. 다른 AI 서비스(예: Text-To-Image)를 사용하는 경우 더 복잡한 프롬프트를 허용하도록 true로 설정할 수 있습니다. 자세한 내용은 프롬프트 삽입 공격 방지를 참조하세요.

샘플 YAML 프롬프트

다음은 핸들바 템플릿 형식 사용하고 gpt-3gpt-4 모델과 함께 사용할 때 다른 온도로 구성된 샘플 YAML 프롬프트입니다.

name: GenerateStory
template: |
  Tell a story about {{topic}} that is {{length}} sentences long.
template_format: handlebars
description: A function that generates a story about a topic.
input_variables:
  - name: topic
    description: The topic of the story.
    is_required: true
  - name: length
    description: The number of sentences in the story.
    is_required: true
output_variable:
  description: The generated story.
execution_settings:
  service1:  
    model_id: gpt-4
    temperature: 0.6
  service2:
    model_id: gpt-3
    temperature: 0.4
  default:
    temperature: 0.5

다음 단계