Plan Itinerary

Plan an itinerary using a native DeepSeek reasoning stage and an OpenAI response.

plan_itinerary.py
"""
Plan Itinerary
==============

Demonstrates this reasoning cookbook example.
"""

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


# ---------------------------------------------------------------------------
# Create Example
# ---------------------------------------------------------------------------
def run_example() -> None:
    # ---------------------------------------------------------------------------
    # Create Agent
    # ---------------------------------------------------------------------------
    task = "Plan an itinerary from Los Angeles to Las Vegas"

    reasoning_agent = Agent(
        model=OpenAIChat(id="gpt-5.6-luna"),
        reasoning_model=DeepSeek(id="deepseek-reasoner"),
        markdown=True,
    )

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


# ---------------------------------------------------------------------------
# Run Example
# ---------------------------------------------------------------------------
if __name__ == "__main__":
    run_example()

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.

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 plan_itinerary.py, then run:

python plan_itinerary.py

Full source: cookbook/10_reasoning/models/deepseek/plan_itinerary.py