Summary
Ensure AgentV's dataset loading is compatible with promptfoo's file:// test data format, so the same JSONL and CSV files work in both tools without modification.
Motivation
The lowest-effort integration point between AgentV and promptfoo is shared test data files. If both tools can read the same JSONL/CSV datasets, users get data portability without any config conversion tooling.
Research reference: integration-assessment-promptfoo-braintrust.md
promptfoo Dataset Format
promptfoo loads external test data via file:// references:
# promptfooconfig.yaml
tests: file://tests/cases.jsonl
JSONL format:
{"query": "What is 2+2?", "expected": "4", "category": "math"}
{"query": "Capital of France?", "expected": "Paris", "category": "geography"}
CSV format:
query,expected,category
"What is 2+2?","4","math"
"Capital of France?","Paris","geography"
Columns map to vars in promptfoo's test cases.
AgentV Dataset Format
# EVAL.yaml
datasets:
- source: ./tests/cases.jsonl
format: jsonl
AgentV expects:
{"input": "What is 2+2?", "expected_output": "4", "metadata": {"category": "math"}}
Compatibility Gap
The field names differ:
- promptfoo uses arbitrary column names mapped via
vars
- AgentV uses
input / expected_output / metadata
Proposed Solution
Add a column_mapping option to AgentV's dataset loader:
datasets:
- source: ./tests/cases.jsonl
format: jsonl
column_mapping:
input: query # Map "query" column to AgentV's "input"
expected_output: expected # Map "expected" column to "expected_output"
metadata.category: category # Map "category" to metadata
This allows the same JSONL/CSV file to be used by both tools without modification.
Acceptance Criteria
Effort Estimate
1-2 days
Summary
Ensure AgentV's dataset loading is compatible with promptfoo's
file://test data format, so the same JSONL and CSV files work in both tools without modification.Motivation
The lowest-effort integration point between AgentV and promptfoo is shared test data files. If both tools can read the same JSONL/CSV datasets, users get data portability without any config conversion tooling.
Research reference: integration-assessment-promptfoo-braintrust.md
promptfoo Dataset Format
promptfoo loads external test data via
file://references:JSONL format:
{"query": "What is 2+2?", "expected": "4", "category": "math"} {"query": "Capital of France?", "expected": "Paris", "category": "geography"}CSV format:
Columns map to
varsin promptfoo's test cases.AgentV Dataset Format
AgentV expects:
{"input": "What is 2+2?", "expected_output": "4", "metadata": {"category": "math"}}Compatibility Gap
The field names differ:
varsinput/expected_output/metadataProposed Solution
Add a
column_mappingoption to AgentV's dataset loader:This allows the same JSONL/CSV file to be used by both tools without modification.
Acceptance Criteria
column_mappingfor field remappinginput,expected_output) when no mapping specifiedmetadata.category)file://or relative path referencesEffort Estimate
1-2 days