欢迎光临
我们一直在努力

DeepSeek API 调用完整教程(保姆级)Python/JS/cURL 全示例+流式输出+函数调用

DeepSeek API 调用完整教程(保姆级)Python/JS/cURL 全示例+流式输出+函数调用

摘要:本文保姆级讲解 DeepSeek API 从零接入全过程,包含账号注册、APIKey 获取、三种调用方式、流式输出、FunctionCall、JSON结构化输出,附带完整可运行代码与报错解决方案,零基础也能快速搭建AI应用。

标签:DeepSeek API、大模型开发、Python AI、后端开发、人工智能、API接口调用

(此处插入封面图,封面图建议文案:DeepSeek 最新API 零基础入门教程 | 免费额度|代码开箱即用)

一、前言

DeepSeek 是国内顶尖大模型厂商,提供 DeepSeek-V3(通用对话)、DeepSeek-R1(推理/数学) 等高性能模型,其 API 最大优势是 完全兼容 OpenAI 格式,无需修改原有 OpenAI 代码即可快速迁移,且新用户赠送免费额度,无需信用卡,价格远低于 OpenAI,非常适合个人开发者、中小企业快速接入大模型能力,开发聊天机器人、写作工具、知识库问答等应用。

本文从零带你手把手完成:注册账号 → 获取 API Key → 基础调用(3种方式)→ 高级功能(流式输出/函数调用/JSON模式)→ 常见错误排查,所有代码可直接复制运行,全程无踩坑,新手也能轻松上手。

二、注册账号并获取 API Key(核心步骤)

1. 注册/登录

直接访问 DeepSeek 官方控制台:https://platform.deepseek.com/

– 支持 邮箱注册、Google 登录、GitHub 登录,流程简单,无需复杂验证;

– 新用户注册后自动赠送免费额度,足够个人开发者测试、入门使用,无需绑定信用卡。

2. 创建 API Key(关键操作,务必保存)

步骤拆解(跟着做,不踩坑):

1. 登录控制台后,点击左侧菜单栏「API Keys」,进入 API Key 管理页面;

2. 点击「Create new API Key」,填写 Key 名称(自定义,如 `my-deepseek-app`,方便区分用途);

3. 点击生成后,⚠️ 重要提醒:API Key 仅显示一次! 立即复制,保存到记事本或本地文档,丢失无法找回;

4. 安全建议:不要将 API Key 硬编码在代码中(避免泄露),建议存到系统环境变量,后续代码中通过环境变量读取。

3. 充值(可选,免费额度用完后)

免费额度用完后,可在控制台点击「充值」,DeepSeek API 价格亲民(远低于 OpenAI),个人开发者少量充值即可满足长期开发需求,具体价格可在控制台查看。

三、API 基础信息(必看,避免调用出错)

提前掌握基础信息,后续调用更顺畅,核心参数如下:

  • API 基础地址:https://api.deepseek.com(完全兼容 OpenAI 接口格式,迁移成本为0);
  • 核心对话端点:/chat/completions(所有对话类调用均使用此端点);
  • 可用模型(常用2种):         
  • deepseek-chat:通用对话模型,性价比高,适合日常对话、文案生成、答疑等场景(推荐新手首选);
  • deepseek-reasoner:推理型模型,数学计算、代码生成、逻辑推理能力更强,适合技术类场景。
  • 认证方式:请求头中添加 Authorization: Bearer YOUR_API_KEY(YOUR_API_KEY 替换为你保存的 API Key);
  • 常用参数:         
  • temperature:0~1之间,控制回答的创意度,值越高越有创意,值越低越严谨(默认0.7,日常使用无需修改);
  • max_tokens:最大输出长度,控制回答的字数(默认1024,可根据需求调整,如生成长文本可设为2048)。

四、快速调用(3种方式,可直接复制运行)

