APIMaster.ai

DeepSeek API 调用教程:V4 Flash / Pro、Python 与 JavaScript

通过 APIMaster 使用 curl、Python 和 JavaScript 调用 DeepSeek V4 Flash 和 Pro。配置您的 API 密钥,流式传输响应并排查常见错误。

您能使用 OpenAI SDK 调用 DeepSeek 吗?可以。通过 APIMaster,将 API Base URL 设置为 https://apimaster.ai/v1,使用您的 APIMaster API 密钥,并选择 deepseek-v4-flashdeepseek-v4-pro 本指南涵盖该网关配置;由其他提供商颁发的密钥不可互换。

实测日期:2026-09-07。在我们的 Chat Completions 测试中,两个模型均返回 HTTP 200 和预期文本。Codex CLI 0.153.4 和 Claude Code 2.1.239 也通过同一网关完成了文本和文件读取工具测试。这些是简短的功能检查,并非长上下文或可靠性基准测试。下面的 Python、JavaScript 和流式示例演示了相应的 API 用法;它们不是单独的基准测试结果。

1. 获取您的密钥并选择模型

创建账户并获取 API 密钥。确保密钥有权访问所选模型并具有足够的配额。在模型广场中查看当前价格;价格可能因路由和时间而异。

设置
SDK Base URL https://apimaster.ai/v1
HTTP 端点 POST https://apimaster.ai/v1/chat/completions
授权 Authorization: Bearer YOUR_APIMASTER_API_KEY
Flash 模型 deepseek-v4-flash
Pro 模型 deepseek-v4-pro

两个模型使用相同的请求格式。从任一模型开始,然后在您自己的工作负载上比较结果。在本地将下面的 YOUR_APIMASTER_API_KEY 替换为您的密钥;不要将其提交到源代码控制或放入浏览器代码中。

macOS / Linux:

export APIMASTER_API_KEY='YOUR_APIMASTER_API_KEY'

Windows PowerShell:

$env:APIMASTER_API_KEY = 'YOUR_APIMASTER_API_KEY'

这些变量适用于当前终端。请在该终端中运行以下示例。

2. 使用 curl 发出您的第一个请求

以下命令使用 macOS / Linux shell 语法。Windows 用户可以使用下面的跨平台 Python 示例。

curl --fail-with-body 'https://apimaster.ai/v1/chat/completions' \
  -H "Authorization: Bearer $APIMASTER_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "deepseek-v4-flash",
    "messages": [{"role": "user", "content": "Reply with exactly: DEEPSEEK_TEST_OK"}],
    "max_tokens": 256,
    "stream": false
  }'

预期:HTTP 200 且 choices[0].message.content 等于 DEEPSEEK_TEST_OK。仅将 model 更改为 deepseek-v4-pro 即可重复测试。响应可能包含带版本的模型名称;在请求中继续使用上述公共模型 ID。

3. 从 Python 调用 DeepSeek

安装 SDK:

python -m pip install openai

保存为 deepseek_example.py,然后运行 python deepseek_example.py

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["APIMASTER_API_KEY"],
    base_url="https://apimaster.ai/v1",
)
response = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[{"role": "user", "content": "Reply with exactly: DEEPSEEK_TEST_OK"}],
    max_tokens=256,
)
print(response.choices[0].message.content)

对于编码任务,请将提示词替换为您的需求。增加输出预算以获得更长的答案;短测试预算不适合生成完整的应用程序。

4. 从 JavaScript 调用 DeepSeek

使用服务器端 Node.js 环境:

npm install openai

保存为 deepseek_example.mjs,然后运行 node deepseek_example.mjs

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.APIMASTER_API_KEY,
  baseURL: "https://apimaster.ai/v1",
});
const response = await client.chat.completions.create({
  model: "deepseek-v4-pro",
  messages: [{ role: "user", content: "Reply with exactly: DEEPSEEK_TEST_OK" }],
  max_tokens: 256,
});
console.log(response.choices[0].message.content);

5. 流式传输最终答案

使用上面的 Python client

stream = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[{"role": "user", "content": "Explain a Python dictionary in three sentences."}],
    max_tokens=1024,
    stream=True,
)
for chunk in stream:
    if not chunk.choices:
        continue
    text = chunk.choices[0].delta.content
    if text:
        print(text, end="", flush=True)
print()

这将从 content 打印最终答案文本。某些响应还会公开 reasoning_content;它与最终答案分开。不要假设每个流式块都包含文本或 choices 条目。

故障排除

症状 检查内容
401 使用 APIMaster 密钥,检查空白字符和 Bearer 标头,并确认环境变量已在此终端中设置。
403 或模型访问错误 检查密钥的模型权限和账户限制。
404 使用 /v1/chat/completions;不要重复 /v1 或将端点附加到 SDK Base URL。
429 或配额不足 阅读错误正文以区分速率限制和配额耗尽。对于速率限制,使用退避重试;对于配额错误,检查余额。
空或截断的答案 检查 finish_reason,增加令牌预算,并区分 content 和推理字段。
超时或 5xx 记录时间戳和请求 ID,使用退避重试,如果持续存在请联系支持。切勿在错误报告中发送您的完整密钥。

常见问题解答

API 密钥与 DeepSeek 官方密钥相同吗?

不同。本教程使用 APIMaster 颁发的密钥和 APIMaster 的端点。请将密钥与其颁发提供商的端点配对使用。

我可以在不重写集成的情况下在 Flash 和 Pro 之间切换吗?

可以,只要您的密钥可以访问这两个模型,就可以在 deepseek-v4-flashdeepseek-v4-pro 之间更改 model 字段。检查每个模型的输出和您工作负载的当前定价。

成功的请求是否证明底层模型的身份?

不能。HTTP 成功和返回的模型名称仅表明请求已完成;它们不能独立验证模型身份。

我可以在 Codex 和 Claude Code 中使用这些模型吗?

我们测试的配置在两个 CLI 中均完成了文本和文件读取工具请求。协议不同:Codex 使用 /v1/responses,而 Claude Code 使用 /v1/messages。请遵循专门的指南,而不是将 Chat Completions 端点替换到 CLI 配置中。

继续使用 DeepSeek