# Reasoning Models URL: /models/reasoning-models Reasoning models are specialized LLMs that expose their internal thought process before generating a final response. These models excel at complex tasks requiring multi-step reasoning, problem-solving, and logical analysis by spending additional compute time "thinking" through the problem. You can add reasoning parameters through your project's LLM provider settings. Tambo currently supports reasoning capabilities for **OpenAI models** (GPT-5, GPT-5 Mini, GPT-5 Nano, O3) and **Google Gemini models** (2.5 Pro, 2.5 Flash). Each provider uses different parameter names to control reasoning behavior. ## What Are Reasoning Models? Traditional LLMs generate responses token-by-token in a single forward pass. Reasoning models add an intermediate "thinking" phase where the model: 1. **Analyzes the problem** - Breaks down complex queries into sub-problems 2. **Explores solutions** - Considers multiple approaches and their tradeoffs 3. **Verifies reasoning** - Checks its logic before committing to an answer 4. **Generates response** - Produces the final output based on verified reasoning This thinking process is captured as **reasoning tokens** that you can access, display, and analyze alongside the final response. ## Supported Models ### OpenAI Models OpenAI's reasoning models expose their thought process through dedicated parameters: | Model | Description | | -------------- | --------------------------------------------- | | **GPT-5** | Latest flagship model with advanced reasoning | | **GPT-5 Mini** | Faster, cost-effective reasoning model | | **GPT-5 Nano** | Smallest, most efficient reasoning model | | **O3** | Specialized reasoning model | **OpenAI Reasoning Parameters:** | Parameter | Type | Description | Values | | ------------------ | ------ | --------------------------------------- | ------------------------------------------ | | `reasoningEffort` | string | Controls intensity of reasoning process | `"minimal"`, `"low"`, `"medium"`, `"high"` | | `reasoningSummary` | string | Enables reasoning token output | `"auto"`, `"detailed"` | ### Google Gemini Models Gemini models use a "thinking budget" approach to control reasoning: | Model | Description | | -------------------- | ------------------------------------------------ | | **gemini-2.5-pro** | Most capable Gemini model with extended thinking | | **gemini-2.5-flash** | Fast, efficient reasoning for production use | **Gemini Reasoning Parameters:** | Parameter | Type | Description | | -------------------------------- | ------- | --------------------------------------- | | `thinkingConfig` | object | Configuration for thinking behavior | | `thinkingConfig.thinkingBudget` | number | Token budget allocated for thinking | | `thinkingConfig.includeThoughts` | boolean | Whether to include thinking in response | ## Configuring Reasoning in the Dashboard Reasoning parameters are configured in your project's LLM provider settings on the dashboard. Here's how to set them up: ### Step 1: Access Provider Settings 1. Navigate to your project in the dashboard 2. Go to **Settings** → **LLM Providers** 3. Select your provider and model that supports reasoning ### Step 2: Configure OpenAI Reasoning Parameters For OpenAI models (GPT-5, GPT-5 Mini, GPT-5 Nano, O3): 1. Under **Custom LLM Parameters**, you'll see suggested parameters 2. Click **+ reasoningEffort** to add it 3. Set the value to control reasoning intensity: * **`"low"`** - Quick reasoning for simple tasks (faster, cheaper) * **`"medium"`** - Balanced reasoning for most use cases (recommended) * **`"high"`** - Deep reasoning for complex problems (slower, more expensive) 4. Click **+ reasoningSummary** to add it 5. Set the value to **`"auto"`** to receive reasoning tokens in responses 6. Click **Save** to apply the configuration When you select an OpenAI reasoning model, the dashboard automatically shows **reasoningEffort** and **reasoningSummary** as suggested parameters. Just click them to add! ### Step 3: Configure Gemini Reasoning Parameters For Gemini models (2.5 Pro, 2.5 Flash): 1. Under **Custom LLM Parameters**, look for the **+ thinkingConfig** suggestion 2. Click **+ thinkingConfig** to add it 3. Configure the thinking behavior with a JSON object: ```json { "thinkingBudget": 5000, "includeThoughts": true } ``` 4. Set **`thinkingBudget`** based on your needs: * **1000-2000**: Quick reasoning for simple tasks * **3000-5000**: Standard reasoning for most use cases (recommended) * **7000+**: Extended reasoning for complex problems 5. Set **`includeThoughts`** to **`true`** to receive thinking tokens 6. Click **Save** to apply the configuration When you select a Gemini reasoning model, the dashboard automatically shows **thinkingConfig** as a suggested parameter. Just click it to add! ### Example Configurations **OpenAI - Balanced Reasoning:** * Parameter: `reasoningEffort` → Value: `"medium"` * Parameter: `reasoningSummary` → Value: `"auto"` **OpenAI - Deep Reasoning:** * Parameter: `reasoningEffort` → Value: `"high"` * Parameter: `reasoningSummary` → Value: `"auto"` **Gemini - Standard Reasoning:** * Parameter: `thinkingConfig` → Value: `{"thinkingBudget": 5000, "includeThoughts": true}` **Gemini - Extended Reasoning:** * Parameter: `thinkingConfig` → Value: `{"thinkingBudget": 8000, "includeThoughts": true}` ## When to Use Reasoning Models Reasoning models work best for tasks that benefit from step-by-step thinking: **✅ Best for:** * Complex problem-solving and analysis * Mathematical calculations and proofs * Code review and debugging * Strategic planning requiring multiple steps * Tasks where showing work builds user trust **⚠️ Not ideal for:** * Simple Q\&A or fact retrieval * Real-time chat requiring instant responses * High-volume, cost-sensitive applications ## Displaying Reasoning in Your App Tambo components automatically handle reasoning display - no additional code required. ### Built-in Support When you add Tambo components from the CLI, reasoning support is included out-of-the-box: ```bash npx tambo add message ``` These components include the `ReasoningInfo` sub-component that: * **Auto-displays** reasoning in a collapsible dropdown * **Shows thinking progress** with step counts during streaming * **Auto-collapses** when the final response arrives * **Auto-scrolls** to follow reasoning as it streams If you're using Tambo's pre-built components (message, thread-content, message-thread-full, etc.), reasoning display is already built-in. Just configure reasoning parameters in your dashboard and it works automatically. ### Custom Implementation If building custom components, reasoning is available in the `ThreadMessage` type: ```typescript interface ThreadMessage { id: string; content: string; role: "user" | "assistant"; reasoning?: string[]; // Array of reasoning strings // ... other fields } ``` Access it like any other message property: ```tsx { message.reasoning?.map((step, index) => (
Step {index + 1}: {step}
)); } ``` ## Best Practices ### Performance Optimization **Balance reasoning effort with cost and latency in your dashboard configuration:** **Development Environment:** * Use `reasoningEffort: "high"` for thorough testing * Enable `reasoningSummary: "auto"` to debug thinking process * Higher costs acceptable for development **Production Environment:** * Use `reasoningEffort: "medium"` for balanced performance * Enable `reasoningSummary: "auto"` to maintain reasoning capabilities * Optimize for cost-performance balance **High-Volume Applications:** * Use `reasoningEffort: "low"` or disable reasoning parameters * Consider using non-reasoning models for simple queries * Monitor token usage and costs closely ### Cost Considerations Reasoning tokens are billed separately and typically cost more than standard tokens: * **Monitor usage** - Track reasoning token consumption in your dashboard * **Optimize effort** - Use lower reasoning effort when appropriate * **Token budgets** - For Gemini, set appropriate `thinkingBudget` values based on task complexity ## Troubleshooting **Reasoning not appearing in responses?** * Verify you're using a supported model (GPT-5, GPT-5 Mini, GPT-5 Nano, O3, or Gemini 2.5) * Check your dashboard settings under **LLM Providers** → **Custom LLM Parameters** * For OpenAI: Ensure `reasoningSummary` is added and set to `"auto"` * For Gemini: Ensure `thinkingConfig` has `includeThoughts: true` * Click **Save Settings** after making changes **Reasoning tokens consuming too many resources?** * In your dashboard settings, lower `reasoningEffort` from `"high"` to `"medium"` or `"low"` * For Gemini models, reduce the `thinkingBudget` value in `thinkingConfig` * Create separate projects with different configurations for simple vs. complex queries * Monitor token usage in your Tambo Cloud usage dashboard * Consider using non-reasoning models for high-volume, simple tasks ## Additional Resources Reasoning parameters are part of Tambo's custom LLM parameter system. For information on configuring other model parameters, see [Custom LLM Parameters](/models/custom-llm-parameters). * **OpenAI Reasoning Models**: [OpenAI Documentation](https://platform.openai.com/docs/guides/reasoning) * **Gemini Thinking Config**: [Google AI Documentation](https://ai.google.dev/gemini-api/docs/thinking) * **Tambo Cloud GitHub**: [View Implementation](https://github.com/tambo-ai/tambo-cloud)