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:
- - Kernel semántico integrado: formato del kernel semántico.
- Handlebars - formato de plantilla Handlebars.
- 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:
-
name
: el nombre de la variable. -
description
: descripción de la variable. -
default
: valor predeterminado opcional para la variable. -
is_required
: indica si la variable se considera necesaria (en lugar de opcional). El valor predeterminado estrue
. -
json_schema
: esquema JSON opcional que describe esta variable. -
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 esfalse
. 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:
-
description
: descripción de la variable. -
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:
-
service_id
: Esto identifica los servicios para los que se configuran estos ajustes, por ejemplo, azure_openai_eastus, openai, ollama, huggingface, etc. -
model_id
: identifica el modelo de INTELIGENCIA ARTIFICIAL para los que están configurados estos valores, por ejemplo, gpt-4, gpt-3.5-turbo. -
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