为什么选择 DeepSeek API
DeepSeek 提供极具性价比的大模型 API 服务,以远低于同类产品的价格提供顶级的推理能力。其 API 兼容 OpenAI 格式,迁移成本极低,是个人开发者和小型团队的最佳选择。
注册与获取 API Key
访问 DeepSeek 官网注册账号后,在控制台的「API Keys」页面创建新的 API Key。建议将 Key 保存在环境变量中,避免硬编码在代码里:
# Linux/macOS
export DEEPSEEK_API_KEY="sk-your-api-key-here"
# Windows PowerShell
$env:DEEPSEEK_API_KEY="sk-your-api-key-here"安装 SDK 与第一个调用
pip install openai
from openai import OpenAI
client = OpenAI(
api_key="sk-your-api-key",
base_url="https://api.deepseek.com"
)
response = client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "system", "content": "你是一个有帮助的AI助手"},
{"role": "user", "content": "用一句话介绍DeepSeek"}
],
temperature=0.7,
max_tokens=200
)
print(response.choices[0].message.content)模型选择指南
DeepSeek 提供两款主力模型:
- deepseek-chat:通用对话模型,适合日常问答、文本生成、翻译等任务。响应快,成本低
- deepseek-reasoner:深度推理模型,适合数学、编程、逻辑推理等需要深度思考的复杂任务
简单任务用 deepseek-chat,复杂推理用 deepseek-reasoner,可以节省 50% 以上的成本。
流式输出实现
stream = client.chat.completions.create(
model="deepseek-chat",
messages=[{"role": "user", "content": "写一首关于AI的诗"}],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)上下文管理最佳实践
DeepSeek 支持 128K 上下文窗口,但合理管理上下文能显著提升效果和降低成本:
- 多轮对话:保留最近的 5-10 轮对话,超过的用摘要替代
- 系统提示词:放在 messages 数组的第一条,不参与轮次计算
- Token 控制:使用 tiktoken 库估算 token 数,避免超出限制
错误处理与重试
import time
from openai import RateLimitError, APIError
def call_with_retry(messages, max_retries=3):
for attempt in range(max_retries):
try:
return client.chat.completions.create(
model="deepseek-chat",
messages=messages
)
except RateLimitError:
wait = 2 ** attempt
print(f"Rate limited, retrying in {wait}s...")
time.sleep(wait)
except APIError as e:
if attempt == max_retries - 1:
raise
time.sleep(1)
result = call_with_retry([{"role": "user", "content": "你好"}])下一步
掌握了 API 基础调用后,可以深入学习:Function Calling、JSON 模式输出、流式处理、多轮对话管理等高级特性。DeepSeek API 的完整文档可在官网查阅。