- OpenAI o1-pro and gpt-5-mini
- Claude 3.7 sonnet in extended-thinking mode
- Gemini 2.0 flash thinking
- DeepSeek-R1
Examples
gpt-5-mini
gpt_5_mini.py
gpt-5-mini with tools
gpt_5_mini_with_tools.py
gpt-5-mini with reasoning effort
gpt_5_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). To solve this problem, Agno supports using separate models for reasoning and response generation. This approach leverages a reasoning model for problem-solving while using a different model optimized for natural language responses, combining the strengths of both.DeepSeek-R1 + Claude Sonnet
deepseek_plus_claude.py
Streaming Reasoning Content
When using areasoning_model, you can stream the reasoning content as it’s being generated. This allows you to see the model’s thought process in real-time.
To enable streaming reasoning, set stream=True and stream_events=True when running the agent:
streaming_reasoning.py
Capturing Reasoning Events
You can also capture individual reasoning events. This gives you fine-grained control over how reasoning content is displayed:capture_reasoning_events.py
| Event | Description |
|---|---|
RunEvent.reasoning_started | Emitted when reasoning begins |
RunEvent.reasoning_content_delta | Emitted for each chunk of reasoning content as it streams |
RunEvent.run_content | Emitted for the final response content |