pe is a collection of tools for working with prompt engineering concepts, files, and tools.
- pfutil: operations on promptfoo configuration files
vet: validate promptfoo configuration filesfmt: format promptfoo configuration filesconvert: convert promptfoo configuration files between formats (yaml, json)run: execute promptfoo configuration files against LLM providers (with mock implementations)
- Scripts:
scripts/test-convert.sh: simple test for format conversion roundtripsscripts/test-semantic-equality.sh: comprehensive test for data integrity during format conversions
- prompt_engineering.proto: Protobuf definitions for prompt engineering concepts.
The easiest way to install is to run go install github.com/tmc/pe/cmd/...@latest.
You can also clone the repository and run go install ./cmd/....
Contributions to pe are welcome. Before submitting a pull request, please make sure tests pass:
# Run Go tests
go test ./...
# Test the pfutil tool's format conversion functionality
./scripts/test-semantic-equality.sh