Creates an experimental design tibble that crosses every row in .data with
every config in configs, evaluating glue prompt templates row-by-row.
The result has config and messages list-columns ready for call_llm_par().
Arguments
- .data
A data frame containing variables for the glue prompt.
- configs
A list of llm_config objects (or a single llm_config).
- prompt
A glue string for a single user turn.
- .messages
Optional named character vector of glue templates (roles as names).
- .system_prompt
Optional system prompt template (glue string).
Examples
if (FALSE) { # \dontrun{
cities <- data.frame(city = c("Cairo", "Lima"))
cfgs <- list(llm_config("groq", "openai/gpt-oss-20b"), llm_config("deepseek", "deepseek-chat"))
design <- llm_cross_design(cities, cfgs, prompt = "What country is {city} in?")
results <- call_llm_par(design)
} # }