Compartilhar via


Referência de esquema YAML para prompts de Kernel Semântico

A referência de esquema YAML para prompts do Semântico Kernel é uma referência detalhada para prompts YAML que lista toda a sintaxe YAML suportada e suas opções disponíveis.

Definições

nome

O nome da função a ser usado por padrão ao criar funções de prompt usando essa configuração. Se o nome for nulo ou vazio, um nome aleatório será gerado dinamicamente ao criar uma função.

descrição

A descrição da função a ser usada por padrão ao criar funções de prompt usando essa configuração.

template_format

O identificador do formato de modelo do Kernel Semântico. O Kernel Semântico fornece suporte para os seguintes formatos de modelo:

  1. kernel semântico integrado – formato integrado do kernel semântico.
  2. guidão – formato de modelo de guidão.
  3. líquido – formato de template Liquid

modelo

A cadeia de caracteres do modelo de prompt que define o prompt.

variáveis_de_entrada

A coleção de variáveis de entrada usadas pelo modelo de prompt. Cada variável de entrada tem as seguintes propriedades:

  1. name - O nome da variável.
  2. description - A descrição da variável.
  3. default – um valor padrão opcional para a variável.
  4. is_required – se a variável é considerada necessária (em vez de opcional). O padrão é true.
  5. json_schema - Um esquema JSON opcional que descreve essa variável.
  6. allow_dangerously_set_content - Um valor booliano que indica se o valor da variável deve ser manipulado como conteúdo perigoso potencial. O padrão é false. Consulte Protegendo contra ataques de injeção de prompt para obter mais informações.

Dica

O padrão para allow_dangerously_set_content é false. Quando definido como true, o valor da variável de entrada é tratado como conteúdo seguro. Para prompts que estão sendo usados com um serviço de conclusão de chat, isso deve ser definido como falso para proteger contra ataques de injeção de comandos. Ao usar outros serviços de IA, por exemplo, Texto-To-Image, isso pode ser definido como verdadeiro para permitir prompts mais complexos.

variável_de_saida

A variável de saída usada pelo modelo de prompt. A variável de saída tem as seguintes propriedades:

  1. description - A descrição da variável.
  2. json_schema - O esquema JSON que descreve essa variável.

configurações_de_execução

A coleção de configurações de execução usadas pelo modelo de prompt. As configurações de execução são um dicionário que é chaveado pela ID do serviço ou default para as configurações de execução padrão. A ID de serviço de cada PromptExecutionSettings deve corresponder à chave no dicionário.

Cada entrada tem as seguintes propriedades:

  1. service_id - Isso identifica o serviço para o qual essas configurações são, por exemplo, azure_openai_eastus, openai, ollama, huggingface, etc.
  2. model_id - Isso identifica o modelo de IA que essas configurações estão configuradas para, por exemplo, gpt-4, gpt-3.5-turbo.
  3. function_choice_behavior – O comportamento que define a maneira como as funções são escolhidas pela LLM e como elas são invocadas pelos conectores de IA. Para obter mais informações, consulte comportamentos de escolha de funções

Dica

Se fornecido, o identificador de serviço será a chave em uma coleção de dicionários de configurações de execução. Se não for fornecido, o identificador de serviço será definido como default.

Comportamento de escolha da função

Para desabilitar a chamada de função e fazer com que o modelo gere apenas uma mensagem voltada para o usuário, defina a propriedade como nula (o padrão).

  • auto - Para permitir que o modelo decida se deve chamar as funções e, se for o caso, quais devem ser chamadas.
  • required – para forçar o modelo a sempre chamar uma ou mais funções.
  • none - Para instruir o modelo a não chamar nenhuma função e gerar apenas uma mensagem voltada para o usuário.

permitir_definir_conteúdo_perigosamente

Um valor booliano que indica se o conteúdo potencialmente perigoso deve ser inserido no prompt das funções. O padrão é false. Quando definido como true, os valores retornados das funções são tratados apenas como conteúdo seguro. Para prompts que estão sendo usados com um serviço de conclusão de chat, isso deve ser definido como falso para proteger contra ataques de injeção de prompts. Ao usar outros serviços de IA, por exemplo, Texto-To-Image, isso pode ser configurado como verdadeiro para permitir prompts mais complexos. Consulte Protegendo contra ataques de injeção de prompt para obter mais informações.

Exemplo de prompt YAML

Veja abaixo um exemplo de prompt YAML que usa o formato de modelo Handlebars e é configurado com diferentes temperaturas ao ser usado com os modelos gpt-3 e gpt-4.

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

Próximas etapas

Templates de prompt de Handlebars Templates de prompt de Liquid