Archivos de Prompt (experimental)
Los archivos de prompt (.prompt
) son una forma fácil de construir y compartir prompts para modelos de lenguaje (LLM) con otros. El formato se inspira en el archivo .prompt
de HumanLoop y añade templado para que puedas referenciar fácilmente archivos, tu diferencia de git actual, y eventualmente mucho más.
Cómo Crear un Archivo de Prompt
A continuación, se muestra un ejemplo rápido de cómo configurar un archivo de prompt para escribir pruebas unitarias usando Jest.
- Crea una carpeta llamada
.prompts/
en el nivel superior de tu espacio de trabajo. - Añade un archivo llamado
test.prompt
a esta carpeta. El nombre de este archivo será el nombre del comando slash que utilizarás para generar tu prompt. - Escribe el siguiente contenido en
test.prompt
y guarda el archivo.
temperature: 0.5
maxTokens: 4096
---
<system>
Eres un programador experto
</system>
{{{ input }}}
Escribe pruebas unitarias para el código seleccionado arriba, siguiendo cada una de estas instrucciones:
- Usa `jest`
- Configura y limpia adecuadamente
- Incluye casos límite importantes
- Las pruebas deben ser completas y sofisticadas
- Da las pruebas solo como salida de chat, no edites ningún archivo
- No expliques cómo configurar `jest`
Ahora, para usar este prompt, puedes resaltar el código y usar cmd/ctrl+L para seleccionarlo en la barra lateral de Continue. Luego, escribe "/" para ver la lista de comandos slash y elige el que se llama "test". Presiona enter y el LLM responderá según las instrucciones de tu archivo de prompt.
Sintaxis
El estado actual de este formato es experimental y está sujeto a cambios
Preámbulo
El "preámbulo" es todo lo que está por encima del separador ---
, y te permite especificar parámetros del modelo. Utiliza la sintaxis YAML y actualmente admite los siguientes parámetros:
temperature
topP
topK
minP
presencePenalty
frequencyPenalty
mirostat
stop
maxTokens
name
description
Si no necesitas ninguno de estos parámetros, puedes omitir el preámbulo y no necesitas incluir el separador ---
.
Cuerpo
El "cuerpo" es todo lo que está por debajo del separador ---
y contiene tu prompt.
En su forma más básica, el cuerpo puede ser solo texto.
Para añadir un mensaje del sistema, empieza el cuerpo con etiquetas <system></system>
como en el ejemplo anterior y coloca tu mensaje del sistema dentro.
El cuerpo también admite templado con la sintaxis de Handlebars. Las siguientes variables están disponibles actualmente:
input
: El texto completo del cuadro de entrada en la barra lateral que se envía junto con el comando slash.currentFile
: El archivo actualmente abierto en tu IDE.
Proveedores de Contexto
El cuerpo de un archivo .prompt
también admite cualquier proveedor de contexto que hayas añadido a tu configuración al hacer referencia al nombre del proveedor de contexto.
Por ejemplo, si quieres incluir el contenido del terminal en tu prompt, usarías {{{terminal}}}
en tu archivo de prompt. Si quieres usar el proveedor de contexto "url" para incluir el contenido de https://github.com/continuedev/continue, usarías {{{url "https://github.com/continuedev/continue"}}}
, donde la segunda parte es el argumento al proveedor de contexto, separado por un espacio.