API 参考OpenAI 兼容
推理模型
OpenAI o1、o3 推理 API - 高级 AI 推理解决数学、编程和复杂问题。通过 UniterRouter 访问推理模型,支持扩展思考和思维链。
推理模型
o1 和 o3 等推理模型使用扩展思考来解决数学、编程和科学领域的复杂问题。
可用模型: o1, o1-mini, o1-preview, o3-mini 以及特定提供商的推理模型如 deepseek-reasoner。
工作原理
推理模型在响应前会"思考":
- 内部分析问题
- 分解为步骤
- 生成思维链
- 产出最终答案
基本用法
from openai import OpenAI
client = OpenAI(
base_url="https://api.uniterouter.ai/v1",
api_key="your_api_key",
)
response = client.chat.completions.create(
model="o1",
messages=[
{
"role": "user",
"content": "解题:一列火车用 2 小时行驶 120 公里,然后停了 30 分钟,再用 1.5 小时行驶 90 公里,整个行程的平均速度是多少?"
}
]
)
print(response.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.uniterouter.ai/v1",
apiKey: process.env.UNITEROUTER_API_KEY,
});
const response = await client.chat.completions.create({
model: "o1",
messages: [
{
role: "user",
content: "证明根号 2 是无理数",
},
],
});
console.log(response.choices[0].message.content);curl https://api.uniterouter.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $UNITEROUTER_API_KEY" \
-d '{
"model": "o1",
"messages": [
{"role": "user", "content": "证明素数有无穷多个"}
]
}'推理强度
控制模型思考的深度(o1 和 o3):
response = client.chat.completions.create(
model="o3-mini",
messages=[{"role": "user", "content": "解这个复杂的积分..."}],
reasoning_effort="high" # "low", "medium", "high"
)| 级别 | 使用场景 | Token 消耗 |
|---|---|---|
low | 简单问题 | 较少 |
medium | 平衡(默认) | 中等 |
high | 复杂问题 | 较多 |
模型对比
| 模型 | 适用场景 | 速度 | 成本 |
|---|---|---|---|
o1 | 复杂推理 | 较慢 | 较高 |
o1-mini | 快速推理 | 中等 | 中等 |
o3-mini | 平衡 | 快速 | 较低 |
deepseek-reasoner | 高性价比 | 快速 | 最低 |
DeepSeek Reasoner
访问 DeepSeek 的推理模型:
response = client.chat.completions.create(
model="deepseek-reasoner",
messages=[
{"role": "user", "content": "解释 P vs NP 问题"}
]
)
# 如果可用,访问推理内容
if hasattr(response.choices[0].message, 'reasoning_content'):
print("思考过程:", response.choices[0].message.reasoning_content)
print("答案:", response.choices[0].message.content)使用场景
| 领域 | 示例 |
|---|---|
| 数学 | 证明、复杂计算 |
| 编程 | 算法设计、调试 |
| 科学 | 研究分析、假设验证 |
| 逻辑 | 谜题、推理 |
| 规划 | 多步骤策略 |
示例:复杂数学
response = client.chat.completions.create(
model="o1",
messages=[{
"role": "user",
"content": """
找出所有使得 n^2 + 1 整除 n! + 1 的正整数 n。
请逐步展示你的推导过程。
"""
}]
)示例:代码分析
response = client.chat.completions.create(
model="o1",
messages=[{
"role": "user",
"content": """
分析这个算法并确定其时间复杂度:
def mystery(n):
if n <= 1:
return 1
return mystery(n-1) + mystery(n-2)
同时建议一个优化版本。
"""
}]
)限制
- 不支持流式 - 大多数推理模型不支持流式传输
- 无系统消息 - o1 模型忽略系统提示
- 延迟较高 - 思考需要时间
- Token 用量 - 推理 token 计入限制
最佳实践
- 具体明确 - 清晰的问题陈述获得更好的推理
- 一次一个问题 - 专注于单个复杂任务
- 跳过简单任务 - 简单问题用 GPT-4o
- 验证输出 - 始终验证数学/逻辑结果
- 考虑成本 - 非关键任务用 o1-mini 或 o3-mini
相关文档
- Chat Completions - 基础 API
- 结构化输出 - JSON 响应
How is this guide?