资讯详情

资讯详情

DeepSeek API 入门:5分钟跑通第一个AI调用程序

简介本资源是一份面向Python开发者与NLP实践者的DeepSeek API系统性入门指南聚焦API调用全流程实战解决从零注册、密钥管理、环境配置到多场景集成落地的核心问题。内容覆盖账号注册与邮箱验证、API Key安全存储规范、requests库安装与HTTP请求构建含Authorization头设置、JSON请求体组织、模型参数配置如deepseek-chat、以及文本生成、情感分析、代码生成等典型应用案例同时嵌入常见报错排查与行业应用延伸思考。资源为单文件PDF文档共1个659KB的结构化技术手册排版清晰、步骤详实、代码可直接复用适合作为开发备忘录或团队内部API接入参考。目前已有2353人学习下载适合具备基础编程能力、希望快速掌握大模型API工程化调用并应用于智能客服、内容生产等实际场景的中阶开发者。1. DeepSeek API 是什么——别被“API”两个字母吓住它其实就是你和大模型之间的“微信对话框”你有没有试过在手机上打开一个聊天App输入“帮我写一封辞职信”几秒钟后一段措辞得体、语气诚恳的文字就跳了出来你没写一行代码也没训练模型但结果已经为你服务了。DeepSeek API 就是这样一种“能力搬运工”它不让你从零造轮子而是把 DeepSeek 这个成熟大模型的思考力封装成一个你能随时调用的“对话窗口”。它不是软件安装包也不是要你搭服务器的黑匣子它更像你家楼下那家开了十年的修车铺——你不用懂发动机原理只要说“车子启动抖动”老师傅就知道该查火花塞还是油路。DeepSeek API 就是那个“老师傅”而你写的几行 Python 代码就是你递过去的那句“帮忙生成一段产品介绍文案”。对零基础新手来说最常卡住的其实是三个误解第一以为“API”“要会算法”——错。它本质是“发消息收回复”和你用微信发语音、等文字转录结果一样自然第二以为“调用大模型”“要配显卡、装CUDA”——错。所有算力都在云端你本地只需要能连网、会写几行 Python第三以为“注册拿密钥”“马上要写企业级系统”——错。第一个例子5 分钟内就能跑通输出的不是报错而是一句真正像人写的回答。这篇文章就是专为这种“想试试但不敢点开文档”的你写的。我们不讲 Transformer 架构不推导注意力公式也不列一堆术语让你查词典。我们就从你电脑上刚装好的 Python 开始一步步点开浏览器、复制一串字符、粘贴进代码、按下回车——然后看着屏幕打出第一句由 AI 生成的、属于你自己的文字。你不需要“精通”只需要“敢动第一下”。接下来我们就从这“第一下”开始。2. 先搞懂三件事账号、密钥、地址——没有它们代码再漂亮也发不出去2.1 注册账号3 分钟完成比注册外卖平台还简单DeepSeek 的注册流程设计得非常“反套路”它不问你公司、不填工单、不验证学历只认两样东西——一个真实邮箱和一个你自己记得住的密码。打开浏览器输入官网地址注意是https://platform.deepseek.com不是带 www 的变体也不是搜出来的广告链接右上角那个“注册”按钮就是你的入口。填写时请记住两个血泪经验邮箱务必用你日常登录频率最高的那个比如 Gmail 或 Outlook因为后续所有通知、密钥重置、额度提醒都走这里密码建议直接用你已有的“主密码 deepseek”组合例如MyPass2024!deepseek既安全又不会忘——我第一次学的时候就因为试了 7 个新密码最后全记混了只能重发验证邮件。提交后邮箱里会收到一封主题为“Verify your email address”的邮件。点击里面的蓝色按钮即可激活。注意这一步不能跳过。有些新手以为“页面显示注册成功完事”结果后面调用 API 一直返回 401 错误折腾半天才发现邮箱根本没点验证链接。提示如果你等了 2 分钟还没收到邮件请先检查“垃圾邮件”文件夹。DeepSeek 的验证邮件有时会被误判。如果仍无踪影可回到注册页点击“重发验证邮件”通常 30 秒内就会抵达。2.2 获取 API Key它不是密码而是你专属的“电子工牌”登录成功后鼠标移到右上角头像下拉菜单里找“API Keys”或“密钥管理”不同版本 UI 可能叫法微调但图标通常是锁形或钥匙形。点击进入你会看到一个干净的页面中央有个大大的“Create API Key”按钮。点它。系统会立刻生成一长串字符类似这样sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx实际长度约 52 位全部由小写字母、数字和短横线组成这就是你的 API Key。请立刻做三件事全选 → 复制CtrlC / CmdC不要手打粘贴到一个临时文本文件里比如桌面新建的my-deepseek-key.txt并保存在 DeepSeek 平台页面上给这个 Key 起个名字比如dev-laptop-first-test——这是为了以后你建了 10 个 Key 时能一眼分清哪个是测试用、哪个是上线用。为什么不能只靠脑子记因为它只显示一次。关掉页面再进来就只能看到sk-...xxxx的后 4 位前面全变成星号它不能找回。丢了就得删掉旧 Key、生成新的——而所有正在跑的程序会立刻断连它不能共享。哪怕是你同事、你导师也不能把这串字符发微信给他。每个账号应独立申请。注意千万别把它写进 Python 源码里比如下面这种写法是高危操作api_key sk-abc123def456... # ❌ 危险一旦代码上传 GitHubKey 就泄露了正确做法见第 3 章我们会用环境变量安全托管它。2.3 记住两个关键地址你的“发信地址”和“收信地址”调用 API 不是魔法它本质是“你发一封 HTTP 信对方回一封 JSON 信”。而每封信都必须写清楚“寄到哪儿”和“我是谁”。基础 URL你的“收信地址”https://api.deepseek.com这是所有请求的统一入口。就像你寄快递不管寄衣服还是寄书都得写“北京市朝阳区某某物流中心”而不是每件商品一个地址。DeepSeek 把所有功能聊天、摘要、代码生成都挂在这个域名下只是路径不同。具体接口地址你的“发信路径”最常用的是https://api.deepseek.com/chat/completions这是“聊天补全”功能的专属路径也就是你问问题、它给答案的核心通道。别被/chat/completions吓住——它就相当于微信里的“发送消息”按钮背后的协议你不需要理解只要知道“往这儿发就能得到回答”。其他路径如/sentiment-analysis或/code-generation是未来可能开放的扩展能力目前官方主推且稳定支持的是/chat/completions。新手起步盯死这一个就够了。3. 第一行能跑通的代码5 分钟写出你的第一个 AI 对话程序3.1 安装 requests 库Python 的“快递员”Python 自带urllib但写起来像手写挂号信要自己拼 URL、编码参数、处理 headers、解析响应……requests 库就是帮你雇了个专业快递员你只管说“我要寄什么、寄到哪儿”剩下的他全包。打开你的终端Windows 是命令提示符或 PowerShellmacOS/Linux 是 Terminal输入pip install requests等待几秒看到Successfully installed requests-2.31.x就表示安装完成。提示如果你看到PermissionError或Access denied说明你没用管理员权限运行终端。Windows 用户请右键“命令提示符”→“以管理员身份运行”macOS 用户在命令前加sudosudo pip install requests并输入开机密码。验证是否装好在终端输入python进入交互模式然后敲import requests print(requests.__version__)如果打印出类似2.31.0的版本号说明快递员已上岗。3.2 创建安全配置把密钥藏进“保险柜”现在我们来解决上一章强调的“密钥不能硬编码”问题。Python 社区通用做法是用环境变量——它就像你家门后的便签条只有你家的程序Python 解释器能看到外人包括 GitHub完全看不见。第一步在你的项目文件夹里比如桌面新建一个deepseek-demo文件夹创建一个叫.env的文件注意开头的点是隐藏文件。用任意文本编辑器打开它写入DEEPSEEK_API_KEYsk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx把等号右边换成你刚才复制的那串真实 Key。第二步安装python-dotenv库让它能读取这个文件pip install python-dotenv第三步在同一个文件夹里新建first_call.py写入以下代码# first_call.py from dotenv import load_dotenv import os import requests # 1. 加载 .env 文件里的密钥 load_dotenv() api_key os.getenv(DEEPSEEK_API_KEY) # 2. 设置请求目标DeepSeek 的聊天接口 url https://api.deepseek.com/chat/completions # 3. 设置请求头告诉服务器“我是谁”和“我发的是什么格式” headers { Authorization: fBearer {api_key}, # ✅ 这里是关键Bearer 是标准认证方式 Content-Type: application/json # ✅ 告诉服务器我的正文是 JSON } # 4. 构建请求体你要问什么让谁回答 data { model: deepseek-chat, # ✅ 必填指定用聊天模型 messages: [ # ✅ 必填对话历史至少包含一条 user 消息 {role: user, content: 你好请用一句话介绍你自己} ] } # 5. 发送请求并检查结果 response requests.post(url, headersheaders, jsondata) # 6. 打印原始响应调试用 print(HTTP 状态码:, response.status_code) print(原始响应:, response.text)这段代码每一行都在干一件确定的事load_dotenv()是打开保险柜os.getenv(...)是从保险柜里取出钥匙headers是把钥匙插进锁孔的方式Bearer 空格 Keydata[messages]是你真正想问的问题放在content里requests.post(...)是按下“发送”按钮最后两行print是看快递是否送到、包裹里是什么。3.3 运行它见证第一句 AI 回复在终端中先进入你的项目文件夹cd ~/Desktop/deepseek-demo # macOS/Linux # 或 cd C:\Users\YourName\Desktop\deepseek-demo # Windows然后运行python first_call.py如果一切顺利你会看到类似这样的输出HTTP 状态码: 200 原始响应: {id:chat_abc123,object:chat.completion,created:1715823456,model:deepseek-chat,choices:[{index:0,message:{role:assistant,content:我是 DeepSeek 开发的大语言模型专注于提供高质量的对话和文本生成服务。},logprobs:null,finish_reason:stop}],usage:{prompt_tokens:12,completion_tokens:38,total_tokens:50}}✅ 状态码200表示成功✅content字段里那段话就是 AI 给你的第一句正式回复提示如果看到401 Unauthorized99% 是 API Key 错了——回去检查.env文件里有没有多空格、少字符、大小写错误如果看到404 Not Found检查url是否写成了https://platform.deepseek.com/...那是网页地址不是 API 地址如果看到ConnectionError说明网络不通先ping api.deepseek.com看能否连上。4. 从“能跑”到“能用”把生硬的 JSON 变成你想要的纯文字4.1 理解响应结构别再手动找content了上面的response.text是一整块 JSON 字符串对新手很不友好。其实requests提供了.json()方法能把它自动转成 Python 字典让我们像查字典一样取值。把first_call.py最后几行改成这样# 替换原来的 print(response.text) 部分 if response.status_code 200: result response.json() # ✅ 把 JSON 字符串转成 Python 字典 # 从字典里一层层“挖”出答案 answer result[choices][0][message][content] print( AI 回答, answer) else: print(f❌ 请求失败状态码{response.status_code}) print(错误信息, response.text)再运行一次输出就变成了 AI 回答 我是 DeepSeek 开发的大语言模型专注于提供高质量的对话和文本生成服务。为什么是[choices][0][message][content]因为 DeepSeek API 的响应遵循 OpenAI 兼容格式choices是一个列表即使你只问一个问题它也可能返回多个备选答案所以是列表[0]表示取第一个答案最常用message是这条答案的完整对象content才是真正的文字内容。提示你可以把result全打印出来print(result)多看几次结构比背公式管用。我第一次学的时候就对着print(result.keys())和print(result[choices][0].keys())逐层敲半小时就摸清了。4.2 封装成函数让调用像按开关一样简单每次写requests.post(...)太重复。我们把它封装成一个叫ask_deepseek的函数以后只要写ask_deepseek(今天天气怎么样)就行。新建deepseek_helper.py# deepseek_helper.py from dotenv import load_dotenv import os import requests # 加载密钥只需一次 load_dotenv() API_KEY os.getenv(DEEPSEEK_API_KEY) BASE_URL https://api.deepseek.com/chat/completions def ask_deepseek(prompt, modeldeepseek-chat): 向 DeepSeek 模型提问返回纯文本答案 :param prompt: str, 你想问的问题 :param model: str, 使用的模型名默认 deepseek-chat :return: str, AI 生成的回答失败时返回错误信息 headers { Authorization: fBearer {API_KEY}, Content-Type: application/json } data { model: model, messages: [{role: user, content: prompt}] } try: response requests.post(BASE_URL, headersheaders, jsondata, timeout30) if response.status_code 200: result response.json() return result[choices][0][message][content].strip() else: return f❌ API 错误{response.status_code} - {response.text[:100]} except requests.exceptions.Timeout: return ❌ 请求超时请检查网络 except Exception as e: return f❌ 未知错误{str(e)}然后在first_call.py里调用它# first_call.py新版 from deepseek_helper import ask_deepseek answer ask_deepseek(用 Python 写一个计算圆面积的函数半径 r 作为参数) print( AI 回答, answer)运行你会看到 AI 回答 def circle_area(r): 计算圆的面积 return 3.14159 * r ** 2✅ 你已经拥有了一个可复用的 AI 调用工具。下一步就是让它“听懂人话”。4.3 加入系统指令让 AI 懂你的角色和风格上面的函数只传了user消息但 DeepSeek 支持system角色——它像给 AI 下达“人设指令”。比如你想让它当一个严谨的数学老师而不是随口聊天的朋友。修改ask_deepseek函数中的data构建部分data { model: model, messages: [ {role: system, content: 你是一位资深 Python 工程师回答要简洁、准确只输出代码不加解释。}, {role: user, content: prompt} ] }再试一次answer ask_deepseek(写一个函数判断一个数是不是质数) print( AI 回答, answer)输出会变成def is_prime(n): if n 2: return False for i in range(2, int(n**0.5) 1): if n % i 0: return False return True✅ 没有多余的话全是代码。这就是system指令的力量——它不改变模型能力但能精准引导输出风格。5. 新手必踩的 5 个坑我翻车过的你不用再试5.1 坑API Key 复制时带了前后空格现象status_code返回401但 Key 明明是对的。原因你在.env文件里粘贴 Key 时末尾不小心多了一个空格肉眼难辨或者复制时选中了换行符。解决打开.env文件把光标放在 Key 最后一个字符后按方向键 →如果光标还能移动一格说明有空格用print(repr(api_key))打印带引号的原始字符串空格会显示为 。5.2 坑URL 写成网页地址而非 API 地址现象ConnectionError或404 Not Found。原因混淆了https://platform.deepseek.com你登录的网页和https://api.deepseek.com程序调用的接口。前者是给人看的后者是给机器用的。解决死记硬背——所有requests.post()的url参数必须以https://api.deepseek.com开头后面接/chat/completions等路径。5.3 坑忘记设置Content-Type请求头现象400 Bad Request响应里说invalid request。原因DeepSeek API 强制要求Content-Type: application/json否则它不认为你发的是合法 JSON。解决检查headers字典里是否有Content-Type: application/json这一行。漏掉它就像寄快递不写“物品类型”快递站直接拒收。5.4 坑messages列表为空或格式错误现象400 Bad Request错误信息提到messages缺失或格式不对。原因messages必须是列表且至少包含一个字典且字典必须有role和content两个 key。常见错误写成messages {role: user, content: hi}少了外层[]写成messages [{role: user, text: hi}]text应为content。解决严格按示例写[{role: user, content: 你的问题}]。多一个逗号、少一个引号都会失败。5.5 坑中文标点混入代码导致语法错误现象SyntaxError或UnicodeDecodeError。原因你用中文输入法写了冒号、引号“”、破折号——而 Python 只认英文符号:、、-。解决写代码时永远切换到英文输入法。在 VS Code 或 PyCharm 里可以设置“保存时自动转换中文标点”需插件但最稳妥的还是养成习惯——敲代码前先按Shift切英文。6. 下一步学什么——从“会调用”到“能落地”的三步跃迁6.1 第一步掌握“上下文管理”让对话像真人一样连贯你现在每次调用都是一个孤立问题。但真实场景中用户会连续追问“帮我写个函数” → “改成支持浮点数” → “再加个异常处理”。这就需要维护对话历史messages列表。试试这个增强版ask_deepseek# 在 deepseek_helper.py 中新增 def chat_with_deepseek(initial_prompt): 开启一个持续对话自动记忆历史 messages [ {role: system, content: 你是一个耐心的编程助手每次回答后都问用户是否需要进一步帮助。} ] # 第一次提问 messages.append({role: user, content: initial_prompt}) response _send_request(messages) if response: assistant_reply response[choices][0][message][content] messages.append({role: assistant, content: assistant_reply}) return assistant_reply, messages return None, messages def _send_request(messages): # 复用之前的请求逻辑只是 data 里传入完整的 messages 列表 ...这样你就能实现多轮交互。这是构建智能客服、学习助手的基石——它不增加复杂度只是把messages当作一个可增长的列表来维护。6.2 第二步学会控制输出长度和风格告别“废话文学”默认情况下AI 可能啰嗦。通过max_tokens最大生成字数和temperature随机性参数你能精准调控参数推荐值效果适用场景max_tokens256限制回答总长度避免长篇大论适合摘要、标题生成temperature0.3降低随机性答案更确定代码生成、数学计算要确定性temperature0.7提高随机性答案更多样创意写作、头脑风暴在data字典里加上data { model: deepseek-chat, messages: [...], max_tokens: 256, temperature: 0.3 }你会发现同样问“写一个排序函数”temperature0.3总是返回经典的sorted()或list.sort()而0.7可能给你冒泡、快排、归并三种写法——选哪个取决于你要“稳”还是“活”。6.3 第三步接入真实项目从 demo 走向可用工具别停留在print()。把你刚写的ask_deepseek()函数嵌入到这些真实场景中VS Code 插件用 Python VS Code API实现“选中一段代码 → 右键 → ‘让 AI 解释’”一键弹出注释命令行工具用argparse包装运行deepseek 如何用 pandas 读取 Excel直接在终端输出答案简易 Web 页面用 Flask 写一个单页输入框提交按钮后端调用ask_deepseek前端显示结果——100 行代码就是一个可用的内部知识库。我第一次把ask_deepseek接进公司内部 Wiki 时只改了 3 行把原来硬编码的“相关文档链接”替换为ask_deepseek(f根据以下内容生成一句话摘要{article_text})。上线当天同事反馈“搜索结果变聪明了”。从那以后我每次写工具都强制走一遍“能不能用 AI 增强这一环”的 checklist——不是为了炫技而是因为它真的让事情变简单了。希望帮到你。本文还有配套的精品资源点击获取
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →