Overview
Stagehand’s LLM system:- Multi-provider support - OpenAI, Anthropic, Google, Groq, Cerebras, and more
- AI SDK integration - Use any AI SDK-compatible provider
- Native clients - Optimized clients for major providers
- Custom models - Bring your own model via AI SDK
- Provider routing - Automatic client selection based on model name
packages/core/lib/v3/llm/
Supported Providers
Native Clients
Stagehand includes optimized native clients for: OpenAI (OpenAIClient.ts):
AnthropicClient.ts):
GoogleClient.ts):
GroqClient.ts):
CerebrasClient.ts):
AI SDK Providers
Location:packages/core/lib/v3/llm/LLMProvider.ts
Stagehand supports all AI SDK providers:
Model Format
Use theprovider/model format:
LLM Provider System
Location:packages/core/lib/v3/llm/LLMProvider.ts
Getting a Client
AI SDK Language Model
Using Custom Models
Via AI SDK Provider
Location:packages/core/examples/custom_client_aisdk.ts
Via Custom OpenAI Client
Location:packages/core/examples/custom_client_openai.ts
Via LangChain
Location:packages/core/examples/custom_client_langchain.ts
LLM Client Interface
Location:packages/core/lib/v3/llm/LLMClient.ts
Base Client
Chat Completion Options
Usage
Custom Client Options
Base URL Override
Organization ID
Custom Headers
Ollama Integration
Local Models
Vision Models
Agent Model Configuration
Per-Agent Models
Execution Models
Use different models for tool execution:Model Capabilities
Vision Support
Models with vision capabilities:openai/gpt-4oanthropic/claude-3-5-sonnet-*google/gemini-2.5-*ollama/llava
Structured Outputs
Models with native structured output:openai/gpt-4o-2024-08-06anthropic/claude-3-*google/gemini-2.5-*
Function Calling
All major providers support function calling:- OpenAI (via tools)
- Anthropic (via tool_use)
- Google (via functionDeclarations)
- Groq (via tools)
Best Practices
- Use provider/model format: More explicit and future-proof
- Match model to task: Fast models for simple tasks, capable models for complex
- Test with multiple providers: Different strengths for different tasks
- Monitor costs: Track token usage across providers
- Use execution models: Save costs on tool executions
- Cache when possible: Reuse clients and leverage prompt caching
- Handle errors gracefully: Implement fallbacks for provider issues
Error Handling
Performance Comparison
Fast models (for simple tasks):openai/gpt-4o-mini- Very fast, low costgoogle/gemini-2.0-flash-lite- Extremely fastgroq/llama-3.3-70b-specdec- Fastest inferenceanthropic/claude-haiku-3-5- Fast and capable
openai/gpt-4o- Good balancegoogle/gemini-2.5-flash-preview- Fast with good qualityanthropic/claude-3-5-sonnet-*- High quality, reasonable speed
openai/o1- Reasoning tasksanthropic/claude-3-7-sonnet-latest- Best overall qualitygoogle/gemini-2.5-pro-preview- Long context, high quality
References
- LLM Provider:
packages/core/lib/v3/llm/LLMProvider.ts - LLM Client:
packages/core/lib/v3/llm/LLMClient.ts - AI SDK Client:
packages/core/lib/v3/llm/aisdk.ts - OpenAI Client:
packages/core/lib/v3/llm/OpenAIClient.ts - Anthropic Client:
packages/core/lib/v3/llm/AnthropicClient.ts - Google Client:
packages/core/lib/v3/llm/GoogleClient.ts - Custom Client Examples:
packages/core/examples/custom_client_*.ts