LLM推理加速实战:vLLM与显存优化破局性能瓶颈
我们做了不少大模型应用真正到了上线这一步最先卡住的地方往往不是模型效果而是推理速度。同一个模型别人能跑到每秒钟生成几百个token自己部署出来却慢得像在读盘问题到底出在哪这篇文章就讲清楚LLM推理的性能瓶颈以及一套实测下来最快、最省事的代码实现方案。适合正在做模型部署、接口服务或者被推理延迟折磨过的开发者参考。1. 内容整体设计与思路拆解1.1 为什么“最快推理”的核心不是模型本身很多人一上来就选小模型、蒸馏模型觉得模型参数小了推理自然快。这个思路不能说错但方向偏了。大模型LLM推理的真正瓶颈不在计算量而在显存带宽和自回归解码方式。推理一个token时模型要把全部权重从显存读一遍参与计算但每个token只产出一次。这意味着单次推理时间大约等于模型体积除以显存带宽想让它变快路径只有两条减少读取权重的时间、增加每次读取后产出的token数量。前者靠量化、剪枝后者靠批处理batching两条路径可以叠加。另外一个核心前提是大模型推理必须用KV Cache也就是把历史token的Key和Value缓存下来避免每次生成都重新算全量注意力。不做好KV Cache的管理显存会迅速耗尽推理直接原地崩溃。1.2 常见推理框架对比选型背后的逻辑目前主流的推理服务框架有几个各有侧重列表对比一下框架核心优化点适用场景上手难度vLLMPagedAttention、Continuous Batching高并发服务、需要高吞吐低TensorRT-LLM算子融合、图优化追求极限单卡性能高llama.cppCPU友好、内存映射本地小规模推理低SGLang自动前缀复用、结构化生成复杂多轮、Agent场景中Hugging Face Transformers无深度优化原型验证、调试最低我自己在大部分生产场景下选了vLLM。原因很直接它把显存管理做得最优雅PagedAttention解决了KV Cache碎片化问题Continuous Batching让GPU利用率始终处于饱满状态而且Python接口简单改造成本极低。TensorRT-LLM性能上限确实高但编译图、调算子、对齐版本消耗的精力太大适合硬件配置固定、流量模型稳定的场景。SGLang在前缀复用上做得非常好如果你的场景有大量公共上下文比如多轮Agent会话可以纳入考虑。1.3 让人“感觉快”和“吞吐快”是两件事推理性能评估必须把延迟和吞吐分开。延迟指的是单个请求从发出到拿到第一个token的时间也就是首Token延迟TTFT加上后续每生成一个token的时间ITL。吞吐指的是单位时间内处理请求的数量或生成token的总数。用生活化的类比解释延迟是餐厅里一个客人从点菜到上菜的速度吞吐是餐厅同时能接待多少桌客人。这两个指标往往互相拉扯。服务单个请求时独占GPU肯定快服务大量请求时批处理把所有请求凑到一起算每个请求平均延迟上升但整体吞吐大幅提升。vLLM的Continuous Batching所做的是在两者之间找平衡请求粒度很小来一个就插进当前batch走完一个就从batch里摘出去不用像传统批处理那样等到整批全部结束才释放资源。搞清楚这个逻辑再去看代码实现就不乱了。2. 核心细节解析与实操要点2.1 PagedAttention显存管理的革命先说说传统KV Cache的问题。每个请求的KV Cache需要预先分配连续的显存空间分配大小通常按最大序列长度计算。实际序列长度参差不齐结果就是显存内部残留大量碎片。比如你预留了2048个token的缓存实际只用到300个token中间那条缝隙就浪费了。并发一高显存直接被打爆推理进程报CUDA Out Of Memory。vLLM的做法是PagedAttention思路借鉴操作系统里的分页内存管理。把KV Cache切成固定大小的块Block每个Block存一定数量的token物理上不要求连续通过块表映射逻辑地址。需要多少空间就申请多少块用完释放碎片率大幅下降。这个设计的直接好处是显存利用率能做到接近极限。同样的GPU传统方案跑4个并发就可能内存不足vLLM可能跑到15个并发还稳得很。项目实践下来这往往是性能差距最大的一个来源。2.2 Continuous Batching把GPU喂饱传统批处理模式下几个请求凑成一个batch同时计算等batch里最慢的那一个跑完整个batch才结束。GPU在batch结束时往往还有空闲算力但已经没法插新请求了这对依赖推理服务“持续排队”的场景是致命的浪费。Continuous Batching连续批处理把调度粒度改小。每个step计算完成后batch里完成的请求直接移除新来的请求立刻插入整个过程像流水线一样持续运转。GPU几乎永远处于满载状态单位时间处理的请求数大幅提升。实现层面vLLM为每个请求维护状态机、采样参数和KV Cache块表调度器每次decode前重新计算batch组合。这套逻辑如果你自己从零写涉及序列管理、显存回收、乱序返回响应至少是几千行代码的量级。直接用vLLM的现成实现是最合理的路径。2.3 量化与精度取舍显存带宽是硬瓶颈量化则是直接在宽度上下手。FP16权重占2字节INT8占1字节INT4只要0.5字节。把权重从FP16压到INT4权重读取时间理论上能砍75%推理速度立竿见影。但量化有代价。AWQ、GPTQ这类量化方案会把部分原始精度损失压到激活值上词表层的输出概率会变形。实测中INT8量化对大多数任务精度损失小到可以忽略INT4量化在一些复杂推理、代码生成场景会偶尔出现意外输出所以需要按业务场景评估。实际操作参考如果GPU显存紧张优先考虑INT8加权激活量化如果追求极端吞吐INT4配合vLLM的AWQ加载方式是不错的选择。不要盲目全上INT4先在小流量上跑一周对比效果。2.4 前缀缓存Prefix Cache减少重复计算Agent场景、多轮对话、检索增强生成RAG都有一个共同特点请求之间带有大段相同的前缀内容。如果每次请求都把整个上下文从头计算一遍KV浪费极其严重。vLLM的自动前缀缓存机制会把计算过的KV Cache按内容哈希缓存到显存中新请求如果命中相同前缀直接跳过这部分计算。实际项目中RAG场景首Token延迟能缩短约40%~60%幅度非常大。代码调用层面vLLM默认开启前缀缓存只需要确保传给模型的提示词尽量结构化相同内容放在开头就能天然收益。如果自己实现调度器要考虑前缀匹配算法和缓存的容量上限复杂度不小用框架效果更稳定。3. 实操过程与核心环节实现3.1 环境准备版本对齐是第一课使用vLLM最怕版本不匹配。以下是我反复验证过稳定的一组环境组合组件推荐版本说明Python3.10~3.113.12部分算子兼容性问题避坑CUDA11.8P40/T4等老卡 / 12.1及以上新卡跟随PyTorch版本走PyTorch2.1.0~2.2.0vLLM当前版本依赖此区间vLLM0.5.x~0.6.x新特性多接口变化较快GPU建议单卡显存至少16GB起7B模型INT8量化后可压到约8GB安装vLLM最省心的方式还是pippip install vllm如果要针对特定GPU做算子优化从源码编译也不是不行但编译时间漫长且需要本地CUDA工具链建议普通用户先pip跑通后再考虑定制化编译。3.2 最小可用的高速推理代码这是vLLM最基础的调用代码但已经比原生Transformers快3~5倍起步from vllm import LLM, SamplingParams # 加载模型 llm LLM( model你的模型路径或HuggingFace模型名, tensor_parallel_size1, # 单卡置1多卡时设为GPU数 gpu_memory_utilization0.90, # 显存利用率按显卡剩余空间调整 max_model_len8192, # 最大上下文长度 dtypeauto, # 自动选择精度 quantizationNone, # 量化方式如awq、gptq trust_remote_codeTrue, # 自定义模型结构时必须开 ) # 采样参数 sampling_params SamplingParams( temperature0.7, top_p0.9, max_tokens1024, stop[/s, 用户:], ) # 单条请求 outputs llm.generate( [用一句话解释什么是量子纠缠], sampling_params ) print(outputs[0].outputs[0].text)这段代码已经是高并发可用的正确打开方式。一个重要提示不要用for循环逐条调用generate那和原生框架没有区别。得把请求批量塞进同一个调用。prompts [ 写一首五言绝句, 解释一下贝叶斯定理, 用Python实现一个快速排序, 总结一下这段会议纪要..., ] * 200 # 模拟800条并发请求 outputs llm.generate(prompts, sampling_params)每一条回复都在输出列表里对应索引拿到结果即可。3.3 启动OpenAI兼容的推理服务如果要做成线上服务vLLM直接提供了OpenAI兼容接口一条命令启动python -m vllm.entrypoints.openai.api_server \ --model 你的模型路径 \ --served-model-name my-llm-service \ --tensor-parallel-size 1 \ --gpu-memory-utilization 0.90 \ --max-model-len 8192 \ --port 8000启动后就能用标准OpenAI SDK做请求from openai import OpenAI client OpenAI( base_urlhttp://localhost:8000/v1, api_keyEMPTY, # vLLM默认不鉴权生产环境务必套网关 ) resp client.chat.completions.create( modelmy-llm-service, messages[ {role: system, content: 你是一个严谨的助手。}, {role: user, content: 写一段代码实现二分查找}, ], temperature0.3, max_tokens512, ) print(resp.choices[0].message.content)这种方式最大的好处是API协议兼容业界标准迁移成本几乎为零。业务侧原来怎么对接大模型接口现在把base_url换成本地地址就行。3.4 流式输出首字延迟直接拉低和用户对话的界面流式输出几乎必选。没有流式时用户要白白等十几秒才看到第一个字有流式时几百毫秒就出第一个字体验天差地别。vLLM关闭了流式的话要等整个响应全部生成完才返回。开启流式只需在客户端加上steam参数curl http://localhost:8000/v1/completions \ -H Content-Type: application/json \ -d { model: my-llm-service, prompt: 写一个故事, max_tokens: 500, stream: true }服务端会通过SSEServer-Sent Events逐token推送消息客户端逐段渲染即可。3.5 多卡并行把模型塞进更大显存模型超大一张卡装不下的时候用tensor_parallel_size参数做张量并行llm LLM( model大模型路径, tensor_parallel_size2, # 两张GPU gpu_memory_utilization0.85, )张量并行的原理是把注意力头的权重矩阵拆到各卡上计算时通过集合通信合并结果。注意这需要卡之间走NVLink或者高速PCIe普通PCIe带宽会拖慢速度实测差距可能高达30%以上。如果显卡不支持NVLink建议优先考虑纯数据并行用API服务集群负载均衡而不是张量并行。3.6 量化加载一个参数切换高速模式已经量化好的模型比如AWQ格式vLLM加载时不需要额外转换权重直接按下面的方式拆装llm LLM( model量化模型路径, quantizationawq, )如果是原生FP16模型想要立即提速可以在启动前先做离线量化# 使用AutoAWQ做量化示例 python quantize.py \ --model_path FP16模型路径 \ --quant_path 量化输出路径 \ --bits 4量化完成后再把输出路径给vLLM加载。实测7B模型从FP16到AWQ INT4单卡吞吐大概能提升1.6~2倍显存占用直接减半。前提是做足精度评测再上线。3.7 服务化部署的工程细节部署到生产环境时有几个参数值得专门调参数推荐值作用--max-num-seqs256~512单次批处理最大请求数过大延迟上升过小吞吐不足--max-parallel-loading-workers1~2模型加载并发防止多进程争显存--swap-space4~16单位GBCPU内存交换空间越小越好越大说明显存吃紧了--disable-log-stats按需关闭频繁日志生产环境建议开但降级输出生产环境还需要在前面套上Nginx负载均衡做请求分发和限流。vLLM本身没有太强的鉴权和限流机制直接裸奔在公网风险极高。网关层至少要做三件事API Key校验、按用户限流、链路日志透传。4. 常见问题与排查技巧实录4.1 错误CUDA Out Of Memory这个错误最常见也最误导人。多数情况下并不是显存真不够而是KV Cache的预留空间挤占了可用显存。排查步骤先看gpu_memory_utilization是多少通常0.90没问题但模型权重本身比较大时比如70B模型在单卡A100上要把这个值降到0.80。用nvidia-smi观察显存占用曲线。如果模型加载后空闲显存还很多问题可能出在max_num_seqs设置过大。调整max_model_len8192不够用到65536显存压力完全不同按业务真实上下文长度来设置不要无脑拉大。另一个隐蔽原因是显存碎片化。如果部署过程中反复重启进程、加载不同模型显存可能残留碎片重启容器或重启机器能解决。4.2 现象请求越多单个请求越慢这是正常现象但要有度。如果并发从1涨到10单请求生成速度下降50%以上说明批处理参数太激进。调优方向max_num_seqs降到合理的值不要一味追求吞吐。观察nvidia-smi里GPU利用率如果低于70%说明调度不饱和可以适当上调。如果日志里出现大量Waiting for available sequence slots说明并发超过处理能力需要通过网关限流控制排队长度而不是无限加请求。4.3 现象同一个请求每次生成结果不一致这个通常不是bug而是采样参数的随机性。想调试复现把temperature设为0top_p设为1.0基本可以做到确定输出。生产环境需要注意如果用户反馈同一问题答案不一致是常态考虑是否需要对部分场景锁定低温度。4.4 问题TP张量并行多卡推理反而更慢多卡不一定更快。如果卡之间走的是普通PCIe通道每次Attention计算都涉及大量通信通信开销可能抵消并行收益。建议检查是否NVLink环境nvidia-smi topo -m可以查看拓扑。如果确认是PCIe环境小模型7B/13B在单卡能装下的情况下不要用TP。大模型批量场景可以先对比TP1和TP2的实际输出吞吐再定。4.5 问题前缀缓存没生效代码层面vLLM默认开启前缀缓存但实际效果可能被掩盖。排查思路是先打印详细日志查看缓存命中率。最容易被忽略的是前缀内容格式不稳定。比如RAG场景每个请求都拼接系统提示但拼接时带了不同时间戳前缀哈希就变化了。确保公共前缀严格一致差异内容全部放在前缀之后。另外一个细节vLLM前缀缓存是按token级别的哈希进行匹配的英文场景通常效果明显中文分词粒度较大时前缀命中率相对低需要和业务改造配合。4.6 代码层自查有没有绕过vLLM有个很常见、但容易被忽略的坑很多人表面上用了vLLM实际代码还是for循环逐条发起请求。# 错误写法示例 for prompt in all_prompts: out llm.generate([prompt], params)这样每条请求都会重新走一遍调度、排队吞吐优势完全发挥不出来。正确做法是把请求拼成列表一次性传入让vLLM的调度器自由组合batch。同理用OpenAI SDK时也要用异步并发请求服务端侧vLLM天然支持并发瓶颈在客户端。4.7 常见问题速查表问题现象快速解法CUDA OOM启动时报显存不足降gpu_memory_utilization调小max_model_len或max_num_seqs响应慢TTFT很高检查前缀缓存命中率降低max_num_seqs观察模型加载是否正常吞吐低GPU利用率不满增大并发请求量检查客户端是否批量调用生成乱码输出异常token检查分词器与模型是否匹配检查停止词设置服务崩溃长时间运行后超时检查swap-space设置查看是否有请求堆积导致的显存耗尽结果不一致重复请求答案不同若需复现设temperature0检查采样参数4.8 性能基准测试不要只看一个数字性能测试建议分解成三个指标分别记录首Token延迟TTFT代表用户等待第一个字的体验。vLLM下通常在300~800ms区间具体看前缀长度和模型大小。单Token生成间隔ITL代表打字速度越大看起来越“卡顿”。吞吐Tokens/s代表系统整体能力用总生成Token数 / 总耗时计算。压测时用现成工具即可注意并发模型要贴近真实用户行为比如对话场景是短请求高频批量场景是长请求低频两者压测结果差别极大。在真实流量上多跑几个迭代不要用固定长度Prompt的一次性压测结果当永久结论。5. 推理加速的进阶扩展思路5.1 Speculative Decoding在没有损失的前提下加速除了框架级别的优化模型本身结构也可以做文章。投机解码Speculative Decoding的思路是用一个很轻量的小模型快速草拟后续多个token大模型一次性并行验证草稿因为大模型一次前向可以验证多个token正确就免费跳过了那些位置。实际使用中f越小、小模型和大模型能力越接近加速效果越好。市面上的主流方案里这算是最有效的无损加速手段之一。vLLM新版本已经实验性支持相关接口可以持续关注。5.2 更激进的模型结构优化如果还想往极限抠就要回到算法层面。注意力稀疏化某些层只有部分token之间需要交互用稀疏注意力减少计算量。算子融合把多个kernel合并成一个减少显存读写次数这需要CUDA层面的定制。动态显存分配根据实际序列长度动态规划KV CachevLLM的Page已经做到这一层。实操建议是不要自己从零写这些优化绝大多数项目的性能差距不是框架造成的而是部署方式造成的。5.3 从单机到集群的扩展单机GPU再快也有并发上限。业务量上来后把vLLM部署到多台机器前面挂负载均衡形成推理服务集群。这个阶段的经验每台机器的并发上限有限集群的容量规划按单机吞吐乘机器数估算但留20%冗余。模型加载时间几十分钟是常态务必做健康检查探活而不是简单依赖进程存活。如果请求有大量公共前缀可以考虑粘性路由让同一前缀的请求尽量落在同一台机器上以命中缓存。我个人的踩坑记录是第一次压测就遇到一台机器满载、另一台闲置的情况原因是负载均衡策略按连接数分发短连接的vLLM请求其实应该按队列深度分发。调整后集群整体吞吐提升了接近一倍。一些经验总结最后做个实用总结算是给后来者划重点。最快推理代码实现的本质不是选一个最牛的模型而是把引擎层、调度层、接口层全都调到最优状态。我的项目实践顺序是先确认模型本身有没有更好的量化版本这一步平均能带来约1.5倍收益再用vLLM替换原生推理代码这一步收益最大通常3倍以上开启前缀缓存、调整并发参数结合业务流量特征做二次调优又能往上走一截最后接入压测工具持续监控建立性能基线后续每个版本升级都回归对比。测试环境始终建议留一个和生产等规格的镜像。大模型部署的坑很多只在长时间高并发下才暴露。比如显存碎片、调度抖动、缓存击穿这些在小流量验证时是看不出来的。只有把基线建好问题出现时才有对照。有一点我感触特别深就是性能优化永远要和业务形态绑定。同样是7B模型对话类场景追求低延迟批量生成类场景追求高吞吐参数配置几乎完全相反。网上很多现成的“最佳配置”可以在前期帮你快速启动但长期运行后还是要回到自己的流量模型上做数据判断。希望这篇实践笔记能让你少走些弯路。下一步如果你正在考虑优化自己的推理服务直接按文中第二节的思路先跑一次基线测试看看最耗时的环节在哪个模块你就知道该往哪个方向用力了。

