0d3cb498a3
Deploy local.promptfoo.app / Deploy to Cloudflare Pages (push) Waiting to run
Test and Publish Multi-arch Docker Image / test (push) Waiting to run
Test and Publish Multi-arch Docker Image / build-docker-and-push-digests (map[digest-suffix:linux-amd64 platform:linux/amd64 runner:ubuntu-latest]) (push) Blocked by required conditions
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) Blocked by required conditions
Test and Publish Multi-arch Docker Image / merge-docker-digests (push) Blocked by required conditions
Test and Publish Multi-arch Docker Image / Attest Multi-arch Image (push) Blocked by required conditions
CI / Shell Format Check (push) Waiting to run
CI / Check Ruby (3.4) (push) Waiting to run
CI / CI Config (push) Waiting to run
CI / Test on Node ${{ matrix.node }} and ${{ matrix.os }}${{ matrix.shard && format(' (shard {0}/3)', matrix.shard) || '' }} (push) Blocked by required conditions
CI / Build on Node ${{ matrix.node }} (push) Blocked by required conditions
CI / Style Check (push) Waiting to run
CI / Generate Assets (push) Waiting to run
CI / Check Python (3.14) (push) Waiting to run
CI / Check Python (3.9) (push) Waiting to run
CI / Build Docs (push) Waiting to run
CI / Code Scan Action (push) Waiting to run
CI / Site tests (push) Waiting to run
CI / webui tests (push) Waiting to run
CI / Run Integration Tests (push) Waiting to run
CI / Run Smoke Tests (push) Waiting to run
CI / Go Tests (push) Waiting to run
CI / Share Test (push) Waiting to run
CI / Redteam (Production API) (push) Waiting to run
CI / Redteam (Staging API) (push) Waiting to run
CI / GitHub Actions Lint (push) Waiting to run
CI / Check Ruby (3.0) (push) Waiting to run
release-please / release-please (push) Waiting to run
release-please / build (push) Blocked by required conditions
release-please / publish-npm (push) Blocked by required conditions
release-please / publish-npm-backfill (push) Waiting to run
release-please / docker (push) Blocked by required conditions
release-please / publish-code-scan-action (push) Blocked by required conditions
release-please / attest-code-scan-action (push) Blocked by required conditions
Validate Renovate Config / Validate Renovate Configuration (push) Waiting to run
eval-search-rubric (Search Rubric)
You can run this example with:
npx promptfoo@latest init --example eval-search-rubric
cd eval-search-rubric
This example demonstrates how to use the search-rubric assertion type to verify that LLM outputs contain accurate, current information.
Overview
The search-rubric assertion allows you to verify facts by searching the web in real-time. This is particularly useful for:
- Current events and news
- Stock prices and financial data
- Weather information
- Recent company information
- Any time-sensitive data
Running the Example
npx promptfoo eval
How It Works
- The LLM generates a response to your prompt
- The search-rubric assertion extracts the claim you want to verify
- A provider with web search capabilities searches for current information
- The assertion passes or fails based on whether the output matches current web data
Provider Support
Anthropic Claude
- Web search capabilities via tool configuration (launched in 2025)
- Requires explicit
web_search_20250305tool configuration - Pricing: $10 per 1,000 searches plus standard token costs
OpenAI
- Requires
web_search_previewtool configuration - Works with gpt-5.1, o4-mini, and other Responses API models
Perplexity
- Built-in web search capabilities
- No additional configuration needed
Configuration
assert:
- type: search-rubric
value: 'search query to verify'
threshold: 0.8 # Optional: minimum accuracy score (0-1)
Notes
- Search rubric assertions add latency (2-5 seconds per assertion)
- Use caching during development:
npx promptfoo eval --cache - Be specific with your search queries for better results