阿文上手体验

阿文上手体验

已发布 19 篇文章

DeepSeek API 接入实战:从申请 key 到第一通请求

DeepSeek API 接入实战:从申请 key 到第一通请求

很多新手把”用 DeepSeek”等同于”在网页里打字聊天”。其实,真正能把它变成自己工具的方式,是调用它的 API。本篇从零带你走完申请 key、看懂文档、发出第一通请求、再到排查报错的完整流程。你不需要是程序员,只要跟着做,复制代码就能跑通。

一、先搞清楚:API 是什么,为什么要用它

普通聊天是”你打字、网页显示答案”。API 是”你的程序发一段请求,DeepSeek 服务器返回一段文本”。区别有三点:

  • 可以批量:写个循环,一次让模型处理 100 条评论。
  • 可以嵌进自己的软件:客服机器人、自动写周报的小工具,背后都是 API。
  • 可以程序化控制:设定温度、最大长度、是否返回 JSON 等参数。

一句话:网页聊天是”用别人的界面”,API 是”把大脑接到你自己的东西里”。

二、申请 key 的完整步骤

  1. 打开 DeepSeek 官方平台(控制台),注册并登录账号。
  2. 在左侧找到”API 开放平台”或”API keys”入口。
  3. 点击”创建 API Key”,系统会生成一串以 sk- 开头的字符串。
  4. 立即复制保存——网页只在创建时显示一次,关掉就再也看不到完整内容了。
  5. 首次使用通常需要先充值或领取额度,具体金额与方式以官方控制台当前显示为准。

注意:API 的计费与网页版会员通常是两套体系,别以为开了会员就能免费用 API。价格与额度一律以官方控制台当前显示为准。

三、key 该放在哪里才安全

API key 等于你账户的”提款密码”,谁拿到谁就能用你的额度花钱。新手最容易犯的错误,就是把 key 直接写进代码、传上 GitHub,结果第二天收到扣费通知。

安全存放的几个原则:

  • 绝不写进源码:不要出现 api_key = "sk-xxxx" 这种硬编码。
  • 用环境变量:把 key 放在系统环境变量里,代码只读取变量名。
  • 用 .env 文件:在项目根目录建一个 .env,写入 DEEPSEEK_API_KEY=sk-xxxx,并把它加进 .gitignore,绝不提交到仓库。
  • 泄露后立刻吊销:控制台里可以删除旧 key 并新建,旧 key 立即失效。

一个 .env 文件示例(注意前面没有引号、没有空格):

DEEPSEEK_API_KEY=sk-你的真实key

对应的 Python 读取方式会在下一节给出。

四、第一通请求:Python 版

DeepSeek 的接口与 OpenAI 兼容,所以可以直接用 openai 这个库,只是把地址改成 DeepSeek 的。先安装依赖:

pip install openai python-dotenv

下面是可直接运行的完整示例:

import os
from openai import OpenAI
from dotenv import load_dotenv

# 从 .env 读取 key,不写死在代码里
load_dotenv()
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": "你是一个友好的中文助手。"},
        {"role": "user", "content": "用一句话解释什么是 API。"},
    ],
    temperature=0.7,
    max_tokens=300,
)

print(response.choices[0].message.content)

把 sk-你的真实key 填进 .env 后运行,屏幕应该打印出一段中文解释,说明你已经跑通了。

五、第一通请求:curl 版

不想装 Python 环境?用一行 curl 也能测。Linux/Mac 和 Windows 的 Git Bash 都自带 curl:

curl https://api.deepseek.com/chat/completions 
  -H "Content-Type: application/json" 
  -H "Authorization: Bearer ${DEEPSEEK_API_KEY}" 
  -d '{
    "model": "deepseek-chat",
    "messages": [
      {"role": "user", "content": "用一句话解释什么是 API。"}
    ],
    "temperature": 0.7
  }'

把 ${DEEPSEEK_API_KEY} 换成你的真实 key(或直接写 sk-xxxx),即可看到返回的 JSON。返回里 choices[0].message.content 就是模型答案。

六、常见报错排查清单

刚开始调 API,十有八九会撞墙。把下面这张表存好,对照自查:

报错现象可能原因排查动作
401 Unauthorizedkey 错误或失效检查 key 是否复制完整;去控制台确认 key 未被删除;确认 Bearer 后面有空格
429 Too Many Requests触发限流或额度不足降低请求频率;确认账户余额/额度,以官方控制台当前显示为准
长时间无响应 / 超时网络问题或请求体过大检查能否访问 api.deepseek.com;减小 max_tokens;加超时参数
400 Bad Request参数格式错检查 JSON 是否合法、model 名称是否拼写正确
返回乱码或空内容编码/解析问题确保用 UTF-8 读取;用 response.json() 解析而非直接打印

额外建议:开发阶段把 temperature 调低(如 0.2),让结果更稳定可复现;上线前一定要给请求加超时和重试逻辑,避免一次网络抖动拖垮整个程序。

小结

走完这篇,你应该已经能发出第一通请求了。回顾关键点:key 只创建时可见、务必用环境变量或 .env 存放、接口兼容 OpenAI 所以代码很好写、401/429/超时各有固定排查套路。下一篇我们聊怎么把”你自己的文档”喂给 DeepSeek,让它不仅会聊天,还懂你的业务。