Feature Support Matrix
This table shows which features are supported by each model provider in the Upsonic framework.Core Features
| Provider | Tools | JSON Schema Output | JSON Object Output | Streaming | Thinking/Reasoning |
|---|---|---|---|---|---|
| OpenAI | ✅ | ✅ | ✅ | ✅ | ✅ (o1, o3, gpt-5) |
| Anthropic | ✅ | ✅ | ✅ | ✅ | ✅ (Extended Thinking) |
| Google Gemini | ✅ | ✅ | ❌ | ✅ | ✅ (Thinking Config) |
| Groq | ✅ | ✅ | ✅ | ✅ | ✅ (QwQ, DeepSeek-R1) |
| Cohere | ✅ | ❌ | ❌ | ❌ | ✅ (Native) |
| Mistral | ✅ | ❌ | ✅ | ✅ | ✅ (Native) |
| AWS Bedrock | ✅ | ❌ | ❌ | ✅ | ✅ (Model-dependent) |
| Azure OpenAI | ✅ | ✅ | ✅ | ✅ | ✅ (o1, o3, gpt-5) |
| HuggingFace | ✅ | ❌ | ❌ | ✅ | ❌ |
| DeepSeek | ✅ | ✅ | ✅ | ✅ | ✅ (R1 models) |
Advanced Features
| Provider | Built-in Tools | Token Counting | Prompt Caching | Parallel Tool Calls |
|---|---|---|---|---|
| OpenAI | ✅ (Web Search, Code Interpreter, File Search) | ❌ | ❌ | ✅ |
| Anthropic | ✅ (Web Search, Code Execution) | ❌ | ✅ | ✅ |
| Google Gemini | ✅ (Web Search, Code Execution) | ✅ | ✅ | ❌ |
| Groq | ✅ (Web Search on specific models) | ❌ | ❌ | ✅ |
| Cohere | ❌ | ❌ | ❌ | ❌ |
| Mistral | ❌ | ❌ | ❌ | ❌ |
| AWS Bedrock | ❌ | ❌ | ❌ | ❌ |
| Azure OpenAI | ✅ (Same as OpenAI) | ❌ | ❌ | ✅ |
| HuggingFace | ❌ | ❌ | ❌ | ❌ |
| DeepSeek | ❌ | ❌ | ❌ | ✅ |
Feature Descriptions
Tools (Function Calling)
The ability for models to call external functions and tools. All major providers support this feature. Example:JSON Schema Output
Native support for structured output with JSON schema validation. Ensures type-safe responses. Supported by: OpenAI, Anthropic, Google, Groq, Azure OpenAI, DeepSeek Example:JSON Object Output
Basic JSON object output without strict schema validation. Supported by: OpenAI, Anthropic, Groq, Mistral, Azure OpenAI, DeepSeekStreaming
Real-time token streaming for responsive applications. Supported by: All providers except Cohere Example:Thinking/Reasoning
Models can show their reasoning process before providing final answers. Implementation varies by provider:- OpenAI (o1, o3, gpt-5): Native reasoning with summary generation
- Anthropic: Extended Thinking with configurable token budgets
- Google: Thinking configuration with automatic/manual budgets
- Groq: QwQ and DeepSeek-R1 distilled models
- Cohere: Native thinking blocks in responses
- Mistral:
<think>tags for reasoning - DeepSeek: R1 models with reasoning content
Built-in Tools
Provider-managed tools that don’t require custom implementations.Web Search
- OpenAI: Available on
-search-previewmodels - Anthropic: Available with
web_search_20250114tool - Google: Grounding with Google Search
- Groq: Available on select models
Code Execution
- OpenAI: Code Interpreter tool
- Anthropic: Code execution with
bash_20250114tool - Google: Code execution functionality
Token Counting
Pre-request token counting to estimate costs and manage context windows. Supported by: Google Gemini only Example:Prompt Caching
Cache frequently used prompts to reduce latency and costs. Supported by: Anthropic, Google Gemini Anthropic Prompt Caching:- Automatically caches context longer than 1024 tokens
- Up to 5 minutes cache lifetime
- Significant cost reduction for repeated prompts
- Controlled via
google_cached_contentparameter - Requires explicit cache creation
Parallel Tool Calls
Execute multiple tool calls simultaneously for faster responses. Supported by: OpenAI, Anthropic, Groq, Azure OpenAI, DeepSeek Example:Model Settings Support
Common Settings (All Providers)
These settings are supported by most providers:max_tokens: Maximum tokens to generatetemperature: Randomness (0.0 to 2.0)top_p: Nucleus samplingstop_sequences: Stop generation sequencesseed: Random seed for reproducibility
Provider-Specific Settings
Each provider has unique settings prefixed with the provider name:| Provider | Unique Settings |
|---|---|
| OpenAI | openai_reasoning_effort, openai_logprobs, openai_service_tier, openai_prediction |
| Anthropic | anthropic_thinking, anthropic_metadata |
google_safety_settings, google_thinking_config, google_labels, google_cached_content | |
| Groq | groq_reasoning_format |
| Bedrock | bedrock_guardrail_config, bedrock_performance_configuration |
OpenAI-Compatible Providers
Many providers offer OpenAI-compatible APIs, meaning they work with theOpenAIChatModel class:
| Provider | Compatibility | Notes |
|---|---|---|
| DeepSeek | Full | Includes reasoning models (R1) |
| Cerebras | Full | Fast inference |
| Fireworks | Full | Multiple model options |
| GitHub Models | Full | Free tier available |
| Grok | Full | xAI’s models |
| Together | Full | Multiple providers |
| OpenRouter | Full | Gateway to 100+ models |
| Azure OpenAI | Full | Enterprise features |
| Ollama | Partial | Local deployment, basic features |
Choosing a Provider
For Production Applications
- OpenAI: Best overall quality, advanced features (Responses API)
- Anthropic: Strong reasoning, extended thinking, enterprise safety
- Google Gemini: Long context, multimodal, cost-effective
For Development
- Groq: Extremely fast inference, good for testing
- Ollama: Local deployment, no API costs
- HuggingFace: Access to open-source models
For Cost Optimization
- Google Gemini Flash: Low cost, fast
- Groq: Generous free tier
- DeepSeek: Competitive pricing
For Reasoning Tasks
- OpenAI o1/o3: Advanced reasoning
- Anthropic: Extended Thinking with token budgets
- DeepSeek R1: Open reasoning models
- Groq QwQ: Fast reasoning inference
Next Steps
- Native Model Providers - OpenAI, Anthropic, Google, Groq, Cohere, Mistral
- Cloud Model Providers - AWS Bedrock, Azure OpenAI
- Local Model Providers - Ollama
- Model Gateways - OpenRouter, LiteLLM
- OpenAI-Compatible Models - Using OpenAI-compatible endpoints

