一、为什么选 DeepSeek

在动手之前,先说清楚为什么推荐 DeepSeek,而不是其他:

  • 便宜:价格大约是 GPT 系列的几十分之一,个人练手、小项目几乎零成本;
  • 兼容 OpenAI 格式:接口几乎和 OpenAI 一模一样,市面上大部分教程、SDK 都能直接套用;
  • 中文友好:中文理解、生成质量稳定,适合做中文场景;
  • 接入方式多:官方 API、硅基流动等第三方中转都可以,Key 通用。

一句话:对个人开发者来说,DeepSeek 是当前性价比和易用性的最优解之一。

二、申请 API Key(5 分钟)

  1. 打开 DeepSeek 开放平台:platform.deepseek.com
  2. 注册 / 登录(支持手机号)
  3. 左侧「API Keys」→「创建 API Key」
  4. 复制生成的 sk-xxxx只显示一次,务必保存好
⚠️ 提醒:API Key 等于你的钱包钥匙,谁拿到谁就能花你的额度。下面会重点讲怎么保护它。

三、发第一个请求(10 分钟)

先装个 requests

bash
pip install requests

写一段最简单的调用:

deepseek_demo.py
import requests

API_KEY = "sk-你的Key"
url = "https://api.deepseek.com/chat/completions"

resp = requests.post(
    url,
    headers={"Authorization": f"Bearer {API_KEY}"},
    json={
        "model": "deepseek-chat",
        "messages": [
            {"role": "system", "content": "你是小易AI实践的 AI 助手。"},
            {"role": "user", "content": "用一句话介绍你自己"},
        ],
    },
)

print(resp.json()["choices"][0]["message"]["content"])

运行,几秒后就能看到 DeepSeek 的回复。到这里,你已经完成了一次真实的大模型调用。

核心就三个概念:

参数含义
model用哪个模型(deepseek-chat 是对话模型)
messages对话上下文,system 是系统设定,user 是用户输入
max_tokens限制回复长度,控制成本(可选)

四、做成一个网页(10 分钟)

命令行里跑通了,接下来让它在浏览器里能用。这里有个关键的安全决策

API Key 绝对不能写在前端代码里。 前端代码是公开的,任何人打开浏览器按 F12 就能看到你的 Key,然后盗刷你的额度。

正确做法是「前端 → 后端代理 → DeepSeek」:Key 只存在你自己的服务器上,前端只和你的后端通信。

前端(一个聊天框,发消息到 /api/chat):

frontend.js
const res = await fetch('/api/chat', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ message: 用户输入 })
});
const data = await res.json();
// data.reply 就是 AI 的回复

后端(Python,把请求转发给 DeepSeek,Key 藏在服务器环境变量里):

ai_chat_proxy.py
import os, json
from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer
from urllib import request

API_KEY = os.environ["DEEPSEEK_API_KEY"]  # 从环境变量读,不写死在代码里

class Handler(BaseHTTPRequestHandler):
    def do_POST(self):
        # 读取前端发来的消息,转发给 DeepSeek
        body = json.loads(self.rfile.read(int(self.headers["Content-Length"])))
        reply = call_deepseek(body["message"])
        self._json({"reply": reply})

def call_deepseek(msg):
    req = request.Request(
        "https://api.deepseek.com/chat/completions",
        data=json.dumps({
            "model": "deepseek-chat",
            "messages": [{"role": "user", "content": msg}],
        }).encode(),
        headers={"Authorization": f"Bearer {API_KEY}"},
    )
    with request.urlopen(req, timeout=120) as r:
        return json.loads(r.read())["choices"][0]["message"]["content"]
小技巧:后端代理我用的是 Python 标准库http.server + urllib),零第三方依赖,服务器上不用装任何包,部署更干净。

五、上线前,一定要加这两样(5 分钟)

我自己的 demo 上线前,还补了两层保护,强烈建议你也加上:

1. 限流(防刷)

不设防的话,接口被人写脚本狂刷,你的额度几分钟就烧光了。给后端加一条简单的频率限制——同一 IP 每分钟最多 10 次、每天最多 100 次:

rate_limit.py
# 伪代码:单 IP 每分钟计数,超了就返回 429
if ip_this_minute >= 10:
    return 429, "请求过于频繁,请稍后再试。"

2. 额度上限

设一个「每日总调用量」的天花板,比如 1000 次/天。哪怕有人刷,最多也就消耗到上限为止,损失可控。

六、在线体验

我把这套完整流程做成了一个在线 demo,跑在自有服务器上,可以直接对话:

👉 立即体验 AI 聊天 demo ↗

演示环境,回复由 AI 生成,仅供参考。

写在最后

从申请 Key 到上线一个能对话的 AI 应用,核心其实只有三步:

  1. 调通 API(10 分钟)
  2. 包一个后端代理,藏好 Key(10 分钟)
  3. 加限流和额度,安全上线(5 分钟)

真正拦住大多数人的不是技术,而是「以为很难」。希望这篇文章能帮你跨过那道坎。

我会持续更新企业 AI 落地的真实实践,欢迎关注「小易AI实践」公众号,一起把 AI 用起来。

本文为「AI 应用实战」系列第一篇,下一篇将分享:怎么把 AI 接进 Flask 后端,做成一个可复用的接口。

WECHAT OFFICIAL ACCOUNT

小易AI实践
持续更新企业 AI 落地经验

小易AI实践公众号二维码