Python 调用 Anthropic API 的两种方式
Anthropic API 本质是标准 HTTP 接口,Python 中通常有两种主流调用方式:
- 使用
requests:轻量、灵活、适合工程封装 - 使用官方 SDK:封装完善、自动处理部分配置
下文对两种方式进行对比与示例说明。
一、使用 requests 调用(适合生产环境工程封装)
requests 是 Python 最通用的 HTTP 客户端,适合你在框架(Django / FastAPI / 微服务)中封装统一的 AI 调用模块。
1. 基本非流式调用
import requests
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.deepseek.com/anthropic/v1/messages"
headers = {
"Content-Type": "application/json",
"x-api-key": API_KEY,
"anthropic-version": "2023-06-01",
}
payload = {
"model": "deepseek-chat",
"max_tokens": 2048,
"messages": [{"role": "user", "content": "你好"}],
}
resp = requests.post(BASE_URL, json=payload, headers=headers, timeout=600)
print(resp.json())
2. 流式响应(SSE Stream)
import requests
import json
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.deepseek.com/anthropic/v1/messages"
headers = {
"Content-Type": "application/json",
"x-api-key": API_KEY,
"anthropic-version": "2023-06-01",
}
payload = {
"model": "deepseek-chat",
"max_tokens": 2000,
: [{: , : }],
: ,
}
requests.post(BASE_URL, json=payload, headers=headers, stream=, timeout=) r:
line r.iter_lines():
line:
data = line.decode()
data.startswith():
content = data[:]
content == :
event = json.loads(content)
delta = event.get(, {}).get()
delta:
(delta, end=, flush=)

