DeepSeek API入门:Python调用大模型实现文本生成与情感分析

简介:面向自然语言处理领域的开发者,这份围绕DeepSeek API从入门到精通的PDF技术资料,从账号注册、获取API Key到依赖库安装、请求参数配置、请求构建与返回数据处理,覆盖API调用的完整链路,给出明确可循的操作指引。文中结合文本生成、情感分析、代码生成等典型场景展开案例讲解,并针对常见调用问题梳理排错思路,帮助有一定编程基础、希望深入了解API调用机制的研发人员快速上手。内容既适用于快速搭建智能客服系统、内容创作工具,也可为AI在教育、医疗等行业中的落地应用提供技术参考,整体编排循序渐进、注重实战。资源为单个PDF文档,压缩包大小659KB,内容结构紧凑,便于按章节阅读与检索。目前已有2353人学习下载,对于学习大模型API开发与集成的读者具有较高参考价值。

1. 先别慌:DeepSeek API到底是什么,能帮你做什么

第一次听说 API 这个词时,很多人都把它想象成一个很高深的黑匣子,甚至不敢点开官方文档。其实把 DeepSeek API 想成“给 AI 打电话的方式”就简单了:网页聊天是你对着屏幕打字,API 是你写程序自动拨打的一条电话线。只要你的程序能打通这条电话线,就可以让 AI 帮你生成文章、写代码、做情感分析、当客服。这门课的读者完全不需要有机器学习基础,只要会一点 Python,或者愿意照着代码一步一步敲,就能在半小时左右跑通第一个真实请求。它解决的核心问题只有一个:把大语言模型变成你自己应用里的一个“会说话的零件”。

2. 学之前先配好三样东西:账号、API Key 和 Python 环境

2.1 注册账号和获取 API Key:第一步其实只有十分钟

我第一次学 API 时最怕的就是注册环节,总觉得会卡在某个验证码或者付费页面上。实际走一遍会发现,整个过程比注册一个普通网站还简单:打开官方平台页面,找到右上角的注册按钮,用邮箱加上密码就能创建账号。注册完记得去邮箱里点一下验证链接,激活账号,十分钟内能完成。

登录之后,在页面右上角你的头像下拉菜单里找到“API Key”入口。进去以后会看到一个“创建 API Key”的按钮,点一下就生成一串由字母和数字组成的字符串。这串字符串就是你的身份凭证,相当于你调用 DeepSeek API 的“钥匙”。有一点必须记住:这串钥匙只完整显示这一次,关掉页面就再也看不到了。如果你忘了,只能重新生成一把新钥匙,而旧钥匙立刻失效。

这里有个血泪经验想提前告诉你:把 API Key 保存到一个专门的笔记文件或者密码管理工具里,千万别直接放在桌面上一个名叫“key.txt”的文件里。我身边就有朋友图省事,把 Key 截图发到工作群里,结果当天额度就被刷爆了。这串 Key 就是你的钱,泄露出去等于别人拿着你的钱包在消费,所以第一个习惯就要养成:妥善保管,不给任何人。

2.2 安装 requests 库:pip 一行命令搞定

拿到钥匙以后,接下来的事就轻松多了:在你的电脑上准备一个可以发请求的工具。Python 里最常用的 HTTP 库叫requests,它专门负责把你的代码指令打包成 HTTP 请求,发给 DeepSeek 的服务器,再把服务器返回的结果原样带回来。

安装方法很简单,打开命令行(Windows 下是命令提示符,Mac 或 Linux 下是终端),输入下面这行命令:

pip install requests

按回车以后,pip 会从 Python 的官方软件仓库自动下载并安装requests库连同它的依赖项。看到屏幕上出现“Successfully installed requests”的字样,说明装好了。

如果你用的是 Python 3,也可以把命令换成pip3 install requests,效果完全一样。安装完成后,你可以在 Python 里输入import requests验证一下,只要不报错,就说明整个环境已经就绪。到这里,账号有了、钥匙有了、发请求的工具也有了,万事俱备,可以开始写第一行真正的调用代码了。

2.3 为什么学这个要选 Python:零基础最不容易劝退

很多刚上手的新手都会纠结一个问题:听说 API 不限制编程语言,为什么教程里清一色都用 Python?答案很简单:因为 Python 是当前学习成本最低、示例代码最好读懂的语言。它在处理 JSON 格式数据上特别顺手,而 DeepSeek API 的请求和响应正好都是 JSON 格式,两者像拼图一样严丝合缝。

