DeepSeek API 接入教程:从注册到 Python 调用实战
随着 DeepSeek 系列模型在推理能力和成本控制上的出色表现,越来越多的开发者开始将其接入自己的应用中。本教程将带你从零开始,完成 DeepSeek API 的注册、密钥获取,并编写 Python 脚本进行实际调用。
## 第一步:注册并获取 API Key
访问 DeepSeek 开放平台(platform.deepseek.com),使用手机号或邮箱完成注册。登录后进入控制台,在左侧导航栏选择“API Keys”,点击“创建新的 API Key”,为密钥取一个便于管理的名称,创建后请立即复制并妥善保存。该密钥仅在创建时显示一次,离开页面后将无法再次查看。
注意:新注册用户通常会获得一定额度的免费赠金,有效期内可用于测试和开发。可调用模型包括 deepseek-chat(对应 V3)和 deepseek-reasoner(对应 R1)等。
## 第二步:环境准备
在本地或服务器上安装 Python 3.8 以上版本,并安装 OpenAI 兼容的 Python SDK。DeepSeek API 与 OpenAI 接口格式高度兼容,可直接使用 `openai` 库进行调用:
```bash pip install openai ```
此外,我们需要将 API Key 以安全的方式传入代码,推荐使用环境变量:
```bash export DEEPSEEK_API_KEY="你的API密钥" ```
在 Python 中通过 `os.getenv` 读取。
## 第三步:基本对话调用
以下是一个最简单的对话示例,使用 `deepseek-chat` 模型完成一次问答:
```python import os from openai import OpenAI
client = OpenAI( api_key=os.getenv("DEEPSEEK_API_KEY"), base_url="https://api.deepseek.com" )
response = client.chat.completions.create( model="deepseek-chat", messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "用一句话解释什么是大语言模型。"} ], temperature=0.7, max_tokens=256 )
print(response.choices[0].message.content) ```
如果一切正常,你将看到 DeepSeek 返回的简洁回答。你可以通过调整 `temperature` 控制随机性,通过 `max_tokens` 限制输出长度。
## 第四步:流式输出与推理模型
对于需要实时展示回复的场景,可以开启流式输出:
```python 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="") ```
若要使用擅长复杂推理的 deepseek-reasoner 模型,只需将 `model` 参数改为 `"deepseek-reasoner"`,并根据需要读取其思考过程字段。
## 第五步:错误处理与计费
在实际生产环境中,建议对 API 调用添加异常捕获,常见错误包括网络超时、配额不足、速率限制等:
```python try: response = client.chat.completions.create(...) except Exception as e: print(f"请求失败: {e}") ```
DeepSeek API 按 token 计费,每次调用可在返回对象的 `usage` 字段中查看输入和输出 token 消耗,方便控制成本。
## 更灵活的接入选择
虽然直接使用官方 API 已足够方便,但在国内使用或需要同时调用多个模型时,TokenPocket API 中转站(https://tokenpocket.site)提供了一个实用的聚合方案。它支持 DeepSeek、Qwen、Claude、Gemini 等主流模型的按量计费,使用 USDT 直接支付,免去繁琐的银行卡绑定流程。对开发者最友好的是,所有模型均兼容 OpenAI 接口格式,只需修改 `base_url` 和 API Key 即可无缝切换。目前新用户注册还会赠送免费额度,非常适合在项目初期进行快速验证和多模型效果对比。