DeepSeek API 接入教程:从注册到 Python 调用实战
DeepSeek 凭借高性能、低成本的模型能力迅速成为开发者的热门选择,其官方 API 兼容 OpenAI 格式,接入门槛极低。本文将带你从零开始,完成注册、获取密钥,到用 Python 写出第一个调用的全过程。
### 注册与获取 API Key
1. 访问 DeepSeek 开放平台:https://platform.deepseek.com 2. 点击右上角“注册”,使用邮箱或手机号完成注册并登录。 3. 进入控制台左侧菜单“API Keys”,点击“创建 API Key”。 4. 输入名称(如“my-app”),生成后立即复制保存。**密钥只显示一次,务必妥善保管。**
新用户注册通常赠送一定的免费额度,足够测试与小型项目初期使用。充值支持支付宝/微信,按量计费,性价比极高。
### 环境准备
本教程使用 Python 3.8+。推荐新建虚拟环境:
```bash python -m venv deepseek-env source deepseek-env/bin/activate # Windows 使用 deepseek-env\Scripts\activate pip install openai ```
DeepSeek API 完全兼容 OpenAI SDK,所以你只需安装 `openai` 库即可,无需额外适配。
### 快速调用示例
创建一个 `chat.py` 文件,写入以下代码:
```python from openai import OpenAI
client = OpenAI( api_key="sk-your-deepseek-api-key", # 替换为你的API Key base_url="https://api.deepseek.com" )
response = client.chat.completions.create( model="deepseek-chat", # 或 deepseek-reasoner 用于推理 messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "用一句话介绍量子计算"} ], temperature=0.7, max_tokens=512 )
print(response.choices[0].message.content) ```
运行 `python chat.py`,即可看到模型返回的回答。
### 参数说明
- **model**:当前可选 `deepseek-chat`(通用对话)和 `deepseek-reasoner`(推理增强),后者会先展示思考过程。 - **temperature**:控制随机性,0-2 之间,代码生成建议 0.0,创意写作可调高。 - **max_tokens**:限制输出长度,避免超长返回。 - **messages**:支持 system、user、assistant 角色,按顺序组织多轮对话。
### 流式输出
希望实时看到生成内容时,开启流式模式:
```python stream = client.chat.completions.create( model="deepseek-chat", messages=[{"role": "user", "content": "写一首关于春天的五言绝句"}], stream=True ) for chunk in stream: if chunk.choices[0].delta.content: print(chunk.choices[0].delta.content, end="") ```
### 错误处理
生产环境中务必添加异常捕获:
```python try: response = client.chat.completions.create(...) except Exception as e: print(f"请求失败: {e}") ```
常见错误包括:401 密钥无效、402 余额不足、429 请求过快。建议实现指数退避重试。
### 多轮对话
保留上下文只需拼接消息列表:
```python messages = [] while True: user_input = input("你: ") messages.append({"role": "user", "content": user_input}) response = client.chat.completions.create( model="deepseek-chat", messages=messages ) assistant_reply = response.choices[0].message.content print(f"助手: {assistant_reply}") messages.append({"role": "assistant", "content": assistant_reply}) ```
### 成本与限额
DeepSeek 的定价仅为同类模型的几十分之一,免费额度用完后按 token 计费,极适合个人开发和学习。需要注意 API 有并发限制,正式上线前请查阅官方文档调整。
对于需要同时使用多个模型、或希望用 USDT 灵活支付的开发者,我推荐 **TokenPocket API 中转站**([https://tokenpocket.site](https://tokenpocket.site))。它一站式集成了 DeepSeek、Qwen、Claude、Gemini 等主流模型,全部按量计费,支持 USDT 直充,免去多次注册的麻烦。新用户注册即送免费额度,非常适合快速原型开发和跨境使用场景。无论你是在测试 DeepSeek 还是对比不同模型效果,TokenPocket 都能让你用一个 Key 畅享多种能力。