Prompt ($)
The $
is a JavaScript tagged template that expands the string into the final prompt.
$`You are a helpful assistant.`
👤 user
You are a helpful assistant.
Inline expressions
You can weave expressions in the template using ${...}
. Expressions can be promises and will be awaited when rendering the final prompt.
$`Today is ${new Date().toDateString()}.`
👤 user
Today is Thu Jun 13 2024.
String templating
The output of the $
can be further processed by running popular jinja or mustache template engines.
$`What is the capital of {{ country }}?`.jinja(env.vars)
$`What is the capital of {{ country }}?`.mustache(env.vars)
Inline prompts
When running an inline prompt, you can use the $
to generate the prompt dynamically but you need to call it on the generation context.
const res = await runPrompt(ctx => { ctx.$`What is the capital of France?`})