Skip to main content
Reasoning models are a new class of large language models trained with reinforcement learning to think before they answer. They produce a long internal chain of thought before responding. Examples of reasoning models include:
  • OpenAI o1-pro and o3-mini
  • Claude 3.7 sonnet in extended-thinking mode
  • Gemini 2.0 flash thinking
  • DeepSeek-R1
Reasoning models deeply consider and think through a plan before taking action. Its all about what the model does before it starts generating a response. Reasoning models excel at single-shot use-cases. They’re perfect for solving hard problems (coding, math, physics) that don’t require multiple turns, or calling tools sequentially.

Examples

o3-mini

o3_mini.py

o3-mini with tools

o3_mini_with_tools.py

o3-mini with reasoning effort

o3_mini_with_reasoning_effort.py

DeepSeek-R1 using Groq

deepseek_r1_using_groq.py

Reasoning Model + Response Model

When you run the DeepSeek-R1 Agent above, you’ll notice that the response is not that great. This is because DeepSeek-R1 is great at solving problems but not that great at responding in a natural way (like claude sonnet or gpt-4.5). What if we wanted to use a Reasoning Model to reason but a different model to generate the response? Great news! Agno allows you to use a Reasoning Model and a different Response Model together. By using a separate model for reasoning and a different model for responding, we can have the best of both worlds.

DeepSeek-R1 + Claude Sonnet

deepseek_plus_claude.py

Developer Resources