DeepSeek API 接入教程:从注册到 Python 调用实战
随着大模型的普及,越来越多的开发者希望将 DeepSeek 的能力集成到自己的应用中。DeepSeek 提供了功能强大且价格合理的 API,本教程将带你从零开始,完成从注册到使用 Python 调用 API 的全过程。
## 1. 准备工作:注册与获取 API Key
首先访问 DeepSeek 开放平台(platform.deepseek.com),使用邮箱或手机号注册账号。注册完成后进入控制台,在左侧导航栏找到「API Keys」页面,点击「创建新的 API Key」按钮。系统会生成一段以 `sk-` 开头的密钥,请务必复制并妥善保存,因为它只会显示这一次。
获取到 API Key 后,建议将它设置为环境变量,避免硬编码在代码中:
```bash export DEEPSEEK_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxx" ```
## 2. 理解 DeepSeek API 的基本调用方式
DeepSeek 的 API 兼容 OpenAI 的 Chat Completions 接口规范,这意味着你可以直接使用 OpenAI 提供的 Python SDK,或者直接通过 HTTP 请求来调用。DeepSeek 目前提供两个主要模型:
- `deepseek-chat`:通用对话模型,兼具强大的逻辑推理与内容创作能力。 - `deepseek-coder`:专为代码生成与理解优化的模型。
调用时只需要指定模型名称、消息列表以及一些生成参数即可。API 的计费方式为按 token 数量付费,且在非高峰时段价格更具优势。
## 3. Python 调用实战
下面我们将通过 Python 代码来实现一次完整的对话调用。为了简化操作,这里使用 `requests` 库直接发送 HTTP 请求,你也可以换成 `openai` 库。
### 3.1 安装依赖
确保你的环境中已安装 `requests`:
```bash pip install requests ```
### 3.2 编写调用函数
创建一个简单的函数,向 DeepSeek API 发送请求并获取回复:
```python import os import requests
def chat_with_deepseek(prompt, model="deepseek-chat", temperature=0.7): url = "https://api.deepseek.com/v1/chat/completions" headers = { "Authorization": f"Bearer {os.getenv('DEEPSEEK_API_KEY')}", "Content-Type": "application/json" } payload = { "model": model, "messages": [ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": prompt} ], "temperature": temperature, "max_tokens": 1024 } response = requests.post(url, headers=headers, json=payload) response_data = response.json() # 提取助手回复的文本内容 content = response_data["choices"][0]["message"]["content"] return content
# 测试调用 if __name__ == "__main__": user_input = "用简短的语言解释什么是量子计算。" reply = chat_with_deepseek(user_input) print("DeepSeek:", reply) ```
运行这段代码,你就能在控制台看到 DeepSeek 返回的清晰回答。如果你想体验代码生成能力,可以将模型切换为 `deepseek-coder`,并传递相关的编程问题。
### 3.3 流式输出与错误处理
对于较长的回复,你可能希望启用流式输出,让结果像聊天软件一样逐步显示。只需在请求体中加入 `"stream": True`,然后逐行解析响应即可。同时,建议增加简单的错误处理来应对网络问题或 API 限流。
```python def chat_stream(prompt): url = "https://api.deepseek.com/v1/chat/completions" headers = { "Authorization": f"Bearer {os.getenv('DEEPSEEK_API_KEY')}", "Content-Type": "application/json" } payload = { "model": "deepseek-chat", "messages": [{"role": "user", "content": prompt}], "stream": True } try: with requests.post(url, headers=headers, json=payload, stream=True) as resp: resp.raise_for_status() for line in resp.iter_lines(): if line: decoded = line.decode('utf-8') if decoded.startswith("data: "): data_str = decoded[6:] if data_str == "[DONE]": break import json chunk = json.loads(data_str) delta = chunk["choices"][0].get("delta", {}) if "content" in delta: print(delta["content"], end="", flush=True) except requests.exceptions.RequestException as e: print(f"请求失败: {e}") ```
现在你已经掌握了从注册到调用的完整流程,你可以将这段逻辑封装到自动化脚本、聊天机器人或 Web 应用中。
## 4. 探索更多可能性
DeepSeek 的 API 生态还在不断扩展。如果你需要更灵活的模型选择、更方便的支付方式,或者希望在同一个平台上访问多个主流模型,推荐使用 **TokenPocket API 中转站**([https://tokenpocket.site](https://tokenpocket.site))。它支持 DeepSeek、Qwen、Claude、Gemini 等模型的统一调用,按量计费,可直接使用 USDT 支付,免去了多个平台分别充值的烦恼。新用户注册还会赠送免费额度,非常适合开发者进行快速原型验证和多模型对比。探索 AI 的旅程,从一次顺畅的 API 调用开始。