promptfoo
Promptfoo is an open source CLI and library for evaluating and red-teaming LLM-based applications. It provides automated testing to find and fix AI risk, compare model providers, and test prompts, agents, and RAGs during development.
Visit promptfoo/promptfooOverview
Promptfoo is a CLI and library for evaluating and red-teaming LLM-based applications. It supports automated evaluations of prompts and models, red teaming and vulnerability scanning, model comparisons, CI/CD checks, code scanning, and sharing results with a team. It is open source and MIT licensed.
Key Features
- Automated evaluations for prompts, models, and RAG pipelines
- Red teaming and vulnerability scanning for LLM applications
- Side-by-side comparison of model providers including OpenAI, Anthropic, Azure, Bedrock, and Ollama
- CI/CD integration and code scanning for LLM-related security and compliance issues in pull requests
- Local execution for LLM evals so prompts do not leave your machine
- Declarative configs with command line and library usage
Use Cases
- Test and improve prompts, agents, and RAGs with automated evaluations
- Secure AI applications with red teaming and vulnerability scanning
- Compare model performance across providers
- Add automated LLM checks to CI/CD and review pull requests for security and compliance issues
Getting Started
- Install with npm install -g promptfoo, or use brew install promptfoo, pip install promptfoo, or npx promptfoo@latest.
- Run promptfoo init --example getting-started.
- Set an API key for most LLM providers as an environment variable, for example export OPENAI_API_KEY=sk-abc123.
- Run promptfoo eval and promptfoo view in the getting-started directory.
Deployment & Requirements
- Can be installed via npm, Homebrew, pip, or run with npx.
- Most LLM providers require an API key set as an environment variable.
- Supports on-premise or cloud integration.
Before You Adopt
- License: MIT. Review its terms before using, modifying, or distributing the project.
- Most LLM providers require an API key configured as an environment variable.
- LLM evaluations can run locally and are described as private.