推理模型是一类新型的大型语言模型,它们通过强化学习进行训练,以便在回答问题前进行思考。它们在响应前会产生一个长链的内部思考过程。推理模型的例子包括:
- OpenAI o1-pro 和 o3-mini
- Claude 3.7 sonnet 的扩展思考模式
- Gemini 2.0 闪电思考
- DeepSeek-R1
推理模型在采取行动前会深入思考并制定计划。关键在于模型在开始生成响应之前做了什么。推理模型非常擅长单次使用的用例。它们非常适合解决不需要多轮对话的难题(编码、数学、物理),或者按顺序调用工具。
o3-mini
from agno.agent import Agent
from agno.models.openai import OpenAIChat
agent = Agent(model=OpenAIChat(id="o3-mini"))
agent.print_response(
"解决电车难题。评估多种伦理框架。包括您的解决方案的 ASCII 图。",
stream=True,
)
o3-mini 配合工具使用
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.yfinance import YFinanceTools
agent = Agent(
model=OpenAIChat(id="o3-mini"),
tools=[YFinanceTools(stock_price=True, analyst_recommendations=True, company_info=True, company_news=True)],
instructions="使用表格显示数据。",
show_tool_calls=True,
markdown=True,
)
agent.print_response("撰写一份比较 NVDA 和 TSLA 的报告", stream=True)
o3-mini 配合推理
o3_mini_with_reasoning_effort.py
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.yfinance import YFinanceTools
agent = Agent(
model=OpenAIChat(id="o3-mini", reasoning_effort="high"),
tools=[YFinanceTools(stock_price=True, analyst_recommendations=True, company_info=True, company_news=True)],
instructions="使用表格显示数据。",
show_tool_calls=True,
markdown=True,
)
agent.print_response("撰写一份比较 NVDA 和 TSLA 的报告", stream=True)
使用 Groq 的 DeepSeek-R1
deepseek_r1_using_groq.py
from agno.agent import Agent
from agno.models.groq import Groq
agent = Agent(
model=Groq(
id="deepseek-r1-distill-llama-70b", temperature=0.6, max_tokens=1024, top_p=0.95
),
markdown=True,
)
agent.print_response("9.11 和 9.9 — 哪个更大?", stream=True)
推理模型 + 响应模型
当您运行上面的 DeepSeek-R1 Agent 时,您会注意到响应效果并不理想。这是因为 DeepSeek-R1 擅长解决问题,但不擅长以自然的方式(如 claude sonnet 或 gpt-4.5)进行响应。
如果我们想使用一个推理模型进行推理,但使用另一个模型来生成响应呢?
好消息!Agno 允许您同时使用推理模型和不同的响应模型。通过为推理和响应使用不同的模型,我们可以兼得两者之长。
DeepSeek-R1 + Claude Sonnet
from agno.agent import Agent
from agno.models.anthropic import Claude
from agno.models.groq import Groq
deepseek_plus_claude = Agent(
model=Claude(id="claude-3-7-sonnet-20250219"),
reasoning_model=Groq(
id="deepseek-r1-distill-llama-70b", temperature=0.6, max_tokens=1024, top_p=0.95
),
)
deepseek_plus_claude.print_response("9.11 和 9.9 — 哪个更大?", stream=True)
开发者资源
Responses are generated using AI and may contain mistakes.