examples/config-python-test-cases/README.md
You can run this example with:
npx promptfoo@latest init --example config-python-test-cases
cd config-python-test-cases
This example demonstrates how to use Python functions to generate test cases with configurable parameters using the new TestGeneratorConfig feature.
Previously, test generators could only be called without parameters:
tests:
- file://test_cases.py:generate_simple_tests
Now you can pass configuration objects to customize the test generation:
tests:
- path: file://test_cases.py:generate_simple_tests
config:
languages: [German, Italian]
Python Dependencies:
pip install pandas
Environment Variables:
export OPENAI_API_KEY=your_api_key_here
Run the evaluation with:
promptfoo eval
The old format still works:
- file://test_cases.py:generate_simple_tests
Pass configuration to customize test generation:
- path: file://test_cases.py:generate_simple_tests
config:
languages: [German, Italian]
Control how many test cases are generated:
- path: file://test_cases.py:generate_from_csv
config:
max_rows: 2
The Python functions accept an optional config parameter:
from typing import Optional, Dict, Any
def generate_simple_tests(config: Optional[Dict[str, Any]] = None):
languages = ["Spanish", "French"] # defaults
if config:
languages = config.get("languages", languages)
# Generate test cases using the configuration...
This enables: