metaprompt
1.0.0
Metaprompt es un lenguaje específico de dominio para la ingeniería rápida de LLM. Es un motor de plantilla para indicaciones textuales, donde la expansión de expresión puede depender de las salidas LLM.
El objetivo es extender las técnicas habituales de las indicaciones parametrizadas con la programabilidad, la reutilización y las habilidades de meta-prompting.
The text you are reading right now is a valid metaprompt program.
[# this is a comment that is ignored by the interpreter, that can be
used to add some info for the human-developer]
[# This whole text is a parametrized prompt, one of the parameters
being [:subject]]
[# [:subject] here is a variable reference. Variables can be defined
in-place, or passed from the external environment]
Give me a detailed poetic description of [:subject], using one or more
of the following metaphoric expressions:
[# Now I want to specialize my prompt depending on the value of
[:subject]. The output of the prompt below will be included *instead*
of the [$ ... block]: ]
[$ Write me a bullet list of metaphors for [:subject]. Do not produce
any other output]
[# Conditionals allow for logic branching: ]
[:if [:subject] is a human
:then
Use jokingly exaggerated style
:else
Include some references to [$ List some people who have any
relation to [:subject], comma-separated]
]
Ver examples/ para más.
Este es un trabajo temprano en progreso. Sígueme en Twitter para obtener actualizaciones
[:variable] y [:variable=some value] [:if ... :then ... :else ...]true o false [$ meta-prompt]$ output - por ahora [:_=...] funciona (asignación a la variable _ ) [:use module :param1=value1][# comments][:STUATUS=some-status] - para mostrar durante la evaluación inmediata [@foreign_function arg1 :with arg2 :param1=foo :param2=bar]MODEL - ejemplo) [chat1$ the object is the moon][chat1$ what is the object?] (Ejemplo) ROLE (ejemplo) [:use @ffi-function :param1=foo :param2=bar] [:use ...]