examples/xai/chat/README.md
This example demonstrates how to evaluate xAI's Grok models across their main capabilities: text generation with reasoning, image creation, and server-side search tools.
You can run this example with:
npx promptfoo@latest init --example xai/chat
cd xai/chat
This example requires the following environment variable:
XAI_API_KEY - Your xAI API key. You can obtain this from the xAI Console# Set your API key
export XAI_API_KEY=your_api_key_here
# Run the main evaluation
promptfoo eval
# View results in the web interface
promptfoo view
This example includes configurations to test different Grok capabilities:
promptfooconfig.yaml) - Mathematical reasoning with the current Grok 4.3 and Grok 4.20 familiespromptfooconfig.images.yaml) - Artistic image creation using Grok's image modelspromptfooconfig.search.yaml) - Real-time web and X search using the Responses APIpromptfooconfig.responses.yaml) - Autonomous web and X search using Agent Toolspromptfooconfig.promptfoo-search.yaml) - Responses API search with assertions example# Text generation with mathematical reasoning
promptfoo eval -c promptfooconfig.yaml
# Image generation with artistic styles
promptfoo eval -c promptfooconfig.images.yaml
# Search tools with web and X sources
promptfoo eval -c promptfooconfig.search.yaml
# Agent Tools with Responses API (recommended)
promptfoo eval -c promptfooconfig.responses.yaml
# Search demo with assertions
promptfoo eval -c promptfooconfig.promptfoo-search.yaml
The recommended starting point for general text workflows:
xai:grok-4.3 - General-purpose reasoning modelreasoning_effort - Supports none, low, medium, and high in chat configsxai:responses:grok-4.3 - Recommended form for server-side toolsxai:grok-4.20-reasoning - Reasoning modelxai:grok-4.20-non-reasoning - Non-reasoning modelxai:grok-4.20-multi-agent - Multi-agent variantxAI periodically retires older model slugs and may keep them working through redirects to newer replacements. This example uses Grok 4.3 plus alias-style Grok 4.20 family IDs, matching xAI's guidance for configs that should track the current release within a family.
Enable autonomous tool execution via the Responses API:
providers:
- id: xai:responses:grok-4.3
config:
tools:
- type: web_search
- type: x_search
- type: code_interpreter
Enable real-time search via the Responses API:
providers:
- id: xai:responses:grok-4.3
config:
tools:
- type: web_search
- type: x_search