GPT-OSS Plus Claude

Use GPT-OSS 120B on Groq as a separate stage before a Claude response.

A Groq-hosted reasoning model thinks; Claude writes the answer.

deepseek_plus_claude.py
"""
Groq Reasoning Plus Claude
==========================

A Groq-hosted reasoning model thinks; Claude writes the answer.
"""

from agno.agent import Agent
from agno.models.anthropic import Claude
from agno.models.groq import Groq

# ---------------------------------------------------------------------------
# Create Agent
# ---------------------------------------------------------------------------
agent = Agent(
    model=Claude(id="claude-sonnet-4-5"),
    reasoning_model=Groq(
        id="openai/gpt-oss-120b",
        temperature=0.6,
        max_tokens=1024,
        top_p=0.95,
    ),
)

# ---------------------------------------------------------------------------
# Run Agent
# ---------------------------------------------------------------------------
if __name__ == "__main__":
    agent.print_response(
        "9.11 and 9.9 -- which is bigger?",
        stream=True,
        show_full_reasoning=True,
    )

The current Groq adapter reads answer text but does not copy the provider's separate reasoning field into Agno reasoning output. When Groq is the explicit reasoning stage, Agno hands its answer text to the final model as a fallback. show_full_reasoning cannot recover the dropped provider field.

Run the Example

Set up your virtual environment

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

Install dependencies

uv pip install -U agno anthropic groq

Export your API keys

export ANTHROPIC_API_KEY="your_anthropic_api_key_here"
export GROQ_API_KEY="your_groq_api_key_here"

Run the example

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

python deepseek_plus_claude.py

Full source: cookbook/10_reasoning/models/groq/deepseek_plus_claude.py