另外,Python 社区里围绕 AI 的生态已经非常成熟。你现在写下的这三四十行调用代码,放在三年前可能需要自己封装一堆底层网络逻辑。而现在,requests库把 HTTP 请求、重试、连接超时这些细节全包住了。你只需要关心三件事:往哪里发请求、发送什么内容、拿到结果怎么处理。

如果你之前只学过一点点 Python,甚至完全没学过,也没关系。接下来的代码一共就三四十行,没有类和对象,没有复杂的逻辑,全部是“顺序执行”:先设置参数,再发请求,最后打印结果。你不需要成为 Python 高手,只需要能看懂字典这种{“键”: “值”}的写法就够了。我会在每一段代码后面解释每一行在干什么,你跟着敲一遍,比看十遍教程都管用。

3. 跑通第一个真实请求:让 AI 回你一句话

3.1 先搞懂一个概念:调用 API 的四个零件缺一不可

在敲代码之前,先用一个比方理解整个调用的过程。你要给 AI 打电话,需要知道电话号码、你的身份、你要说的话、以及期望对方怎么回应。对应到代码里就是四样东西:

第一是基础 URL,也就是 API 的地址。DeepSeek 的对话接口地址是https://api.deepseek.com/chat/completions,这相当于对方的“电话号码”。第二是 API Key,你的身份凭证,证明“我是谁”。第三是 Headers(请求头),它负责告诉服务器:我这里有钥匙,请检查我的身份。第四是 Body(请求体),它承载你真正要说的话,比如“帮我把这段话总结成三点”。

这四个零件里面,新手最容易蒙的是 Headers 和 Body 的区别。其实不用把它想复杂:Headers 是贴在快递盒外面的快递单,上面写着寄件人和收件人信息;Body 是盒子里装的东西本身。快递员先看单子核实身份,再拆盒子看内容。服务器收到请求后也会先检查 Headers 里的Authorization字段,接着才读取 Body 里的任务内容。

3.2 从零写第一段调用代码:每个字段都拆开讲

下面这段代码是完整的“让 AI 回你一句话”的最小示例。我建议你新建一个test.py文件,逐行敲进去,千万别复制粘贴,打字的过程就是记逻辑的过程:

import requests # 引入 requests 库,用来发送 HTTP 请求 # 第一步:设置你的 API Key,把星号部分替换成你实际的 Key api_key = "sk-你的API Key" # 第二步:设置 API 地址,这是 DeepSeek 对话接口的固定地址 url = "https://api.deepseek.com/chat/completions" # 第三步:设置请求头,带上你的 Key 和数据类型 headers = { "Authorization": f"Bearer {api_key}", # 格式固定,必须在 Key 前面加上 Bearer 加空格 "Content-Type": "application/json" # 告诉服务器,发送的内容是 JSON 格式 } # 第四步:设置请求体,这是你真正想对 AI 说的话 data = { "model": "deepseek-chat", # 告诉服务器用哪个模型 "messages": [ {"role": "system", "content": "你是一个乐于助人的助手"}, # 设定 AI 的身份 {"role": "user", "content": "请用一句话介绍什么是大语言模型"} # 用户的问题 ] } # 第五步:发送 POST 请求,把数据放到服务器上,等待返回 response = requests.post(url, headers=headers, json=data) # 第六步:检查返回状态码,200 表示请求成功 if response.status_code == 200: result = response.json() # 把返回的 JSON 数据解析成字典 generated_text = result["choices"][0]["message"]["content"] # 一层层找到 AI 的回复 print(generated_text) # 打印 AI 回复的内容 else: print(f"请求失败,状态码:{response.status_code},错误信息:{response.text}")

这段代码里最需要用心理解的是data这个字典的结构。model字段告诉服务器调用哪个模型,deepseek-chat是 DeepSeek 的通用对话模型,适合日常问答和文本生成。messages是一个列表,里面每一项都是一条对话记录。每条记录由role和content组成,role有三个可选值:system用来设定 AI 的角色行为,user代表用户说的话,assistant代表 AI 曾经回复过的话。