提供 cURL(无需代码)、Python(推荐)、Node.js 三种调用方式,按需选择,新手优先尝试 cURL 快速测试,再用 Python 开发。

方式1:cURL(无需代码,快速测试接口连通性)

适合快速验证 API Key 是否有效、接口是否能正常返回结果,复制到终端(Windows 用 PowerShell,Mac/Linux 用终端)直接运行:

bash curl https://api.deepseek.com/chat/completions \\   -H "Content-Type: application/json" \\   -H "Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \\   -d '{     "model": "deepseek-chat",     "messages": [       {"role": "system", "content": "你是一个乐于助人的AI助手,回答简洁清晰,不冗余。"},       {"role": "user", "content": "解释一下什么是大语言模型?用一句话概括。"}     ],     "temperature": 0.7,     "max_tokens": 1024   }'

说明:将代码中的 sk-xxxxxxxxxxxx替换为你自己的 API Key,运行后若返回 JSON 格式的回答,说明接口调用成功。

方式2:Python(推荐,兼容 OpenAI SDK,开发效率高)

DeepSeek API 完全兼容 OpenAI SDK,无需额外安装 DeepSeek 专属 SDK,直接用 OpenAI SDK 即可调用,步骤如下:

1)安装依赖

打开终端,执行以下命令安装 OpenAI SDK:

bash pip install openai

2)基础对话示例(可直接复制运行)

python from openai import OpenAI import os # 初始化客户端(关键:指定 DeepSeek 的 base_url 和 API Key) client = OpenAI(     api_key=os.getenv("DEEPSEEK_API_KEY"),  # 从环境变量读取 API Key(安全)     base_url="https://api.deepseek.com"     # DeepSeek API 基础地址 ) # 调用对话接口,发送请求 response = client.chat.completions.create(     model="deepseek-chat",  # 选用通用对话模型     messages=[         # system 角色:设定 AI 的身份和回答风格         {"role": "system", "content": "你是一个专业的技术文档工程师,回答通俗易懂,带简单示例。"},         # user 角色:用户的提问         {"role": "user", "content": "写一段Python快速排序代码,并简单解释原理。"}     ],     temperature=0.7,  # 保持默认,平衡严谨性和创意     max_tokens=1024   # 足够输出代码+解释 ) # 提取并打印 AI 的回答 print("AI 回答:") print(response.choices[0].message.content)

运行说明:

1. 先设置环境变量 DEEPSEEK_API_KEY(避免硬编码):

– Windows(PowerShell):$env:DEEPSEEK_API_KEY = "你的API Key"

– Mac/Linux(终端):export DEEPSEEK_API_KEY="你的API Key"

2. 运行 Python 脚本,即可看到 AI 生成的快速排序代码和原理解释,代码可直接复制运行。

(此处插入图5:Python 代码运行成功效果图,图片说明:本地 Python 脚本运行结果,控制台正常输出 AI 完整回答,代表 DeepSeek 接口调用成功、密钥有效、网络连通正常。)

方式3:Node.js(前端/后端集成适用)

适合需要在 Node.js 项目中集成 DeepSeek API 的场景,步骤如下:

1)安装依赖

bash npm install openai

2)基础对话示例(可直接复制运行)

javascript const OpenAI = require("openai"); // 初始化客户端 const openai = new OpenAI({   apiKey: process.env.DEEPSEEK_API_KEY,  // 从环境变量读取 API Key   baseURL: "https://api.deepseek.com",   // DeepSeek API 基础地址 }); // 异步调用函数 async function callDeepSeek() {   try {     const completion = await openai.chat.completions.create({       model: "deepseek-chat",       messages: [         {"role": "user", "content": "什么是RAG技术?用通俗的话解释,不要太专业。"}       ],     });     // 打印 AI 回答     console.log("AI 回答:", completion.choices[0].message.content);   } catch (error) {     console.error("调用失败:", error.message);   } } // 执行调用 callDeepSeek();

