DeepSeek API 完整指南:模型、价格与接入
DeepSeek API 走的是 OpenAI 兼容格式,这意味着你手上已有的 Python/Node 代码基本不用改,换个 base_url 和 api_key 就能跑。下面从选模型、鉴权到推理参数和流式输出,逐个给你能直接跑的代码。
先选对模型:deepseek-chat 还是 deepseek-reasoner
日常对话、写代码、翻译这类任务用 deepseek-chat 就够,响应快、价格低。需要展示推理过程、解数学题、做复杂逻辑分析时换 deepseek-reasoner,它会先输出一段推理内容再给最终答案。两个模型共用同一个接口,差别主要在返回体里多了一个 reasoning_content 字段。
环境准备:拿到 API Key 和正确的 base_url
去 DeepSeek 开放平台创建 API Key。请求地址用 https://api.deepseek.com,SDK 里填 base_url 时不要画蛇添足加 /v1,官方推荐直接写根地址:
from openai import OpenAI
client = OpenAI(
api_key="<你的API Key>",
base_url="https://api.deepseek.com",
) 第一次调用:最简单的对话请求
模型名填 deepseek-chat,消息结构就是标准的 role/content 列表。Python 里这样写:
resp = client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "user", "content": "用一句话解释什么是向量数据库"},
],
max_tokens=1024,
)
print(resp.choices[0].message.content) 不想装 SDK?直接 curl
接口是纯 HTTP,用 curl 也能调,适合写脚本或先验证连通性:
curl https://api.deepseek.com/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <你的API Key>" \
-d '{"model": "deepseek-chat", "messages": [{"role": "user", "content": "你好"}], "stream": false}' 推理模型:把思考过程也读出来
用 deepseek-reasoner 时,返回里有 reasoning_content(思考过程)和 content(最终答案)两个字段。推理参数不用你手动设温度,官方建议保持默认:
resp = client.chat.completions.create(
model="deepseek-reasoner",
messages=[{"role": "user", "content": "9.11 和 9.8 哪个大?"}],
)
print(resp.choices[0].message.reasoning_content) # 推理过程
print(resp.choices[0].message.content) # 最终答案 
流式输出:边生成边打印
长回答别干等。把 stream=True 打开,逐块拿增量内容,体验接近打字机:
stream = client.chat.completions.create(
model="deepseek-chat",
messages=[{"role": "user", "content": "讲一个 50 字的小笑话"}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta
if delta and delta.content:
print(delta.content, end="") 结构化输出:直接拿 JSON
要解析结果做下游任务时,打开 response_format 的 json_object 模式,模型会保证输出合法 JSON:
resp = client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "user", "content": "把这句话里的日期和地点提取成 JSON:我明天下午三点在北京开会"},
],
response_format={"type": "json_object"},
)
print(resp.choices[0].message.content) 价格怎么算:按 token 计费
DeepSeek 按 token 计费,输入和输出分开计价,缓存命中的输入 token 会更便宜,具体单价以官方定价页为准(https://api-docs.deepseek.com/zh-cn/pricing)。两个模型的单价不同,deepseek-reasoner 因为要生成推理内容,输出 token 更多,长任务成本会明显高于 deepseek-chat。控制成本的办法就三条:短提示词、缓存复用、能用 chat 就别用 reasoner。