你可能想问:为什么明明只要问一句话,却要维护一个消息列表?这是因为大语言模型没有“记忆”,它只能从你给的上下文里看。如果你传了一个空的列表,它根本不知道你是谁、你想干嘛。如果你把之前的对话全都加进去,它就能根据上下文连续回答。这个机制稍后还会再讲,现在你只要记住:每次调用,你都在给 AI 递一小撮对话历史。

3.3 处理响应:从一大坨 JSON 里捞出真正想要的回复

运行刚才那段代码,如果一切正常,屏幕上会打印出 AI 的回复。但很多人第一次看响应的时候会愣住:为什么我只问了一句话,返回回来却是密密麻麻一长串内容?这是正常的。

服务器返回的完整数据是一个 JSON 字符串,结构大致是这样:最外层包含一个choices列表,列表里有一个元素,元素里包含message,message里有role和content。content才是 AI 真正回复你的那段文字,其他那些字段如index、finish_reason等等,都是附带信息,告诉你这一次请求的内部状态。

所以那句看起来有点绕的取值代码result["choices"][0]["message"]["content"],其实就是一层层剥洋葱:先取到choices这个列表,再取它的第一项下标 0,再取这一项里的message字典,最后取message里的content字符串。以后你在调试的时候,如果输出结果不对,优先检查是不是层级弄错了,这是 API 调用里最常见的“翻车”现场。

3.4 失败时看哪里:状态码是最好的定位线索

写代码最怕的就是出错,但 API 调用其实有一点很友好:服务器出错了,会直接告诉你错在哪里,而且是用状态码的方式告诉你。你只需要记住几个最常见的:

状态码 200 表示一切正常,请求成功。状态码 401 表示认证出问题,通常是 API Key 不对、少了空格、或者格式写错了。状态码 429 表示你的请求频率太高,超过了每分钟的限制,服务器让你歇一歇。状态码 500 左右的开头,基本是服务器自己的问题,跟你没啥关系,过一会儿再试一次就好。

我第一次调通接口的时候,卡在 401 整整半小时,最后发现是复制 API Key 时把末尾的一个空格也复制进去了。这类问题基本是每个人都会踩的坑,后面一章专门来梳理,现在你只要知道:看到状态码别慌,先看它是不是 200,不是的话,对照上面的几种情况先自查一遍,找不到问题再上网查错误信息里的文字说明。

4. 三个真实场景示例:文本生成、情感分析、代码生成

4.1 场景一:简单文本生成,搭建你随身的文案助手

第一个场景最直接,就是把 AI 当成一个免费的文案帮手。比如你想让它帮你想一句朋友圈文案,或者写一段产品介绍,完全可以在刚才的代码基础上,把content换成你的需求,别的什么都不用动。

import requests api_key = "sk-你的API Key" url = "https://api.deepseek.com/chat/completions" headers = { "Authorization": f"Bearer {api_key}", "Content-Type": "application/json" } data = { "model": "deepseek-chat", "messages": [ {"role": "system", "content": "你是一个擅长写产品文案的运营专家,语言要生动、简洁"}, {"role": "user", "content": "帮我写一段30字以内的咖啡产品推广文案"} ] } response = requests.post(url, headers=headers, json=data) if response.status_code == 200: result = response.json() print(result["choices"][0]["message"]["content"]) else: print(f"请求失败,状态码:{response.status_code},错误信息:{response.text}")

这里的关键是system消息的设置。你可以把system消息理解成给 AI 的“人设指令”,它决定了 AI 回答问题的语气和方向。同一个问题“帮我写一段咖啡文案”,如果system设成“你是一个冷酷的科技测评博主”,AI 写出来的是参数和分析;设成“你是温柔的探店博主”,AI 写出来的就是体验和氛围。学会在system里精准描述需求,比不断追问 AI 更有效率,这是所有大语言模型 API 调用的基本功。

4.2 场景二:情感分析,判断一条评论是好评还是差评

第二个场景是情感分析。这类任务传统上需要训练单独的机器学习模型,现在用大语言模型 API 也能轻松搞定。你不需要额外下载任何工具,还是用同一个接口,只是把任务要求写进system里就行。

