Files
wehub-resource-sync 0d3cb498a3
CI / Shell Format Check (push) Has been cancelled
CI / Check Ruby (3.4) (push) Has been cancelled
CI / CI Config (push) Has been cancelled
CI / Test on Node ${{ matrix.node }} and ${{ matrix.os }}${{ matrix.shard && format(' (shard {0}/3)', matrix.shard) || '' }} (push) Has been cancelled
CI / Build on Node ${{ matrix.node }} (push) Has been cancelled
CI / Style Check (push) Has been cancelled
CI / Generate Assets (push) Has been cancelled
CI / Check Python (3.14) (push) Has been cancelled
CI / Check Python (3.9) (push) Has been cancelled
CI / Build Docs (push) Has been cancelled
CI / Code Scan Action (push) Has been cancelled
CI / Site tests (push) Has been cancelled
CI / webui tests (push) Has been cancelled
CI / Run Integration Tests (push) Has been cancelled
CI / Run Smoke Tests (push) Has been cancelled
CI / Go Tests (push) Has been cancelled
CI / Share Test (push) Has been cancelled
CI / Redteam (Production API) (push) Has been cancelled
CI / Redteam (Staging API) (push) Has been cancelled
CI / GitHub Actions Lint (push) Has been cancelled
CI / Check Ruby (3.0) (push) Has been cancelled
release-please / release-please (push) Has been cancelled
release-please / build (push) Has been cancelled
release-please / publish-npm (push) Has been cancelled
release-please / publish-npm-backfill (push) Has been cancelled
release-please / docker (push) Has been cancelled
release-please / publish-code-scan-action (push) Has been cancelled
release-please / attest-code-scan-action (push) Has been cancelled
Deploy local.promptfoo.app / Deploy to Cloudflare Pages (push) Has been cancelled
Test and Publish Multi-arch Docker Image / test (push) Has been cancelled
Test and Publish Multi-arch Docker Image / build-docker-and-push-digests (map[digest-suffix:linux-amd64 platform:linux/amd64 runner:ubuntu-latest]) (push) Has been cancelled
Test and Publish Multi-arch Docker Image / build-docker-and-push-digests (map[digest-suffix:linux-arm64 platform:linux/arm64 runner:ubuntu-24.04-arm]) (push) Has been cancelled
Test and Publish Multi-arch Docker Image / merge-docker-digests (push) Has been cancelled
Test and Publish Multi-arch Docker Image / Attest Multi-arch Image (push) Has been cancelled
Validate Renovate Config / Validate Renovate Configuration (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:24:08 +08:00

147 lines
4.7 KiB
Markdown

---
title: Using the web viewer
sidebar_position: 30
sidebar_label: Web viewer
description: Compare LLM outputs side-by-side, rate responses for training data, share evaluations, and analyze results with Promptfoo's interactive web viewer.
---
# Using the web viewer
After [running an eval](/docs/getting-started), view results in your browser:
```sh
npx promptfoo@latest view
```
See [`promptfoo view`](/docs/usage/command-line#promptfoo-view) for CLI options.
![promptfoo web viewer](/img/docs/web-ui-viewer.png)
## Keyboard Shortcuts
| Shortcut | Action |
| ------------------ | ----------------------- |
| `Ctrl+K` / `Cmd+K` | Open eval selector |
| `Esc` | Clear search |
| `Shift` (hold) | Show extra cell actions |
## Toolbar
- **Eval selector** - Switch between evals
- **Display mode** - Filter: All, Failures, Passes, Errors, Different, Highlights
- **Search** - Text or regex
- **Filters** - By metrics, metadata, pass/fail. Operators: `=`, `contains`, `>`, `<`
![Display mode dropdown](/img/docs/web-ui-display-mode.png)
## Table Settings
![Table Settings dialog](/img/docs/web-ui-table-settings.png)
- **Columns** - Toggle variable and prompt visibility
- **Zoom** - Scale columns (50%-200%)
- **Truncation** - Max text length, word wrap
- **Rendering** - Markdown, JSON prettification
- **Inference details** - Tokens, latency, cost, tokens/sec
- **Media** - Image size limits; double-click for lightbox
## Cell Actions
Hover to reveal actions. Hold `Shift` for more:
| | Action | Description |
| --- | --------- | ----------------------------------------------- |
| 🔍 | Details | Full output, prompt, variables, grading results |
| 👍 | Pass | Mark as passed (score = 1.0) |
| 👎 | Fail | Mark as failed (score = 0.0) |
| 🔢 | Score | Set custom score (0-1) |
| ✏️ | Comment | Add notes |
| ⭐ | Highlight | Mark for review (`Shift`) |
| 📋 | Copy | Copy to clipboard (`Shift`) |
| 🔗 | Share | Link to this output (`Shift`) |
Ratings and comments persist and are included in exports—use them to build training datasets.
## Eval Actions
![Eval actions menu](/img/docs/web-ui-eval-actions.png)
- **Edit name** - Rename eval
- **Edit and re-run** - Open in eval creator
- **Compare** - Diff against another eval (green = added, red = removed)
- **View YAML** - Show config
- **Download** - Opens export dialog:
| Export | Use case |
| ----------------- | -------------------------------- |
| YAML config | Re-run the eval |
| Failed tests only | Debug failures |
| CSV / JSON | Analysis, reporting |
| DPO JSON | Preference training data |
| Human Eval YAML | Human labeling workflows |
| Burp payloads | Security testing (red team only) |
- **Copy** - Duplicate eval
- **Share** - Generate URL (see [Sharing](#sharing))
- **Delete**
## Results Charts
Toggle with **Show Charts**.
![Results charts](/img/docs/web-ui-results-charts.png)
### Pass Rate
Percentage of tests where all [assertions](/docs/configuration/expected-outputs) passed.
### Score Distribution
Histogram of scores per prompt. Each test score = mean of its assertion scores. See [weighted assertions](/docs/configuration/expected-outputs#weighted-assertions).
### Scatter Plot
Compare two prompts head-to-head. Click to select prompts.
- **Green** = Prompt 2 scored higher
- **Red** = Prompt 1 scored higher
- **Gray** = Same score
## Sharing
**Eval actions → Share** generates a URL.
### Cloud
Free at [promptfoo.app](https://promptfoo.app/welcome). Links are private to your organization.
```sh
promptfoo auth login -k YOUR_API_KEY
promptfoo share
```
### Self-hosted
For [self-hosted deployments](/docs/usage/self-hosting):
```yaml title="promptfooconfig.yaml"
sharing:
apiBaseUrl: http://your-server:3000
appBaseUrl: http://your-server:3000
```
Or set via **API Settings** in the top-right menu. See [sharing docs](/docs/usage/sharing) for auth and CI/CD.
## URL Parameters
Viewer state syncs to the URL—bookmark or share filtered views:
| Parameter | Values |
| ------------ | ---------------------------------------------------------------- |
| `filterMode` | `all`, `failures`, `passes`, `errors`, `different`, `highlights` |
| `search` | Any text |
```text
/eval/abc123?filterMode=failures&search=timeout
```