运行说明:先在终端设置环境变量(export DEEPSEEK_API_KEY="你的API Key"),再执行 node 文件名.js 即可。

五、高级功能1:流式输出(实时打字机效果)

日常使用 ChatGPT 时,“逐字输出”的效果就是流式输出,适合聊天界面、实时生成场景,能提升用户体验,避免等待完整回答的卡顿。DeepSeek API 支持流式输出,只需在调用时添加 stream: true即可。

Python 流式输出示例(可直接复制)

python from openai import OpenAI import os client = OpenAI(     api_key=os.getenv("DEEPSEEK_API_KEY"),     base_url="https://api.deepseek.com" ) # 流式调用:开启 stream=True stream = client.chat.completions.create(     model="deepseek-chat",     messages=[         {"role": "user", "content": "详细讲解Transformer的自注意力机制,分步骤说明,通俗易懂。"}     ],     stream=True,  # 关键:开启流式输出     temperature=0.7,     max_tokens=2048 ) # 逐块接收并打印,实现“打字机”效果 print("AI 流式回答(实时输出):") for chunk in stream:     # 过滤空内容,避免打印多余空格     if chunk.choices[0].delta.content:         print(chunk.choices[0].delta.content, end="", flush=True)

效果:运行后,AI 会逐字逐句输出回答,和 ChatGPT 实时对话效果一致。前端开发时,可配合 EventSource 或 WebSocket,将流式数据实时渲染到页面,实现聊天界面。

六、高级功能2:函数调用(Agent 开发必备)

函数调用是大模型实现“工具使用”的核心能力,DeepSeek API 支持 Function Calling,可让 AI 根据用户需求,自动调用外部工具(如查询天气、调用数据库、调用其他API),适合开发 Agent、智能助手等复杂应用。

示例:定义“查询天气”工具并调用

python from openai import OpenAI import json client = OpenAI(     api_key=os.getenv("DEEPSEEK_API_KEY"),     base_url="https://api.deepseek.com" ) # 1. 定义工具(告诉 AI 有哪些工具可用,以及如何调用) tools = [     {         "type": "function",         "function": {             "name": "query_weather",  # 工具名称(自定义)             "description": "用于查询指定城市的实时天气,返回温度、天气状况等信息",  # 工具描述(让 AI 知道什么时候用)             "parameters": {                 "type": "object",                 "properties": {                     "city": {                         "type": "string",                         "description": "城市名称,如北京、上海,必须是中文全称"  # 参数说明                     }                 },                 "required": ["city"]  # 必传参数             }         }     } ] # 2. 发起带工具的对话请求 response = client.chat.completions.create(     model="deepseek-chat",     messages=[{"role": "user", "content": "上海今天天气怎么样?需要带伞吗?"}],     tools=tools,  # 传入定义的工具     tool_choice="auto"  # 让 AI 自动判断是否需要调用工具 ) # 3. 解析 AI 的响应,判断是否需要调用工具 message = response.choices[0].message if message.tool_calls:     # 提取工具调用信息     tool_call = message.tool_calls[0]     tool_name = tool_call.function.name     tool_args = json.loads(tool_call.function.arguments)          print(f"AI 决定调用工具:{tool_name}")     print(f"调用参数:{tool_args}")          # 此处可添加实际调用“天气API”的逻辑(如调用高德天气API、百度天气API)     # 模拟工具调用结果     weather_result = {         "city": tool_args["city"],         "temperature": "25℃",         "weather": "晴转多云",         "suggestion": "无需带伞,注意防晒"     }          # (可选)将工具调用结果返回给 AI,让 AI 整理成自然语言回答     second_response = client.chat.completions.create(         model="deepseek-chat",         messages=[             {"role": "user", "content": "上海今天天气怎么样?需要带伞吗?"},             message,  # AI 之前的响应(包含工具调用)             {                 "role": "tool",                 "tool_call_id": tool_call.id,                 "content": json.dumps(weather_result)  # 工具调用结果,转为 JSON 字符串             }         ]     )          # 打印 AI 整理后的最终回答     print("AI 最终回答:")     print(second_response.choices[0].message.content)