import requests api_key = "sk-你的API Key" url = "https://api.deepseek.com/chat/completions" headers = { "Authorization": f"Bearer {api_key}", "Content-Type": "application/json" } # 待判断的评论 comment = "这家餐厅的菜品味道很好,就是上菜速度有点慢" data = { "model": "deepseek-chat", "messages": [ {"role": "system", "content": "你是一个情感分析助手。请判断用户评论的情感倾向,只回复三个词之一:positive、negative、neutral,并给出一个0到1之间的置信度"}, {"role": "user", "content": comment} ] } response = requests.post(url, headers=headers, json=data) if response.status_code == 200: result = response.json() print(result["choices"][0]["message"]["content"]) else: print(f"请求失败,状态码:{response.status_code},错误信息:{response.text}")

看到这段代码,你应该已经发现了:所谓“情感分析”,本质上就是改了一套指令的文本生成。你在system里把任务说清楚,AI 就会按你的要求输出结果。这个思路可以套用到很多任务上,比如关键词提取、文章分类、翻译转换。以后遇到任何文本处理的需求,先别急着写复杂程序,问自己一句:能不能把要求写进system让 AI 直接干?

有一点要提醒你:如果你在处理大量文本,最好把输出格式约束得更具体一些,比如让它只能输出“positive/negative/neutral”这三个词,不要输出多余的内容。这样后续处理结果时会更稳定,不容易出现因为 AI 自由发挥而解析失败的情况。

4.3 场景三:代码生成,让 AI 从零写出可用的小函数

第三个场景可能是最有吸引力也最实用的:让 AI 直接生成代码。比如你想要一个计算器函数,或者一段读取文件的脚本,你可以像下面这样要求它:

import requests api_key = "sk-你的API Key" url = "https://api.deepseek.com/chat/completions" headers = { "Authorization": f"Bearer {api_key}", "Content-Type": "application/json" } data = { "model": "deepseek-chat", "messages": [ {"role": "system", "content": "你是一个资深 Python 工程师,只输出代码,不要输出解释,代码要包含注释"}, {"role": "user", "content": "用 Python 写一个函数,接收两个数字,返回它们的和,并进行单元测试"} ] } response = requests.post(url, headers=headers, json=data) if response.status_code == 200: result = response.json() generated_code = result["choices"][0]["message"]["content"] print(generated_code) else: print(f"请求失败,状态码:{response.status_code},错误信息:{response.text}")

注意我在system里加了一条“只输出代码,不要输出解释”。这是因为大语言模型默认喜欢边解释边写代码,给你一段 Python 代码前面还加一段“好的,我来为你实现这个功能”。加了这条约束之后,输出内容就干净了。

生成的代码质量如何?在大多数常见任务上,这类模型生成的代码达到“能直接运行”的水平一点不夸张。遇到报错,你甚至可以把报错信息原样丢回去,让它自己修订。这件事真正舒服的地方在于:AI 永远不会不耐烦,你让它改一百遍,它也会一句怨言没有地修改第一百次。

5. 新手必看:五个最容易踩的坑和排查方法

5.1 坑一:认证失败,状态码 401

现象:请求发出去,返回状态码 401,大概率还会带一行类似“Authentication Fails”的错误说明。

原因:绝大多数情况是 API Key 不对。具体来说可能是三种:一是复制的时候前后带了空格或换行符;二是字母大小写错误,Key 是区分大小写的;三是使用了旧的 Key——重新生成过后,旧 Key 会立即失效。网络代理有时也会干扰认证请求,但相对少见。

解决:先把代码里的api_key变量重新赋值一下,改成手动一个个字符敲进去,不要用粘贴。如果还不行,登录官方平台,重新生成一个 Key,替换掉旧 Key。注意,替换之后,之前使用旧 Key 的程序都会失效,所以如果你有多个项目在跑,把它们都一并更新,再换新 Key。

5.2 坑二:请求超时,响应迟迟不来

现象:代码运行后没有输出,过了很久报出Timeout或连接超时的错误。

原因:网络连接不稳定,或者服务器负载高,导致请求没有在预期时间内返回。有些公共网络会拦截对外部 API 的长连接,也会造成超时。

解决:在requests.post里加一个timeout参数,例如timeout=30,给请求设置 30 秒的上限。这样如果超时,程序会明确报错,而不是卡住不动。然后换一个网络环境试试,比如从公司网络切到手机热点。如果你需要频繁调用,还可以自己实现一个简单的重试逻辑:超时后等待几秒钟再重新发送一次,最多重试三次。重试逻辑代码量不大,但能解决大部分临时性的网络波动问题。

5.3 坑三:参数错误,模型名或消息结构不对