相关新闻

文档比较工具实战:从算法原理到Word差异检测与审阅报告生成

文档比较工具实战:从算法原理到Word差异检测与审阅报告生成

简介:文档比较工具是一类用于检测并高亮显示两份文本差异的实用软件,面向经常处理合同、研究报告、代码文件及多版本文档的IT从业者与办公人员。本资源以UltraCompare为核心,提供64位汉化版本及修正补丁,帮助中文用户绕开语言障碍…

2026/10/13 15:12:44 阅读更多 →
Android Binder ServiceManager查询结果返回机制深度解析

Android Binder ServiceManager查询结果返回机制深度解析

1. 项目概述:从一次Binder查询的“回声”说起 你有没有遇到过这样的场景:在调试一个系统服务时,明明服务端已经注册成功,客户端调用 getService() 却始终返回空指针?日志里只有一句轻描淡写的 "ServiceManager…

2026/10/13 15:11:43 阅读更多 →
打造无可挑剔的 CLI 工具:零配置、语义化与无感认证实践

打造无可挑剔的 CLI 工具:零配置、语义化与无感认证实践

1. 项目概述:一个被误读的 CLI 工具命名现象最近在多个前端社区、CLI 工具讨论组和 Node.js 开发者 Slack 频道里,“impeccable”这个词频繁出现,但它既不是 npm 官方包名,也不是任何主流开源项目的正式代号——它实际是开发者群体…

