macro_rules! prompt {
($template:expr, $($key:ident = $value:expr),* $(,)?) => { ... };
}Expand description
Creates a prompt string from a template and key-value pairs.
This macro provides a println!-like experience for building prompts
from various data sources. It leverages minijinja for templating.
ยงExample
use llm_toolkit::prompt;
use serde::Serialize;
#[derive(Serialize)]
struct User {
name: &'static str,
role: &'static str,
}
let user = User { name: "Mai", role: "UX Engineer" };
let task = "designing a new macro";
let p = prompt!(
"User {{user.name}} ({{user.role}}) is currently {{task}}.",
user = user,
task = task
).unwrap();
assert_eq!(p, "User Mai (UX Engineer) is currently designing a new macro.");