Appearance
DeepSeek API 支持 Anthropic SDK 格式,base_url 改为 https://api.deepseek.com/anthropic 即可。对于已有 Claude 项目,只需修改一个环境变量,几分钟内完成迁移。本文也梳理了哪些 Anthropic 参数支持、哪些不支持。
DeepSeek Anthropic API 兼容模式
如果你正在使用 Claude API,这是切换到 DeepSeek 的最短路径。
快速迁移
只需修改一个环境变量,无需改动任何代码逻辑:
bash
# 原来的配置
export ANTHROPIC_API_KEY="sk-ant-xxxxx"
# 迁移后:保留原 key,新增 base_url
export ANTHROPIC_API_KEY="$DEEPSEEK_API_KEY" # 替换成 DeepSeek API Key
export ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"Python 代码无需任何改动:
python
import anthropic
client = anthropic.Anthropic() # 自动读取环境变量
message = client.messages.create(
model="deepseek-v4-pro", # 改成 deepseek 模型名
max_tokens=1024,
system="You are a helpful assistant.",
messages=[
{"role": "user", "content": [{"type": "text", "text": "你好!"}]}
],
)
print(message.content)TypeScript 版本:
typescript
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
baseURL: "https://api.deepseek.com/anthropic",
apiKey: process.env.DEEPSEEK_API_KEY,
});
const message = await client.messages.create({
model: "deepseek-v4-pro",
max_tokens: 1024,
system: "You are a helpful assistant.",
messages: [
{ role: "user", content: [{ type: "text", text: "你好!" }] },
],
});
console.log(message.content);模型映射
| 你传的模型名 | DeepSeek 实际使用 |
|---|---|
deepseek-v4-pro | deepseek-v4-pro |
deepseek-v4-flash | deepseek-v4-flash |
| 任何不支持的模型名 | 自动映射到 deepseek-v4-flash |
建议直接传 DeepSeek 模型名,避免自动映射带来的不确定性。
参数兼容性
支持的参数:
| 参数 | 支持情况 |
|---|---|
model | ✅ |
max_tokens | ✅ |
system | ✅ |
messages | ✅(text 类型) |
temperature | ✅ |
top_p | ✅ |
stream | ✅ |
tools | ✅(部分支持) |
tool_choice | ✅(部分支持) |
不支持或有限制的参数:
| 参数 | 状态 |
|---|---|
top_k | ⚠️ 传入不报错,但不生效 |
metadata | ⚠️ 忽略 |
stop_sequences | ⚠️ 有限支持 |
| image content blocks | ❌ 不支持 |
thinking content blocks | ⚠️ 使用 DeepSeek 自己的思考模式参数替代 |
与直接用 OpenAI 格式对比
| Anthropic 格式 | OpenAI 格式 | |
|---|---|---|
| 适用场景 | 已有 Claude 代码库 | 新项目或已有 OpenAI 代码库 |
| 迁移成本 | 极低(改一个环境变量) | 极低(改 baseURL) |
| 功能完整性 | 有少量不支持参数 | 更完整 |
| 推荐 | ⚠️ 快速验证 | ✅ 生产环境 |
建议: 如果是新项目或长期项目,推荐使用 OpenAI 格式(DeepSeek 对 OpenAI 格式支持更完整)。Anthropic 格式主要用于快速验证已有 Claude 代码是否可以迁移。
常见问题
Q: Anthropic SDK 版本有要求吗?
A: 建议使用最新版本。旧版本(< 0.20)可能不支持通过环境变量覆盖 base_url。可用 pip install --upgrade anthropic 或 npm install @anthropic-ai/sdk@latest 更新。
Q: Claude 的 Extended Thinking 在 DeepSeek 下怎么用?
A: DeepSeek 的思考模式通过 OpenAI 格式的 extra_body: {thinking: {type: "enabled"}} 开启,Anthropic 格式下的 thinking content block 不直接支持。如果需要思考模式,建议切换到 OpenAI 格式调用。
Q: 工具调用(function calling)在 Anthropic 格式下能用吗?
A: 可以,但建议切换到 OpenAI 格式——DeepSeek 对 OpenAI 格式的 Tool Calls(包括 Strict 模式)支持更完整,Anthropic 格式的工具调用有部分限制。