说明:此示例中,AI 会自动判断“查询天气”需要调用工具,然后解析参数、调用工具,最后将工具返回的结果整理成自然语言回答,完整还原 Agent 的核心逻辑。

七、高级功能3:JSON 模式(强制输出 JSON,结构化场景适用)

开发中,经常需要 AI 输出结构化数据(如列表、字典),此时可开启 JSON 模式,强制 AI 输出 JSON 格式,避免格式错乱,方便后续解析。

Python 示例(强制输出 JSON)

python from openai import OpenAI import os import json client = OpenAI(     api_key=os.getenv("DEEPSEEK_API_KEY"),     base_url="https://api.deepseek.com" ) # 开启 JSON 模式,强制输出 JSON response = client.chat.completions.create(     model="deepseek-chat",     messages=[         {"role": "user", "content": "生成3个中国历史人物,包含姓名、朝代、核心成就,输出JSON格式,不要多余文字。"}     ],     response_format={"type": "json_object"},  # 关键:强制 JSON 输出     temperature=0.7 ) # 解析 JSON 结果 ai_json = json.loads(response.choices[0].message.content) print("AI 生成的 JSON 数据:") print(json.dumps(ai_json, ensure_ascii=False, indent=2))

效果:AI 会严格输出 JSON 格式,无任何多余文字,可直接用 json.loads() 解析,适合数据批量生成、结构化展示等场景。

八、常见错误与排查(新手必看,避坑指南)

调用 API 时,难免遇到错误,以下是最常见的4种错误及解决方案,对照排查即可快速解决:

  • 错误1:401 Unauthorized
  • 原因:API Key 错误、未填写 API Key,或 API Key 已过期;
  • 解决方案:重新检查 API Key 是否正确(复制时不要多复制空格),若过期,重新创建 API Key。
  • 错误2:429 Too Many Requests
  • 原因:超出 API 速率限制(免费版约 100 次/分钟),短时间内调用过于频繁;
  • 解决方案:降低调用频率,添加延时(如 time.sleep(1)),或升级账号套餐。
  • 错误3:余额不足(提示 Insufficient balance)
  • 原因:免费额度已用完,未进行充值;
  • 解决方案:进入 DeepSeek 控制台,点击「充值」,按需充值即可。
  • 错误4:模型不存在(提示 Model not found)
  • 原因:模型名填写错误,如误写为 deepseek_chat(下划线错误)、deepseek-xxx(不存在的模型);
  • 解决方案:确认模型名为 deepseek-chat 或 deepseek-reasoner,严格按照官方文档填写。

九、总结与后续拓展

1. 总结

DeepSeek API 凭借「兼容 OpenAI 格式、免费额度充足、价格低、性能强」的优势,成为国内开发者接入大模型的首选。本文覆盖了从账号注册到高级功能的全流程,所有代码可直接复制运行,新手可快速上手,老手可直接用于项目开发。

2. 后续拓展(学以致用)

基于本文的基础,你可以开发以下应用:

  • 1. 个人聊天机器人:用 Python/JS 结合流式输出,开发一个简易的聊天界面;
  • 2. 写作助手:调用 API 生成文案、邮件、代码、技术文档;
  • 3. 知识库问答:结合 RAG 技术(如 LangChain),上传自己的文档,实现专属知识库问答;
  • 4. Agent 智能助手:结合函数调用,实现自动查询天气、查询股票、调用其他 API 的智能助手。

如果觉得本文对你有帮助,欢迎点赞!

赞(0)
未经允许不得转载:171主机测评 » DeepSeek API 调用完整教程(保姆级)Python/JS/cURL 全示例+流式输出+函数调用
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址