现象:返回状态码 400,提示Invalid Parameter之类的信息。

原因:最常见的是把模型名拼错了。DeepSeek 的通用对话模型是deepseek-chat,有段时间有开发者误写成deepseek-v2或者deepseek-coder,自然会被拒绝。另外,messages的结构也可能不对,比如忘了role字段,或者content写了非字符串的内容。

解决:对照官方文档,逐字检查model的名称。messages必须是一个列表,列表的每一项必须是一个字典,字典必须包含role和content两个字段,而且两个字段的值都必须是字符串。新手最容易忘记的是给messages加外层列表,直接写成了字典,这个要特别留意。

5.4 坑四:响应解析报错,拿不到 content

现象:状态码是 200,请求成功了,但执行到result["choices"][0]["message"]["content"]时报错,比如KeyError或者TypeError。

原因:你不一定每次都拿到同一个形状的响应。有些接口返回的字段名不完全一样,或者choices列表里没有内容,又或者响应里多了一层结构。如果你用的是旧版本的模型名称,也可能出现字段差异。

解决:不要一上来就取深层字段。先用print(response.json())把完整的响应打印出来看一眼,确认实际返回了什么。再对照词典结构逐层取值。另外,取列表元素前先判断len(result["choices"]) > 0,取字段前先判断一下"message" in result["choices"][0],这样即使结构有变化,程序也不会直接崩溃,而是能告诉你到底缺了什么。

5.5 坑五:API Key 泄露,被盗刷额度

现象:控制台里出现你不认识的请求记录,或者账单显示大量调用,再看代码,发现 Key 写死在前端页面或公共仓库里。

原因:有人把 Key 提交到了公开的 GitHub 仓库,或者写进了被分享出去的演示页面代码里。API Key 是跟着Authorization头发出去的,一旦代码本身流传出去,任何拿到代码的人都能用你的 Key。

解决:重要程度排第一位。立即到平台后台把这个 Key 删除或重新生成,让旧 Key 立刻变为废弃状态。以后要养成两个习惯:第一,Key 永远保存在环境变量或本地配置文件里,不要出现在代码里;第二,不要提交到任何公开仓库。在本地写测试脚本时,Key 还要设置好文件权限,防止同电脑其他人看到。这件事我跟很多人讲过:安全意识和编码能力是两码事,后者可以慢慢练,前者必须从一开始就做好。

6. 下一步学什么:从“能跑”到“会做完整应用”

到了这一步,你已经跑通了第一个真实的 DeepSeek API 请求,掌握了一个能覆盖绝大多数文本任务的通用调用模板。下一步到底该怎么走?我给你一条非常实际的学习路径。

先练好 Prompt 写作。用 API 做产品,本质上就是通过system消息把任务定义清楚。你可以每天拿一个真实的场景练手,比如让 AI 给一段唇枪舌剑的聊天记录做情绪分析,或者让它把你手头的工作报告压缩成五条摘要。慢慢地你就会发现,同样一个模型,在不同人的提示词之下,产出的效果天差地别。Prompt 不是玄学,它是有方法论的:先定角色,再给任务,再给格式要求,最后给约束条件。

再学会管理上下文。现在每次调用你都是只发一条消息,但真实应用里用户是会连续提问的。你需要把历史记录保存在自己这边,下次请求时拼接到messages里一起发给 API。同时注意,模型能接受的上下文长度是有上限的,所以你要学会做“窗口滑动”:超出长度时把最老的对话丢掉,保留最近的几条。

最后做一个完整的小项目。我建议你做一个“智能客服消息助手”:从桌面一个 txt 文件里读取用户提问,调用 API 获得回答,把回答写进另一个 txt 文件。这个项目虽然简陋,但涵盖了你未来做真实应用的所有环节:文件读写、请求调用、数据解析、错误处理。做通之后,再往界面上加东西也会顺手很多。

从那以后,我每次写 API 调用代码,都强制自己走一遍这个流程:先确认 Key 没问题,再确认模型名拼写正确,然后打印一次完整响应确认结构,最后再开始写解析逻辑。这套流程帮我避开了绝大多数低级错误,希望也能帮到你。

本文还有配套的精品资源,点击获取

相关新闻

基于卷积神经网络的人体动作跟踪研究:从数据到时序建模的实战路径

