Skip to main content

Command line

The promptfoo command line utility supports the following subcommands:

  • init [directory] - Initialize a new project with dummy files.
  • eval - Evaluate prompts and models. This is the command you'll be using the most!
  • view - Start a browser UI for visualization of results.
  • share - Create a URL that can be shared online.
  • cache - Manage cache.
    • cache clear
  • list - List various resources like evaluations, prompts, and datasets.
    • list evals
    • list prompts
    • list datasets
  • show <id> - Show details of a specific resource (evaluation, prompt, dataset).
  • feedback [message] - Send feedback to the Promptfoo developers.

promptfoo eval​

By default the eval command will read the promptfooconfig.yaml configuration file in your current directory. But, if you're looking to override certain parameters you can supply optional arguments:

OptionDescription
-p, --prompts <paths...>Paths to prompt files, directory, or glob
-r, --providers <name or path...>openai:chat, openai:completion, localai:chat:<model-name>, localai:completion:<model-name>, or one of the many other permutations per API providers
-o, --output <paths...>Path to output file (csv, json, yaml, html)
-t, --tests <path>Path to external test file
-c, --config <path>Path to one or more configuration files. promptfooconfig.js/json/yaml is automatically loaded if present. Wildcards and directories are supported.
--graderProvider that will conduct the evaluation, if you are using LLM to grade your output
--repeat <number>Number of times to repeat each test case
--delay <number>Force the test runner to wait after each API call (milliseconds)
--no-cacheDisable cache
--no-tableDisable CLI table output
--no-progress-barDisable the progress bar
--no-writeDo not write the latest config to disk (used for web viewer and sharing)
--prompt-prefix <path>This prefix is prepended to every prompt
--prompt-suffix <path>This suffix is append to every prompt
--shareAutomatically create a share link
--table-cell-max-length <number>Truncate console table cells to this length
--verboseShow debug logs
--viewOpen local web viewer
-j, --max-concurrency <number>Maximum number of concurrent API calls

promptfoo init [directory]​

Initialize a new project with dummy files.

OptionDescription
directoryDirectory to create files in

promptfoo view​

Start a browser UI for visualization of results.

OptionDescription
-p, --port <number>Port number for the local server
-y, --yesSkip confirmation and auto-open the URL

promptfoo share​

Create a URL that can be shared online.

OptionDescription
-y, --yesSkip confirmation before creating shareable URL

promptfoo cache​

Manage cache.

OptionDescription
clearClear the cache

promptfoo feedback [message]​

Send feedback to the Promptfoo developers.

OptionDescription
messageFeedback message

promptfoo list​

List various resources like evaluations, prompts, and datasets.

OptionDescription
evalsList evaluations
promptsList prompts
datasetsList datasets

promptfoo show <id>​

Show details of a specific resource.

OptionDescription
eval <id>Show details of a specific evaluation
prompt <id>Show details of a specific prompt
dataset <id>Show details of a specific dataset