Las plantillas de prompt controlan la forma en que el modelo de lenguaje grande (LLM) interpreta los documentos recuperados y genera respuestas. OpenSearch LLM-Based Conversational Search Edition incluye una plantilla de prompt predeterminada. Cree plantillas personalizadas para adaptar el comportamiento del LLM a su caso de uso específico; por ejemplo, para permitir respuestas basadas en conocimiento general cuando el contexto recuperado es insuficiente o para exponer un mensaje alternativo configurable.
Descripción general del flujo de trabajo
Cree una plantilla de prompt con una lista estructurada de mensajes (roles system, user y assistant).
Utilice las variables integradas (
{docs},{question}) para insertar el contexto recuperado y la entrada del usuario en el prompt durante la ejecución.De manera opcional, agregue variables personalizadas para configurar partes del prompt sin editar la plantilla.
Pruebe la plantilla en la página Q&A Test y modifíquela según sea necesario.
Integre la plantilla en su aplicación mediante la llamada a la operación de API correspondiente y pase los valores de las variables personalizadas.
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
Una instancia de OpenSearch LLM-Based Conversational Search Edition
Acceso a Configuration Center > Prompt Management en la consola
Creación de una plantilla de prompt
En la página de detalles de la instancia, elija Configuration Center > Prompt Management.
Haga clic en Create Template.
En el panel Create Prompt Template, configure los parámetros que se describen a continuación y haga clic en OK.
Parámetros
Prompt Template Name (obligatorio)
Identificador único de la plantilla. El nombre debe tener entre 1 y 30 caracteres, comenzar con una letra y contener únicamente letras, dígitos y guiones bajos (_).
Template Overview (opcional)
Descripción breve. Debe tener entre 1 y 30 caracteres, comenzar con una letra o un dígito y contener únicamente letras, dígitos, guiones bajos (_) y guiones (-).
message
Lista de pares rol-contenido que se envía al LLM. Haga clic en + para agregar más pares. Cada campo de contenido cumple las siguientes condiciones:
Es obligatorio
No puede contener
<#ni[#Tiene un límite de 1,024 caracteres
La siguiente tabla describe los roles compatibles y su comportamiento.
|
Rol |
Obligatorio |
Comportamiento |
|
|
No |
Instrucciones de mayor prioridad. Define la personalidad, las restricciones o el formato de salida del LLM. Si se incluye, debe ser el primer mensaje de la lista. |
|
|
Sí |
Prompt enviado al LLM. Por lo general, incluye el contexto recuperado y la pregunta del usuario. La lista de mensajes debe terminar con un mensaje |
|
|
No |
Simula una respuesta previa del modelo. Alterne los mensajes |
Referencia de variables
Variables integradas
Estas variables se completan automáticamente durante la ejecución. No utilice sus nombres para variables personalizadas.
|
Variable |
Se reemplaza por |
Restricción |
|
|
La pregunta original introducida por el usuario |
Reservada; no se puede usar como nombre de variable personalizada |
|
|
El contenido generado al combinar los documentos recuperados |
Reservada; no se puede usar como nombre de variable personalizada |
Variables personalizadas
Defina las variables personalizadas con el formato ${parameters.VariableName} directamente en el contenido del mensaje. Los nombres de las variables deben tener entre 1 y 64 caracteres y contener únicamente letras, dígitos y guiones bajos (_).
Para establecer un valor predeterminado, utilice uno de los formatos siguientes:
|
Formato |
Comportamiento |
|
|
Sin valor predeterminado |
|
|
El valor predeterminado es |
Para pasar un valor durante la ejecución, llame a la operación de API correspondiente y proporcione el valor de la variable. Las variables personalizadas y sus valores actuales aparecen en la pestaña Prompt Parameters de la página Q&A Test, donde puede sobrescribirlas para hacer pruebas.
Plantillas de ejemplo
Después de crear una plantilla, haga clic en Q&A Test en la columna Actions para probarla. La base de conocimiento predeterminada contiene información sobre OpenSearch LLM-Based Conversational Search Edition.
Plantilla 1: predeterminada — respuesta solo a partir del contexto
|
Rol |
Contenido |
|
|
You are a helpful assistant. |
|
|
The context contains multiple independent documents, each of which is placed between the |
Comportamiento: el LLM responde únicamente con el contexto recuperado. Si no encuentra documentos relevantes, devuelve un mensaje fijo de rechazo en lugar de recurrir al conocimiento general.
Plantilla 2: personalizada — permite respuestas basadas en conocimiento general
|
Rol |
Contenido |
|
|
You are a helpful assistant. |
|
|
The context contains multiple independent documents, each of which is placed between the |
Comportamiento: cuando el contexto recuperado es insuficiente, el LLM recurre a su conocimiento general para responder la pregunta.
Plantilla 3: personalizada — mensaje alternativo configurable con una variable personalizada
|
Rol |
Contenido |
|
|
You are a helpful assistant. |
|
|
The context contains multiple independent documents, each of which is placed between the |
Comportamiento: la variable personalizada no_answer controla el mensaje alternativo. Su valor predeterminado es I cannot answer this question based on the known information. Sobrescriba este valor en la pestaña Prompt Parameters de la página Q&A Test (por ejemplo, cámbielo a Sorry) para observar cómo responde el LLM con un mensaje distinto.
El siguiente ejemplo utiliza el modelo opensearch-qwen. En la página Q&A Test, consulte las variables personalizadas en la pestaña Prompt Parameters.
La variable no_answer tiene el valor predeterminado I cannot answer this question based on the known information.
Cambie el valor de la variable no_answer en Prompt Parameters a Sorry.
Gestión de plantillas de prompt
Todas las plantillas de prompt se muestran en la página Prompt Management. Desde ahí, consulte, modifique y elimine plantillas.
Modificación de una plantilla
Haga clic en Edit en la columna Actions de la plantilla. Se pueden modificar todos los campos excepto Prompt Template Name.
La plantilla de prompt predeterminada no se puede modificar.
Eliminación de una plantilla
Haga clic en Delete en la columna Actions de la plantilla y confirme la eliminación.
Prueba de una plantilla
Haga clic en Q&A Test en la columna Actions para abrir la página Q&A Test. Introduzca una pregunta para comprobar cómo responde la plantilla con la base de conocimiento predeterminada. Si la plantilla contiene variables personalizadas, establezca los valores de prueba en la pestaña Prompt Parameters.