Reasoning Effort

Set DeepSeek's reasoning_effort to control how much it reasons before answering.

Code

Set reasoning_effort to "low", "high", or "max". The API defaults to "high"; use "max" for demanding reasoning tasks. See DeepSeek thinking mode for effort mappings. While thinking is active, temperature, top_p, presence_penalty and frequency_penalty are ignored by the API.

from agno.agent import Agent
from agno.models.deepseek import DeepSeek

agent = Agent(
    model=DeepSeek(id="deepseek-v4-pro", reasoning_effort="max"),
    markdown=True,
)

task = (
    "A farmer needs to cross a river with a fox, a chicken and a sack of grain. "
    "The boat only fits the farmer and one item. The fox cannot be left alone with "
    "the chicken, and the chicken cannot be left alone with the grain. "
    "Provide a step-by-step solution."
)

if __name__ == "__main__":
    agent.print_response(task, stream=True, show_full_reasoning=True)

Usage

Set up your virtual environment

uv venv --python 3.12
source .venv/bin/activate

Set your API key

export DEEPSEEK_API_KEY=xxx

Install dependencies

uv pip install -U openai agno

Run Agent

Save the code above as reasoning_effort.py, then run:

python reasoning_effort.py