Scientific Abstract Critique

Critique a scientific abstract with a DeepSeek reasoning stage and an OpenAI response.

Demonstrates DeepSeek-backed reasoning for methodology critique.

DeepSeek retired the deepseek-reasoner alias after July 24, 2026. Before running this archived example, replace DeepSeek(id="deepseek-reasoner") with DeepSeek(id="deepseek-v4-flash") in the saved program. The main OpenAI model remains a separate call, so both provider keys are required. See the DeepSeek V4 migration notice.

scientific_research.py
"""
Scientific Abstract Critique
============================

Demonstrates DeepSeek-backed reasoning for methodology critique.
"""

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

# ---------------------------------------------------------------------------
# Create Agent
# ---------------------------------------------------------------------------
task = (
    "Read the following abstract of a scientific paper and provide a critical evaluation of its methodology,"
    "results, conclusions, and any potential biases or flaws:\n\n"
    "Abstract: This study examines the effect of a new teaching method on student performance in mathematics. "
    "A sample of 30 students was selected from a single school and taught using the new method over one semester. "
    "The results showed a 15% increase in test scores compared to the previous semester. "
    "The study concludes that the new teaching method is effective in improving mathematical performance among high school students."
)

agent = Agent(
    model=OpenAIResponses(id="gpt-5.6"),
    reasoning_model=DeepSeek(id="deepseek-reasoner"),
    markdown=True,
)

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

An explicit reasoning_model runs as a separate, tool-free reasoning stage before the main model response. show_full_reasoning=True displays the reasoning data Agno receives; it cannot reveal a provider's private internal trace. Some adapters use the reasoning stage's answer text when separate reasoning content is unavailable. A failed reasoning stage can still be followed by a main-model answer, so a completed run alone does not prove the reasoning stage succeeded.

Run the Example

Set up your virtual environment

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

Install dependencies

uv pip install -U agno openai

Export your API keys

export DEEPSEEK_API_KEY="your_deepseek_api_key_here"
export OPENAI_API_KEY="your_openai_api_key_here"

Run the example

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

python scientific_research.py

Full source: cookbook/10_reasoning/agents/scientific_research.py