examples/config-custom-prompt-function/README.md
You can run this example with:
npx promptfoo@latest init --example config-custom-prompt-function
cd config-custom-prompt-function
This example demonstrates the full range of prompt formats supported by promptfoo, with special focus on prompt functions that can return both content and configuration.
# Copy this example to your project
npx promptfoo@latest init --example config-custom-prompt-function
# Set required API keys
export OPENAI_API_KEY=your_openai_key
export ANTHROPIC_API_KEY=your_anthropic_key
# Run the evaluation
npx promptfoo@latest eval
# View results
npx promptfoo@latest view
{ prompt, config } objects that override provider settingsprompt.txt, prompt.yaml, etc. - Various prompt file formatsprompt.j2 - Jinja2 template formatprompt_chat.js/ts - Chat format examplesprompt_multiple.js - Multiple functions in one fileprompt_esm.mjs - ESM module formatprompt_python.py - Python examplesprompt_config.js/py - Functions returning dynamic configurationsubfolder/ - Demonstrates nested file structurespromptfooconfig.yaml - Complete configuration showing all prompt typesTo adapt this example:
Learn more about: