2025最新DeepSeek R1 API完全使用指南:三种调用方法详解【保姆级教程】
本文详细介绍了DeepSeek R1 API的三种调用方法,包括官方API、硅基流动API和OpenRouter,提供了完整的代码示例和最佳实践,帮助开发者和普通用户轻松接入DeepSeek R1大模型。
2025最新DeepSeek R1 API完全使用指南:三种调用方法详解【保姆级教程】

引言:为什么选择DeepSeek R1?
DeepSeek R1作为2025年最受欢迎的开源大模型之一,凭借其卓越的推理能力和强大的代码生成能力,已经成为众多开发者和企业的首选。与其他大模型相比,DeepSeek R1具有以下显著优势:
- 强大的推理能力:在复杂推理任务上表现出色,超越同类开源模型
- 优秀的代码能力:代码生成、调试和解释能力接近闭源商业模型
- 开放的生态系统:提供多种调用方式,适合不同用户需求
- 中英双语优化:对中文有着良好的理解和生成能力
- 持续更新迭代:模型不断优化,性能持续提升
本文将详细介绍DeepSeek R1 API的三种调用方法,无论您是专业开发者还是AI爱好者,都能找到最适合自己的接入方式。
DeepSeek R1 API三种调用方法对比
在开始详细教程前,让我们先对三种调用方法进行对比,帮助您快速选择最适合自己的方案:

从上图可以看出:
- 官方API:功能最全,但需要国外信用卡和繁琐认证,适合企业用户
- 硅基流动API:操作简单,支持人民币付款,国内直接访问,适合个人用户
- OpenRouter:一个API可调用多种模型,适合需要对比多个模型的用户
接下来,我们将详细介绍这三种方法的具体实现步骤。
方法一:官方API调用DeepSeek R1
官方API是直接从DeepSeek官方获取API密钥并调用的方式,具有功能最全、模型最新的优势。

步骤1:注册DeepSeek账号并创建API Key
- 访问DeepSeek API文档
- 点击右上角"Sign Up"注册账号
- 登录后进入控制台,点击"API Keys"创建新的API密钥
- 注意:此步骤需要绑定国外信用卡进行验证
提示:首次注册用户通常会获得一定的免费额度,可用于测试和小规模应用。
步骤2:安装OpenAI兼容的Python SDK
DeepSeek R1 API兼容OpenAI的接口规范,因此我们可以直接使用OpenAI的Python SDK:
hljs bashpip install openai
步骤3:编写Python代码调用DeepSeek R1
以下是一个基本的调用示例:
hljs pythonfrom openai import OpenAI
# 初始化客户端
client = OpenAI(
api_key="your_api_key_here", # 替换为你的API密钥
base_url="https://api.deepseek.com/v1" # DeepSeek的API基础URL
)
# 创建聊天完成请求
response = client.chat.completions.create(
model="deepseek-reasoner", # 指定使用DeepSeek R1模型
messages=[
{"role": "system", "content": "你是一个有用的AI助手。"},
{"role": "user", "content": "解释量子计算的基本原理"}
],
temperature=0.7, # 控制输出的随机性
max_tokens=1000 # 控制回复的最大长度
)
# 打印回复内容
print(response.choices[0].message.content)
官方API高级用法
除了基本的聊天完成功能,DeepSeek R1官方API还支持以下高级功能:
1. 流式输出(Streaming)
流式输出可以实现类似ChatGPT那样的打字机效果,提升用户体验:
hljs pythonstream = client.chat.completions.create(
model="deepseek-reasoner",
messages=[{"role": "user", "content": "写一首关于人工智能的诗"}],
stream=True # 启用流式输出
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
2. 函数调用(Function Calling)
DeepSeek R1支持函数调用功能,可以让模型调用预定义的函数:
hljs pythondef get_weather(location, unit="celsius"):
"""获取指定位置的天气信息"""
# 这里应该是实际的天气API调用
return {"location": location, "temperature": 22, "unit": unit}
response = client.chat.completions.create(
model="deepseek-reasoner",
messages=[{"role": "user", "content": "北京今天的天气怎么样?"}],
tools=[{
"type": "function",
"function": {
"name": "get_weather",
"description": "获取指定位置的天气信息",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "城市名称,如'北京'、'上海'"
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
"description": "温度单位"
}
},
"required": ["location"]
}
}
}]
)
# 处理模型的函数调用请求
tool_call = response.choices[0].message.tool_calls[0]
if tool_call.function.name == "get_weather":
import json
args = json.loads(tool_call.function.arguments)
weather_info = get_weather(args["location"], args.get("unit", "celsius"))
# 将函数执行结果发回模型
final_response = client.chat.completions.create(
model="deepseek-reasoner",
messages=[
{"role": "user", "content": "北京今天的天气怎么样?"},
response.choices[0].message,
{
"role": "tool",
"tool_call_id": tool_call.id,
"content": json.dumps(weather_info)
}
]
)
print(final_response.choices[0].message.content)
方法二:硅基流动API调用DeepSeek R1
硅基流动API是国内用户访问DeepSeek R1最便捷的方式,无需科学上网,支持人民币付款。

步骤1:注册硅基流动账号并获取API Key
- 访问硅基流动官网
- 注册账号并登录
- 在个人中心找到"API密钥"选项,创建新的API密钥
- 充值余额(支持支付宝、微信支付等多种方式)
优势:无需科学上网,支持人民币付款,操作简单直观。
步骤2:安装OpenAI兼容的Python SDK
与官方API相同,硅基流动API也兼容OpenAI的接口规范:
hljs bashpip install openai
步骤3:编写Python代码调用DeepSeek R1
hljs pythonfrom openai import OpenAI
# 初始化客户端
client = OpenAI(
api_key="your_siliconflow_api_key", # 替换为你的硅基流动API密钥
base_url="https://api.siliconflow.cn/v1" # 硅基流动的API基础URL
)
# 创建聊天完成请求
response = client.chat.completions.create(
model="deepseek-reason/deepseek-reasoner", # 注意模型名称与官方略有不同
messages=[
{"role": "user", "content": "解释量子计算的基本原理"}
]
)
# 打印回复内容
print(response.choices[0].message.content)
硅基流动API的特点
硅基流动API除了提供基本的DeepSeek R1调用功能外,还有以下特点:
- 国内直接访问:无需科学上网,访问速度更快
- 人民币计费:支持支付宝、微信等支付方式,更适合国内用户
- 简化的接口:对API进行了优化,使用更加简单
- 中文技术支持:提供中文文档和技术支持
方法三:OpenRouter调用DeepSeek R1
OpenRouter是一个聚合多种大模型API的平台,通过一个API可以调用包括DeepSeek R1在内的多种模型。

步骤1:注册OpenRouter账号并获取API Key
- 访问OpenRouter官网
- 注册账号并登录
- 在控制台创建新的API密钥
- 充值余额(支持信用卡、加密货币等多种支付方式)
步骤2:安装OpenAI兼容的Python SDK
OpenRouter同样兼容OpenAI的接口规范:
hljs bashpip install openai
步骤3:编写Python代码调用DeepSeek R1
hljs pythonfrom openai import OpenAI
# 初始化客户端
client = OpenAI(
api_key="your_openrouter_api_key", # 替换为你的OpenRouter API密钥
base_url="https://openrouter.ai/api/v1" # OpenRouter的API基础URL
)
# 创建聊天完成请求
response = client.chat.completions.create(
model="deepseek/deepseek-reasoner", # OpenRouter上的DeepSeek R1模型ID
messages=[
{"role": "user", "content": "解释量子计算的基本原理"}
]
)
# 打印回复内容
print(response.choices[0].message.content)
OpenRouter的独特优势
OpenRouter作为一个模型聚合平台,具有以下独特优势:
- 多模型统一接口:一个API可以调用多种大模型,方便对比和选择
- 智能路由:可以根据请求自动选择最适合的模型
- 成本优化:提供多种定价方案,可以根据需求选择最经济的模型
- 多种支付方式:支持信用卡、加密货币等多种支付方式
DeepSeek R1 API常见问题解答
1. DeepSeek R1与其他大模型相比有什么优势?
DeepSeek R1在推理能力和代码生成方面表现出色,特别是在复杂推理任务上,性能接近甚至超过一些闭源商业模型。此外,它对中文的支持也非常好,适合中文用户使用。
2. 三种API调用方式的价格对比如何?
- 官方API:按token计费,通常为输入4美元/百万token,输出8美元/百万token
- 硅基流动API:按字符计费,约0.01元/千字符,比官方略贵但支持人民币
- OpenRouter:按token计费,价格略高于官方API,但提供多模型选择
3. 如何处理API调用中的错误?
常见错误处理示例:
hljs pythonfrom openai import OpenAI, OpenAIError
client = OpenAI(api_key="your_api_key", base_url="your_base_url")
try:
response = client.chat.completions.create(
model="deepseek-reasoner",
messages=[{"role": "user", "content": "你好"}]
)
print(response.choices[0].message.content)
except OpenAIError as e:
print(f"API调用错误: {e}")
4. 如何优化API调用的成本?
- 合理设置max_tokens:只生成必要的内容长度
- 减少不必要的系统提示:精简system message可以节省输入token
- 批量处理请求:将多个小请求合并为一个大请求
- 使用缓存:对于重复查询实现本地缓存
5. 如何提高API调用的稳定性?
- 实现重试机制:
hljs pythonimport time
from openai import OpenAI, OpenAIError
def call_api_with_retry(max_retries=3, backoff_factor=2):
client = OpenAI(api_key="your_api_key", base_url="your_base_url")
for attempt in range(max_retries):
try:
response = client.chat.completions.create(
model="deepseek-reasoner",
messages=[{"role": "user", "content": "你好"}]
)
return response
except OpenAIError as e:
if attempt < max_retries - 1:
sleep_time = backoff_factor ** attempt
print(f"尝试 {attempt+1} 失败: {e}. 等待 {sleep_time} 秒后重试...")
time.sleep(sleep_time)
else:
print(f"达到最大重试次数. 最后错误: {e}")
raise
- 使用代理服务:在网络不稳定的情况下,可以考虑使用代理服务提高连接稳定性
- 监控API状态:实现监控系统,及时发现并处理API异常
实际应用案例
案例1:智能客服系统
hljs pythonfrom openai import OpenAI
import json
client = OpenAI(api_key="your_api_key", base_url="your_base_url")
# 客服知识库
knowledge_base = {
"退款政策": "商品购买后7天内可无理由退款,需保持商品完好。",
"配送时间": "正常情况下,订单确认后48小时内发货,物流时间约3-5天。",
# 更多知识...
}
def customer_service_bot(user_query):
response = client.chat.completions.create(
model="deepseek-reasoner",
messages=[
{"role": "system", "content": "你是一个专业的客服助手,请根据提供的知识库回答用户问题。如果知识库中没有相关信息,请礼貌地表示你需要查询更多信息。"},
{"role": "user", "content": f"用户问题: {user_query}\n\n知识库: {json.dumps(knowledge_base, ensure_ascii=False)}"}
],
temperature=0.3 # 降低随机性,保持回答的一致性
)
return response.choices[0].message.content
# 测试客服机器人
print(customer_service_bot("我想了解一下你们的退款政策"))
案例2:代码助手
hljs pythonfrom openai import OpenAI
client = OpenAI(api_key="your_api_key", base_url="your_base_url")
def code_assistant(language, task_description):
response = client.chat.completions.create(
model="deepseek-reasoner",
messages=[
{"role": "system", "content": f"你是一个专业的{language}编程助手。请提供简洁、高效、易于理解的代码。"},
{"role": "user", "content": task_description}
],
temperature=0.2, # 降低随机性,生成更确定的代码
max_tokens=2000 # 允许生成较长的代码
)
return response.choices[0].message.content
# 测试代码助手
python_task = "编写一个函数,接受一个字符串列表,返回其中最长的字符串。如果有多个最长字符串,返回第一个。"
print(code_assistant("Python", python_task))
总结与建议
通过本文的详细介绍,我们了解了DeepSeek R1 API的三种调用方法及其各自的优缺点:
- 官方API:功能最全,适合企业用户和专业开发者
- 硅基流动API:操作简单,适合国内个人用户和小型项目
- OpenRouter:多模型支持,适合需要对比多个模型的用户
根据您的具体需求和使用场景,可以选择最适合的调用方式:
- 如果您是企业用户,需要最新功能和最全面的支持,建议选择官方API
- 如果您是国内个人用户,希望操作简单且支持人民币付款,建议选择硅基流动API
- 如果您需要同时使用多种大模型并进行对比,建议选择OpenRouter
无论选择哪种方式,DeepSeek R1都能为您的应用带来强大的AI能力,帮助您实现更智能、更高效的功能。
希望本文对您了解和使用DeepSeek R1 API有所帮助。如有任何问题,欢迎在评论区留言讨论!