← 返回首页
编程实战 · 1 分钟 阅读
DeepSeek API 接入实战
从申请 key 到上线一个真实项目,5 步把 DeepSeek API 接进 Next.js,含流式输出、错误处理、成本估算。
薯
万能的薯条
编辑团队
视频教程
配套 YouTubeDeepSeek API 接入实战
DeepSeek 的 API 完全兼容 OpenAI 协议,这意味着你 90% 的 OpenAI 客户端代码可以无缝切到 DeepSeek——价格只有 1/30。
本文用 Next.js 14 App Router 做示例,其他框架同理。
1. 申请 API Key
- 访问 platform.deepseek.com
- 注册 → 控制台 → API Keys → 创建新 key
- 充值 1 元起,够测几百次
把 key 放进 .env.local:
DEEPSEEK_API_KEY=sk-xxx...
2. 安装依赖
pnpm add openai
是的,官方推荐直接用 openai SDK,只要把 baseURL 改一下。
3. 一个最简的聊天接口
// app/api/chat/route.ts
import OpenAI from 'openai';
import { OpenAIStream, StreamingTextResponse } from 'ai';
const client = new OpenAI({
apiKey: process.env.DEEPSEEK_API_KEY!,
baseURL: 'https://api.deepseek.com/v1',
});
export const runtime = 'edge';
export async function POST(req: Request) {
const { messages } = await req.json();
const response = await client.chat.completions.create({
model: 'deepseek-chat',
stream: true,
messages,
});
const stream = OpenAIStream(response);
return new StreamingTextResponse(stream);
}
4. 前端组件
'use client';
import { useChat } from 'ai/react';
export default function Chat() {
const { messages, input, handleInputChange, handleSubmit } = useChat({
api: '/api/chat',
});
return (
<div>
{messages.map((m) => (
<div key={m.id}>
<b>{m.role}:</b> {m.content}
</div>
))}
<form onSubmit={handleSubmit}>
<input value={input} onChange={handleInputChange} />
</form>
</div>
);
}
到这里,你已经有了一个能用的对话应用。
5. 错误处理
try {
const response = await client.chat.completions.create({...});
} catch (e) {
if (e instanceof OpenAI.APIError) {
if (e.status === 429) {
// 限流: 排队 / 退避
} else if (e.status === 401) {
// key 失效
}
}
throw e;
}
6. 成本估算
按 deepseek-chat 单价:
- 输入 1 元 / 百万 token
- 输出 2 元 / 百万 token
一个平均 1k 输入 + 500 输出的对话,约 0.002 元。1 万次对话 ≈ 20 元。
7. 一些坑
- 不要用
gpt-4模型名:DeepSeek 用deepseek-chat、deepseek-reasoner - 流式必须 chunked:某些 CDN 默认关掉了,记得开
- 超长上下文:128k,但价格会涨,建议先压缩 prompt
写在最后
DeepSeek 是目前国内能直接访问、价格最低、效果接近 GPT-4 的选择。把它接进项目几乎零成本,值得试。