2026/10/13 15:11:43 阅读更多 →

最新新闻

AI-Gomoku实战:Minimax+Alpha-Beta打造可部署五子棋AI

AI-Gomoku实战:Minimax+Alpha-Beta打造可部署五子棋AI

简介:AI-Gomoku是一款面向Python初学者与AI算法爱好者的五子棋智能对弈程序,聚焦博弈搜索与轻量级AI实现,适用于算法实践、课程设计及人机对战场景。资源包共11个文件,含4个核心Python源码(如eval.py、referee.py、alg…

2026/10/13 15:57:03 阅读更多 →
多智能体+行业工作台:AI团队协作与业务流程落地的工程实践

多智能体+行业工作台:AI团队协作与业务流程落地的工程实践

最近开源社区里多智能体的项目冒出来一大批,但绝大多数看一眼就能猜到大结局:Demo 跑得飞起,一碰真实业务就散架。要么 Agent 各说各话没人收口,要么任务拆下去结果完全不可控,更别提什么权限隔离、工具管控、知识库绑…

2026/10/13 15:57:03 阅读更多 →
PERT图核心逻辑与PERT Chart EXPERT实战:三点估算、关键路径与避坑指南

PERT图核心逻辑与PERT Chart EXPERT实战:三点估算、关键路径与避坑指南

简介:PERT Chart EXPERT 是一款面向项目经理、计划专员及项目团队的 PERT 图专业绘制软件,基于计划评审技术帮助用户直观梳理任务节点、依赖关系与预期工期,解决项目排期与进度监控难题。压缩包体积约 2.43MB,为 rar 格式&#xf…

2026/10/13 15:57:02 阅读更多 →
C# XML操作全解析:从DOM到LINQ、序列化与流式避坑指南

C# XML操作全解析:从DOM到LINQ、序列化与流式避坑指南

深夜还在跟 XML 较劲的兄弟,我懂你。这种事我干过太多次了,明明就是几个节点的读写,一碰上编码、命名空间、特殊字符,瞬间能把人逼疯。C# 操作 XML 的方式其实有好几条路,DOM、LINQ to XML、序列化、流式读写&#xff…

2026/10/13 15:57:02 阅读更多 →
可再生能源与电动汽车协同调度:Matlab+Python复现全流程

可再生能源与电动汽车协同调度:Matlab+Python复现全流程

我们先把话说清楚:这套课题我在工位上完整复现过一遍,从论文公式到Matlab脚本再到Python绘图,所有流程都走通了。课题全名叫"可再生能源发电与电动汽车的协同调度策略研究",技术栈是Matlab和Python,应用场景…

2026/10/13 15:57:02 阅读更多 →
选择排序与插入排序:手写背后的底层直觉与工程权衡

选择排序与插入排序:手写背后的底层直觉与工程权衡

1. 为什么今天还要手写选择排序和插入排序?——从“能跑通”到“真理解”的分水岭很多人看到“算法-6-选择排序插入排序”这个标题,第一反应是:这都2024年了,Python里一个sorted()、JavaScript里一个.sort()就搞定的事&#xff0c…

2026/10/13 15:56:01 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 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/12 21:05:09 阅读更多 →
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/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →