Compartir a través de


Referencia de esquema YAML para avisos de kernel semántico

La referencia de esquema YAML para solicitudes de kernel semántico es una referencia detallada para las solicitudes de YAML que enumera toda la sintaxis YAML compatible y sus opciones disponibles.

Definiciones

nombre

Nombre de función que se va a usar de forma predeterminada al crear funciones de aviso mediante esta configuración. Si el nombre es null o está vacío, se generará un nombre aleatorio dinámicamente al crear una función.

descripción

La descripción de la función que se va a usar de forma predeterminada al crear funciones de aviso mediante esta configuración.

template_format

Identificador del formato de plantilla del Semantic Kernel. El kernel semántico proporciona compatibilidad con los siguientes formatos de plantilla:

  1. - Kernel semántico integrado: formato del kernel semántico.
  2. Handlebars - formato de plantilla Handlebars.
  3. líquido: formato de plantilla liquid

plantilla

Cadena de plantilla de solicitud que define el mensaje.

variables_de_entrada

Colección de variables de entrada usadas por la plantilla de solicitud. Cada variable de entrada tiene las siguientes propiedades:

  1. name: el nombre de la variable.
  2. description: descripción de la variable.
  3. default: valor predeterminado opcional para la variable.
  4. is_required: indica si la variable se considera necesaria (en lugar de opcional). El valor predeterminado es true.
  5. json_schema: esquema JSON opcional que describe esta variable.
  6. allow_dangerously_set_content: un valor booleano que indica si se debe controlar el valor de la variable como posible contenido peligroso. El valor predeterminado es false. Consulte Proteger contra ataques por inyección de mensajes para obtener más información.

Propina

El valor predeterminado de allow_dangerously_set_content es false. Cuando se establece en true, el valor de la variable de entrada se trata como contenido seguro. En el caso de las indicaciones que se usan con un servicio de finalización de chat, debe configurarse como falso para protegerse frente a ataques de inyección de indicaciones. Al usar otros servicios de inteligencia artificial, por ejemplo, texto:To-Image se puede establecer en true para permitir solicitudes más complejas.

variable de salida

Variable de salida utilizada por la plantilla de aviso. La variable de salida tiene las siguientes propiedades:

  1. description: descripción de la variable.
  2. json_schema: esquema JSON que describe esta variable.

configuraciones de ejecución

La colección de configuraciones de ejecución usadas por la plantilla. Las configuraciones de ejecución son un diccionario que tiene como clave el identificador de servicio, o default para las configuraciones de ejecución predeterminadas. El identificador de servicio de cada PromptExecutionSettings debe coincidir con la clave del diccionario.

Cada entrada tiene las siguientes propiedades:

  1. service_id: Esto identifica los servicios para los que se configuran estos ajustes, por ejemplo, azure_openai_eastus, openai, ollama, huggingface, etc.
  2. model_id: identifica el modelo de INTELIGENCIA ARTIFICIAL para los que están configurados estos valores, por ejemplo, gpt-4, gpt-3.5-turbo.
  3. function_choice_behavior - El comportamiento que define la manera en que LLM elige las funciones y cómo se invocan mediante conectores de IA. Para obtener más información, consulte los comportamientos de elección de funciones en

Propina

Si se proporciona, el identificador de servicio será la clave en un diccionario de configuraciones de ejecución. Si no se proporciona el identificador de servicio, se establecerá en default.

Comportamiento de elección de función

Para deshabilitar la llamada a funciones y hacer que el modelo solo genere un mensaje orientado al usuario, establezca la propiedad en NULL (valor predeterminado).

  • auto: para permitir que el modelo decida si debe llamar a las funciones y, si es así, a cuáles llamar.
  • required: para forzar que el modelo llame siempre a una o varias funciones.
  • none: para indicar al modelo que no llame a ninguna función y solo genere un mensaje orientado al usuario.

allow_dangerously_set_content

Valor booleano que indica si se permite que contenido potencialmente peligroso se inserte en la solicitud a través de funciones. El valor predeterminado es false. Cuando se establece en true, los valores devueltos de las funciones solo se tratan como contenido seguro. En el caso de las indicaciones que se usan con un servicio de finalización de chat, debe configurarse en false para protegerse frente a ataques de inyección de indicaciones. Al usar otros servicios de inteligencia artificial, por ejemplo, Text-To-Image, se puede establecer en verdadero para permitir indicaciones más complejas. Consulte Protección contra ataques de inyección de comandos para obtener más información.

Mensaje de YAML de ejemplo

A continuación se muestra un ejemplo de mensaje YAML que usa el formato de plantilla Handlebars y está configurado con diferentes temperaturas para su uso con los modelos gpt-3 y 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

Pasos siguientes

Plantillas de patrones Handlebars Plantillas de patrones Liquid