使用 DeepSeek API 开发简易对话机器人
你好,我是悦创。
在之前的文章中,有读者评论说要学习大模型的 API 调用,那么今天这篇文章就来分享 DeepSeek API 的使用入门,如果你有什么想学的随时评论关注。

至于 grok 的后期再更新,这个 grok 也需要梯子,所以先编写 DeepSeek,原生实现还是比使用现成的要好,自主性更好,更好的掌握!
1. 首次调用 API
DeepSeek API 使用与 OpenAI 兼容的 API 格式,通过修改配置,您可以使用 OpenAI SDK 来访问 DeepSeek API,或使用与 OpenAI API 兼容的软件。
PARAM | VALUE |
---|---|
base_url * | https://api.deepseek.com |
api_key | apply for an API key |
* 出于与 OpenAI 兼容考虑,您也可以将 base_url
设置为 https://api.deepseek.com/v1
来使用,但注意,此处 v1
与模型版本无关。
* deepseek-chat
模型已全面升级为 DeepSeek-V3,接口不变。 通过指定 model='deepseek-chat'
即可调用 DeepSeek-V3。
* deepseek-reasoner
是 DeepSeek 最新推出的推理模型 DeepSeek-R1。通过指定 model='deepseek-reasoner'
,即可调用 DeepSeek-R1。
2. 调用 API 对话
2.0 DeepSeek 赠送 10元
官网链接:https://platform.deepseek.com
每个账户初始是会送 10元,有一个月有效期。
看看订单就知道,是否有赠送:

如果没有赠送,那么自己实名认证后充值吧~
2.1 创建 API
- 访问 API 官网:https://platform.deepseek.com/api_keys

输入 API key 的名称后(为了区分不同项目使用的 key),点击创建:

点击创建后,即可复制得到的 key。

2.2 基础调用
在正式调用之前,使用终端安装 openai 的库:
pip3 install openai
安装完成之后,使用如下基础代码进行调用:
# -*- coding: utf-8 -*-
# @Time : 2025/3/7 20:38
# @Author : AI悦创
# @FileName: deepseekapi.py
# @Software: PyCharm
# @Blog :https://bornforthis.cn/
# code is far away from bugs with the god animal protecting
# I love animals. They taste delicious.
# Please install OpenAI SDK first: `pip3 install openai`
from openai import OpenAI
api_key = "sk-b5b6d742d6ed4daea4a75ec6fe0b483b" # <DeepSeek API Key>
client = OpenAI(api_key=api_key, base_url="https://api.deepseek.com")
response = client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "system", "content": "您是个乐于助人的助手"},
{"role": "user", "content": "你好,我是悦创。"},
],
stream=False
)
print(response.choices[0].message.content)
运行之后,返回貌似有点慢,不知道以后能不能解决。(反正,等的我着急)
上面运行之后,会得到如下结果:
你好,悦创!很高兴认识你。今天有什么我可以帮你的吗?无论是学习、工作还是生活中的问题,都可以告诉我哦! 😊
2.3 逐步分析
- 输出 response 看看最后的结构
print(response)
# ---output---
ChatCompletion(id='ae98a320-dde6-4d16-84a5-72391334395f', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content='你好,悦创!很高兴认识你。请问有什么我可以帮助你的吗?', refusal=None, role='assistant', audio=None, function_call=None, tool_calls=None))], created=1741401451, model='deepseek-chat', object='chat.completion', service_tier=None, system_fingerprint='fp_3a5770e1b4_prod0225', usage=CompletionUsage(completion_tokens=16, prompt_tokens=15, total_tokens=31, completion_tokens_details=None, prompt_tokens_details=PromptTokensDetails(audio_tokens=None, cached_tokens=0), prompt_cache_hit_tokens=0, prompt_cache_miss_tokens=15))
- 输出分析「选学」
ChatCompletion(
id='ae98a320-dde6-4d16-84a5-72391334395f',
choices=[...], # 主要的聊天响应数据
created=1741401451, # 时间戳(Unix 时间格式)
model='deepseek-chat', # 使用的模型名称
object='chat.completion', # 该对象的类型
service_tier=None, # 服务层级(可能是付费计划相关信息,这里为 None)
system_fingerprint='fp_3a5770e1b4_prod0225', # 服务器指纹,可能用于内部调试或追踪
usage=CompletionUsage(...) # 记录 token 使用情况
)
id
:唯一的 ID 标识这次对话完成事件。created
:时间戳,表示该响应的生成时间。model
:返回响应的 AI 模型,这里是"deepseek-chat"
。object
:描述返回对象的类型,这里是"chat.completion"
。system_fingerprint
:系统指纹,用于识别具体的模型版本或服务器信息。service_tier
:可能用于区分不同级别的 API 订阅,这里为空 (None
)。
choices
(核心对话响应数据)
choices=[
Choice(
finish_reason='stop',
index=0,
logprobs=None,
message=ChatCompletionMessage(...),
)
]
choices
是一个列表,通常包含一个或多个响应,这里只有一个(index=0
)。finish_reason='stop'
表示生成完成的原因是正常终止(可能的值还包括"length"
、"function_call"
等)。logprobs=None
表示没有返回 token 级别的概率信息(适用于对 token 选择概率感兴趣的任务)。
欢迎关注我公众号:AI悦创,有更多更好玩的等你发现!
公众号:AI悦创【二维码】

AI悦创·编程一对一
AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++ 辅导班、java 辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发、Linux、Web 全栈」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。当然,还有线下线上摄影课程、Photoshop、Premiere 一对一教学、QQ、微信在线,随时响应!微信:Jiabcdefh
C++ 信息奥赛题解,长期更新!长期招收一对一中小学信息奥赛集训,莆田、厦门地区有机会线下上门,其他地区线上。微信:Jiabcdefh
方法一:QQ
方法二:微信:Jiabcdefh