基于卷积神经网络的人体动作跟踪研究:从数据到时序建模的实战路径

1. 先搞清楚研究对象:动作跟踪比动作识别多了什么如果有人拿着"基于卷积神经网络的人体动作跟踪研究"这个题目来找我聊,我通常第一句话不是问用了哪个网络,而是先反问一句:你这里的"跟踪",到底想跟…

2026/10/20 12:18:10 阅读更多 →
MindSpore FileWriter 深度解析:大规模数据集写入与分片策略

MindSpore FileWriter 深度解析:大规模数据集写入与分片策略

1. 从数据落盘说起:为什么需要关注FileWriter搞过深度学习训练的人大概都有过这种体验:数据集小的时候,直接把图片路径塞进内存里,训练脚本跑得飞起;可一旦数据量上到几十万甚至上百万条,内存就开始报警&am…

2026/10/20 12:18:10 阅读更多 →
端到端自动驾驶的三条主线:从GTC‘26看数据、部署与评测

端到端自动驾驶的三条主线:从GTC‘26看数据、部署与评测

每年GTC这类全球GPU技术大会一开,自动驾驶圈就像过年一样热闹。作为一个常年泡在端到端模型训练里的算法工程师,我这两天基本是白天开多个直播分屏,晚上刷技术博客和社区讨论,GTC‘26的大部分公开议题我都过了一遍。周围不少朋友问…

2026/10/20 12:18:10 阅读更多 →

最新新闻

Flutter开发鸿蒙应用:从零搭建药品服药记录器全流程教程

Flutter开发鸿蒙应用:从零搭建药品服药记录器全流程教程

做跨平台开发这几年,我用 Flutter 写过不少工具类应用,最近刚把一个药品服用记录器顺利跑到了鸿蒙手机上。这个项目从零开始做,覆盖了环境配置、数据表设计、服药计划、本地通知、真机联调这一整条链路,中间踩了不少坑&#xff0c…

2026/10/20 13:06:59 阅读更多 →
Hindsight:面向Agent的分层可演化的长期记忆架构

Hindsight:面向Agent的分层可演化的长期记忆架构

1. 项目概述:为什么一个Agent需要“记性”,而Hindsight给出了新解法最近在几个技术社区里,总能看到开发者反复追问:“我的Agent跑着跑着就忘了上一轮用户问过什么”“多轮对话中历史信息越积越多,推理变慢、回答开始自…

2026/10/20 13:06:59 阅读更多 →
Flutter+OpenHarmony轻量级记事本:用户管理模块开发实战

Flutter+OpenHarmony轻量级记事本:用户管理模块开发实战

在OpenHarmony上做一款轻量级开源记事本,最让我意外的不是UI渲染,也不是生命周期管理,而是用户管理这个看似普通的模块,藏着不少跨平台适配的坑。这篇文章基于我实际开发的Flutter for OpenHarmony轻量级记事本App,把用…

2026/10/20 13:06:59 阅读更多 →
技能盘点与展示指南:从“会做”到“能交付”

技能盘点与展示指南:从“会做”到“能交付”

最近帮几位朋友梳理个人技能清单,我发现一个很普遍的问题:大家把“熟悉某某技术”“用过某某工具”当成技能,但真正被问到“你能交付什么结果”时,却支支吾吾说不清楚。这个问题在简历筛选、面试、晋升答辩、转行跳槽里都会反复出…

2026/10/20 13:06:59 阅读更多 →
外语学习效率低?从单词提取到翻译润色的全流程实操指南

外语学习效率低?从单词提取到翻译润色的全流程实操指南

1. 先把“3.11 105~111”这个单元看明白:它到底要你做什么1.1 拿到新一课,别急着翻字典我常用的这套教材,目录里写着“3.11”,指的是第三单元第十一课,而“105~111”就是这一课在书里的页码范围。很多同学拿到这样的学…

2026/10/20 13:06:59 阅读更多 →
数字体温计自动读数:目标检测与七段码识别的工程实践

数字体温计自动读数:目标检测与七段码识别的工程实践

数字体温计这玩意儿,看着简单,真做自动读数才发现处处是坑。去年我们团队接了个视觉需求:在固定机位上拍一张体温计的屏幕,系统自动识别出当前温度并写入记录,全程不需要人去看。第一反应肯定是"目标检测加OCR&qu…

2026/10/20 13:05:59 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →