DeepSeek API调用入门:Python接入国产大模型

入门·10 分钟·使用 Python 调用 DeepSeek API 的入门教程,覆盖环境变量、Chat Completions、多轮对话、异常处理和工程化封装。

DeepSeek API调用入门:Python接入国产大模型

DeepSeek API 常用于对话、代码生成、文本总结和推理类任务。它的接口风格接近 OpenAI Chat Completions,因此很适合已经学过大模型 API 的同学上手。

准备工作

你需要准备:

  • Python 3.10 或更新版本;
  • 一个 DeepSeek API Key;
  • requests 或兼容 OpenAI 风格的 SDK;
  • .env 文件保存密钥。

安装依赖:

pip install requests python-dotenv

创建 .env

DEEPSEEK_API_KEY=你的密钥

最小请求示例

下面用 requests 演示通用 HTTP 调用结构:

import os
import requests
from dotenv import load_dotenv
 
load_dotenv()
api_key = os.getenv('DEEPSEEK_API_KEY')
 
url = 'https://api.deepseek.com/chat/completions'
headers = {
    'Authorization': f'Bearer {api_key}',
    'Content-Type': 'application/json',
}
payload = {
    'model': 'deepseek-chat',
    'messages': [
        {'role': 'system', 'content': '你是一个耐心的AI编程老师'},
        {'role': 'user', 'content': '用三句话解释什么是RAG'}
    ],
    'temperature': 0.3,
}
 
resp = requests.post(url, headers=headers, json=payload, timeout=60)
resp.raise_for_status()
data = resp.json()
print(data['choices'][0]['message']['content'])

如果你的账户或平台路径不同,以官方控制台提供的 base URL 为准。

messages怎么组织

messages 是对话数组。system 用来设定助手行为,user 是用户问题,assistant 可以放历史回答。多轮对话时,要把必要历史一起传入。

不要把所有历史无限追加。真实项目中要限制轮数,或者把早期对话总结成摘要。

代码生成场景

DeepSeek 常被用于代码相关任务。建议提示词写清楚语言、输入输出、边界条件和是否需要解释。

请用 Python 写一个函数,读取文本文件并返回前 500 个字符。
要求:处理文件不存在异常;代码后解释关键步骤。

越具体,输出越稳定。

错误处理

常见错误包括:

  • 401:密钥错误或未授权;
  • 429:请求过快或额度不足;
  • 400:参数格式错误;
  • 5xx:服务端异常;
  • timeout:网络或模型响应超时。

建议封装函数:

def call_deepseek(messages):
    try:
        resp = requests.post(url, headers=headers, json={
            'model': 'deepseek-chat',
            'messages': messages,
            'temperature': 0.3,
        }, timeout=60)
        resp.raise_for_status()
        return resp.json()['choices'][0]['message']['content']
    except requests.Timeout:
        return '请求超时,请稍后重试'
    except requests.HTTPError as e:
        return f'接口错误:{e.response.status_code}'

工程化建议

  • 密钥只放环境变量;
  • 记录 requestId、耗时和错误类型;
  • 对输入长度做限制;
  • 重要任务保存原始请求和响应摘要;
  • 对代码输出先人工审查再执行;
  • 为常见问题准备测试样例。

小结

DeepSeek API 入门并不难,核心是掌握 Chat Completions 请求结构、密钥管理、异常处理和多轮上下文。真正做项目时,要把调用封装起来,并加日志、超时、重试和安全检查。