Cloudflare Workers AI实战:边缘部署Kimi与GLM大模型指南
在当今AI应用开发领域如何高效、低成本地部署和运行大型语言模型LLM是开发者面临的核心挑战。传统方案往往需要开发者自行管理昂贵的GPU服务器、处理复杂的模型优化和推理框架这带来了巨大的技术门槛和运维成本。Cloudflare Workers AI的出现为这一难题提供了全新的解决思路。它通过全球边缘网络将AI推理能力以无服务器函数的形式提供给开发者实现了“更小、更快、更安全”的模型部署体验。本文将深入解析Cloudflare Workers AI如何在其平台上大规模运行Kimi和GLM这类主流模型从核心架构、实战部署到性能优化为你提供一份从入门到精通的完整指南。1. 背景与核心概念为什么选择Workers AI在深入技术细节之前我们首先需要理解Cloudflare Workers AI要解决的根本问题以及它为何能成为运行Kimi、GLM等模型的高效平台。1.1 传统AI模型部署的痛点传统的AI模型部署尤其是大语言模型通常遵循以下路径硬件采购与运维购买或租赁高性能GPU服务器如NVIDIA A100/H100处理驱动安装、CUDA环境配置、散热和电力等问题。软件环境搭建部署复杂的推理框架如vLLM、TGIText Generation Inference或PyTorch/TensorFlow Serving处理模型加载、批处理、内存管理。服务化与扩展将模型封装成API服务如使用FastAPI并配置负载均衡、自动扩缩容和监控告警系统。全球访问与安全为了服务全球用户需要在多个区域部署节点并配置DDoS防护、WAF等安全措施。这个过程不仅耗时耗力而且成本高昂对于中小型团队或个人开发者而言门槛极高。1.2 Cloudflare Workers AI的革新Cloudflare Workers AI旨在彻底改变这一现状。它的核心设计理念是将AI推理作为全球边缘网络的一项原生服务。更小Smaller指对开发者而言的“心智负担”和“操作复杂度”更小。你无需关心服务器、无需管理运行时、无需配置复杂的推理框架。只需编写几行JavaScript/TypeScript代码就能调用强大的模型。更快Faster得益于Cloudflare全球275个边缘节点你的AI推理请求可以在离用户地理位置最近的节点执行极大降低了网络延迟实现了真正的“边缘AI”。更安全More Secure模型运行在Cloudflare高度隔离且安全的无服务器环境中。你无需暴露自己的服务器IP天然继承了Cloudflare网络的安全防护能力包括DDoS缓解、机器人防御和零信任访问控制。1.3 Workers AI支持的模型Kimi与GLMWorkers AI提供了一个不断增长的模型目录其中就包括备受关注的模型Kimi由月之暗面Moonshot AI开发的长文本处理模型以其强大的上下文窗口最高可达200万字和出色的代码、推理能力著称。在Workers AI上你可以直接调用其API无需自行部署庞大的模型文件。GLM智谱AI推出的通用语言大模型系列包括GLM-3、GLM-4等。该系列模型在中文理解、多轮对话和知识问答方面表现优异是中文AI应用开发的热门选择。通过在Workers AI上集成这些模型Cloudflare使得开发者能够以极低的成本快速构建基于顶尖AI能力的全球性应用。2. 环境准备与账号设置开始实战之前你需要准备好开发环境。与传统的AI开发环境不同这里你几乎不需要配置本地GPU或复杂的Python环境。2.1 所需工具与账号Node.js环境Workers AI的开发主要使用Wrangler CLI工具它基于Node.js。请确保你的系统安装了Node.js版本16或以上和npm。# 检查Node.js和npm版本 node --version npm --versionCloudflare账号你需要一个Cloudflare账号。可以前往 Cloudflare官网 免费注册。Wrangler CLI这是Cloudflare Workers的官方命令行工具。通过npm全局安装。npm install -g wrangler代码编辑器任意你喜欢的编辑器如VS Code。2.2 登录与项目初始化安装好Wrangler后首先需要登录你的Cloudflare账号并创建一个新的Workers项目。# 1. 登录Cloudflare wrangler login # 执行此命令会打开浏览器授权Wrangler访问你的Cloudflare账户。 # 2. 创建一个新的Workers项目 wrangler init my-ai-worker cd my-ai-worker执行wrangler init时它会交互式地询问你是否要使用TypeScript、是否创建示例等。对于新手一路选择默认选项即可。这将创建一个包含wrangler.toml配置文件和src/index.ts入口文件的基础项目。3. Workers AI核心架构与API拆解要高效使用Workers AI必须理解其背后的运行机制和API设计。3.1 无服务器与边缘计算架构你的代码Worker将被部署到Cloudflare的全球边缘网络。当用户发起请求时请求被路由到最近的边缘节点该节点会动态启动一个轻量级的JavaScript运行时基于V8引擎来执行你的Worker代码。如果代码中调用了AI推理该节点会通过高速内部网络将任务调度到拥有GPU资源的“AI推理节点”执行然后将结果返回给用户。整个过程对开发者完全透明。3.2 核心APIcloudflare/ai库Cloudflare提供了一个专为Workers设计的AI JavaScript库。你需要在项目中安装它。npm install cloudflare/ai这个库的核心是一个名为Ai的类它提供了与不同AI任务文本生成、文本嵌入、图像识别等交互的简单接口。3.3 模型调用方式Workers AI支持两种主要的模型调用范式内置模型如cf/meta/llama-3.3-70b-instruct-fp8-fast这是Cloudflare官方优化并托管在自家网络上的模型调用延迟最低无需额外配置。自定义模型如Kimi, GLM通过Workers AI的“自定义模型”功能你可以接入第三方模型的API。这是运行Kimi和GLM的关键。你需要将第三方API的认证信息如API Key以“绑定”Binding的形式安全地关联到你的Worker。4. 完整实战在Workers AI上集成Kimi Chat API下面我们通过一个完整的例子演示如何创建一个Worker并通过它调用Kimi的Chat Completion API。4.1 项目结构与依赖首先确保你的项目结构如下my-ai-worker/ ├── src/ │ └── index.ts # Worker主逻辑 ├── package.json # 项目依赖 ├── wrangler.toml # Workers配置 └── node_modules/更新package.json确保依赖中包含cloudflare/ai。4.2 配置wrangler.toml这是Workers项目的核心配置文件。我们需要在这里定义AI绑定AI Binding和可能的环境变量。# wrangler.toml name my-ai-worker main src/index.ts compatibility_date 2024-08-01 # 定义一个AI绑定命名为 AI。这将把Cloudflare AI运行时注入到你的Worker中。 ai { binding AI } # 定义环境变量用于安全存储Kimi API的Base URL和Key。 # 这些值将在Cloudflare Dashboard中设置不会暴露在代码仓库里。 [vars] KIMI_API_BASE https://api.moonshot.cn/v1 # KIMI_API_KEY 将在部署时通过 wrangler secret put 命令设置 [[unsafe.bindings]] type secret name KIMI_API_KEY关键解释ai绑定这是调用Cloudflare内置模型所必需的。即使我们主要用自定义模型保留它也无妨。[vars]用于定义普通环境变量如API的基础地址。[[unsafe.bindings]]用于定义“秘密”绑定。KIMI_API_KEY是敏感信息必须用wrangler secret put命令上传确保其不会明文出现在配置文件中。4.3 设置Kimi API密钥在调用Kimi API前你需要从月之暗面平台获取API Key。然后将其设置为Worker的Secret。# 在项目根目录执行 wrangler secret put KIMI_API_KEY执行后命令行会提示你输入API Key的值输入后即可。这个值会被安全地存储在Cloudflare中。4.4 编写Worker核心代码现在在src/index.ts中编写处理请求和调用Kimi的逻辑。// src/index.ts // 定义请求和响应的接口类型提高代码健壮性 interface Env { // Cloudflare AI运行时绑定 AI: any; // 环境变量和秘密 KIMI_API_BASE: string; KIMI_API_KEY: string; } // Kimi API 请求体结构 interface KimiMessage { role: user | assistant | system; content: string; } interface KimiChatRequest { model: string; // 例如 moonshot-v1-8k messages: KimiMessage[]; stream?: boolean; temperature?: number; } // Kimi API 响应体结构非流式 interface KimiChatResponse { id: string; choices: Array{ index: number; message: KimiMessage; finish_reason: string; }; usage: { prompt_tokens: number; completion_tokens: number; total_tokens: number; }; } export default { async fetch(request: Request, env: Env, ctx: ExecutionContext): PromiseResponse { // 设置CORS头部方便前端调用 const corsHeaders { Access-Control-Allow-Origin: *, Access-Control-Allow-Methods: GET, POST, OPTIONS, Access-Control-Allow-Headers: Content-Type, }; // 处理预检请求 if (request.method OPTIONS) { return new Response(null, { headers: corsHeaders }); } // 只处理POST请求 if (request.method ! POST) { return new Response(Method Not Allowed, { status: 405, headers: corsHeaders }); } try { // 1. 从请求中获取用户输入 const { message } await request.json{ message: string }(); if (!message) { return new Response(JSON.stringify({ error: Message is required }), { status: 400, headers: { ...corsHeaders, Content-Type: application/json }, }); } // 2. 准备调用Kimi API的请求 const kimiRequest: KimiChatRequest { model: moonshot-v1-8k, // 根据你的API权限选择模型如 moonshot-v1-32k, moonshot-v1-128k messages: [{ role: user, content: message }], temperature: 0.7, stream: false, // 示例使用非流式流式响应处理更复杂 }; // 3. 调用Kimi API const kimiResponse await fetch(${env.KIMI_API_BASE}/chat/completions, { method: POST, headers: { Content-Type: application/json, Authorization: Bearer ${env.KIMI_API_KEY}, }, body: JSON.stringify(kimiRequest), }); if (!kimiResponse.ok) { const errorText await kimiResponse.text(); console.error(Kimi API Error:, kimiResponse.status, errorText); throw new Error(Kimi API failed: ${kimiResponse.status}); } const kimiData: KimiChatResponse await kimiResponse.json(); // 4. 提取回复内容 const reply kimiData.choices[0]?.message?.content || No response from AI.; // 5. 返回结果给客户端 return new Response(JSON.stringify({ reply: reply, usage: kimiData.usage, // 可选返回token使用情况 }), { headers: { ...corsHeaders, Content-Type: application/json }, }); } catch (error) { // 错误处理 console.error(Worker Error:, error); return new Response(JSON.stringify({ error: Internal Server Error, details: (error as Error).message }), { status: 500, headers: { ...corsHeaders, Content-Type: application/json }, }); } }, };4.5 本地开发与测试在部署到云端之前先在本地进行测试。Wrangler支持本地开发服务器。# 启动本地开发服务器 wrangler dev启动后Wrangler会提供一个本地地址如http://localhost:8787。你可以使用curl或 Postman 进行测试。# 使用curl测试 curl -X POST http://localhost:8787 \ -H Content-Type: application/json \ -d {message: 你好请用中文介绍一下Cloudflare Workers AI。}预期会收到一个包含Kimi回复的JSON响应。4.6 部署到Cloudflare全球网络本地测试无误后即可一键部署。wrangler deploy部署成功后会输出你的Worker的线上地址格式为https://my-ai-worker.你的子域名.workers.dev。现在你的AI应用已经运行在Cloudflare的全球边缘网络上了。5. 进阶集成GLM模型与性能优化集成GLM智谱AI的流程与Kimi高度相似主要区别在于API的端点Endpoint和请求参数。同时我们需要考虑如何优化性能与成本。5.1 集成GLM API假设你已获得智谱AI的API Key其基础地址为https://open.bigmodel.cn/api/paas/v4。我们修改Worker代码以支持多模型路由。首先更新wrangler.toml添加GLM的配置。# wrangler.toml (部分) [vars] KIMI_API_BASE https://api.moonshot.cn/v1 GLM_API_BASE https://open.bigmodel.cn/api/paas/v4 [[unsafe.bindings]] type secret name KIMI_API_KEY [[unsafe.bindings]] type secret name GLM_API_KEY设置GLM的Secretwrangler secret put GLM_API_KEY然后修改src/index.ts根据请求参数动态选择调用Kimi或GLM。// 在fetch函数中修改请求解析部分 const { message, model kimi } await request.json{ message: string; model?: kimi | glm }(); let apiResponse; if (model glm) { // 构造GLM API请求 (以GLM-4为例) const glmRequest { model: glm-4, // 或其他可用模型如 glm-3-turbo messages: [{ role: user, content: message }], temperature: 0.7, stream: false, }; apiResponse await fetch(${env.GLM_API_BASE}/chat/completions, { method: POST, headers: { Content-Type: application/json, Authorization: Bearer ${env.GLM_API_KEY}, }, body: JSON.stringify(glmRequest), }); } else { // 使用原有的Kimi调用逻辑 // ... (Kimi API调用代码) } // ... 后续处理保持一致5.2 性能优化策略使用流式响应Streaming对于长文本生成流式响应可以显著提升用户体验实现打字机效果。Kimi和GLM的API都支持stream: true。在Worker中你需要将API的流式响应直接转发给客户端这涉及到对ReadableStream的处理。设置超时与重试网络或API服务可能不稳定。使用ctx.waitUntil处理非关键日志任务并为fetch请求设置合理的signalAbortSignal超时。const controller new AbortController(); const timeoutId setTimeout(() controller.abort(), 10000); // 10秒超时 try { const apiResponse await fetch(url, { // ... 其他配置 signal: controller.signal, }); clearTimeout(timeoutId); // ... 处理响应 } catch (error) { clearTimeout(timeoutId); // 处理超时或中止错误 }缓存频繁请求如果应用中有重复或相似的问题可以利用Cloudflare的 Cache API 在边缘节点缓存AI的回复结果极大减少对上游API的调用降低成本和延迟。合理管理上下文长度Kimi和GLM都按Token计费并且长上下文消耗更多资源。在客户端或Worker中可以设计逻辑来智能截断或总结历史对话以控制每次请求的Token数量。5.3 成本控制与监控用量监控在Cloudflare Dashboard的Workers部分可以查看你的Worker的请求次数、CPU时间和出站流量。同时务必在Kimi和GLM的API提供商后台监控Token消耗和费用。请求限流在Worker代码中可以通过用户ID、IP地址等标识符实现简单的速率限制防止滥用。// 简易的基于内存的速率限制生产环境建议使用Durable Objects或第三方服务 const ip request.headers.get(cf-connecting-ip); const cacheKey rate_limit:${ip}; const hitCount await env.YOUR_KV_NAMESPACE.get(cacheKey); if (hitCount parseInt(hitCount) 100) { // 每分钟100次 return new Response(Rate limit exceeded, { status: 429 }); } // ... 处理请求并更新KV6. 常见问题与排查思路在开发和运行过程中你可能会遇到以下问题问题现象可能原因排查步骤与解决方案wrangler deploy失败1. 未登录 (wrangler login)。2. 账户未验证。3.wrangler.toml配置错误。1. 运行wrangler whoami确认登录状态。2. 检查邮箱完成Cloudflare账户验证。3. 检查wrangler.toml语法特别是TOML格式。Worker运行时错误AI未定义wrangler.toml中未正确配置ai绑定或本地开发时未使用wrangler dev。确保wrangler.toml中有ai { binding AI }并且始终使用wrangler dev或wrangler deploy运行。调用Kimi/GLM API返回 401/403 错误1. API Key 未设置或错误。2. API Key 权限不足或已过期。3. 请求头Authorization格式错误。1. 确认已通过wrangler secret put正确设置Secret。2. 登录对应平台检查API Key状态和余额。3. 检查代码中Bearer Token的拼接格式是否正确。API 调用超时1. 网络问题。2. 模型响应时间过长。3. Worker超时设置默认50秒。1. 在Worker中增加请求超时逻辑见5.2节。2. 对于复杂问题提示用户简化输入。3. 超时时间可在wrangler.toml的[limits]部分调整但最长不超过30秒免费计划或300秒付费计划。流式响应不工作1. 未正确设置stream: true。2. Worker未正确转发流数据。3. 客户端未按流式方式解析。1. 检查API请求体。2. 确保Worker将response.body(一个ReadableStream) 直接用于构造新的Response。3. 前端使用fetch并迭代response.body。本地开发正常部署后出错1. 环境变量/Secret未在云端设置。2. 生产环境与开发环境有差异。3. 依赖版本问题。1. 使用wrangler secret list和wrangler kv:list检查云端配置。2. 使用wrangler tail命令查看实时日志定位错误。3. 确保package-lock.json已提交或尝试删除node_modules后重新npm install并部署。7. 最佳实践与工程建议将AI模型集成到生产级应用中需要考虑更多工程化因素。安全性至上永远不要在前端暴露API Key本文的模式是唯一正确的方式——API Key存储在Cloudflare Secret中仅在边缘服务器端使用。实施用户认证你的Worker应该有自己的用户体系如JWT在转发请求到Kimi/GLM之前验证用户身份和权限。输入输出过滤对用户输入进行基本的清理和长度限制防止Prompt注入攻击。对AI返回的内容也应有审核机制特别是面向公众的应用。可观测性与日志使用console.log或console.error记录关键信息如用户ID、请求模型、Token用量和错误。通过wrangler tail查看日志。考虑将重要的业务日志如每次对话的Token消耗发送到外部日志服务或数据库用于分析和计费。错误处理与降级当主要模型如KimiAPI不可用时应有降级策略例如切换到备用模型如GLM或返回缓存的通用回复。友好的用户错误提示不要将上游API的原始错误信息直接暴露给用户应转换为对用户友好的提示。利用Cloudflare生态D1数据库用于存储用户对话历史。R2存储用于存储AI生成的图片或文件。Durable Objects用于实现有状态的会话或复杂的速率限制。Pages与Workers配合构建完整的全栈应用。版本管理与回滚使用wrangler versions和wrangler rollback来管理Worker的发布版本。在做出重大变更前先部署到预览环境通过wrangler deploy --env staging配置进行测试。通过遵循以上实践你可以构建出不仅功能强大而且稳定、安全、可维护的基于Cloudflare Workers AI的智能应用。这种模式将复杂的AI基础设施问题抽象化让开发者能专注于创造有价值的应用逻辑真正体现了“更小、更快、更安全”的下一代AI开发范式。

相关新闻

CAD快速标注全攻略:从QDIM命令到高效工作流,提升300%绘图效率

CAD快速标注全攻略:从QDIM命令到高效工作流,提升300%绘图效率

在CAD绘图中,你是否也经历过这样的场景:一张复杂的机械装配图,几十个尺寸需要标注,你耐着性子一个个点击“线性标注”,重复着“指定第一条尺寸界线原点 -> 指定第二条 -> 指定尺寸线位置”的机械操作。半小时过去…

2026/8/6 6:00:31 阅读更多 →
缓存雪崩的成因、预防与应急方案:从原理到实战的深度解析

缓存雪崩的成因、预防与应急方案:从原理到实战的深度解析

1. 项目概述:当缓存层“雪崩”时,系统会发生什么?想象一下,你负责维护一个日活百万的电商应用。大促零点,海量用户涌入,准备抢购限量商品。此时,作为系统性能加速器的Redis缓存集群,…

2026/8/6 6:00:31 阅读更多 →
Claude Code本地配置实战:从API密钥到System Prompt的完整避坑指南

Claude Code本地配置实战:从API密钥到System Prompt的完整避坑指南

1. 项目缘起:从“能跑”到“能聊”的鸿沟上一篇文章,我们成功搭建了Claude Code的本地环境,让这个强大的代码助手在你的VSCode里跑了起来。如果你跟着操作,现在应该能看到一个崭新的侧边栏图标,点击它,一个…

2026/8/6 6:00:31 阅读更多 →

最新新闻

Adobe-GenP通用配置工具完整指南:技术原理与使用教程

Adobe-GenP通用配置工具完整指南:技术原理与使用教程

Adobe-GenP通用配置工具完整指南:技术原理与使用教程 【免费下载链接】Adobe-GenP Adobe CC 2019/2020/2021/2022/2023 GenP Universal Patch 3.0 项目地址: https://gitcode.com/gh_mirrors/ad/Adobe-GenP Adobe-GenP是一款针对Adobe Creative Cloud系列软件…

2026/8/6 11:19:27 阅读更多 →
氮气惰性气氛保护丨烧结钕铁硼合金粉粗碎‑氢破‑超细气流粉碎分级全套设备推荐及技术参数

氮气惰性气氛保护丨烧结钕铁硼合金粉粗碎‑氢破‑超细气流粉碎分级全套设备推荐及技术参数

钕铁硼合金粉末具备易氧化、易自燃的特性,整条粉碎生产线必须搭建氮气闭路惰性气体保护环境;常规烧结钕铁硼制粉完整流程:合金铸锭粗碎→真空氢破→中碎打散→超细气流粉碎‑分级→团聚粉体后处理,下面按照工序、设备类型、技术参…

2026/8/6 11:19:27 阅读更多 →
现代C++:C++里如何进行单元测试?

现代C++:C++里如何进行单元测试?

单元测试已经越来越成为程序员工作密不可分的一部分了。在 C 里,我们当然也是可以很方便地进行单元测试的。今天,我就来介绍两个单元测试库:一个是 Boost.Test [1],一个是 Catch2 [2]。Boost.Test单元测试库有很多,我选…

2026/8/6 11:19:27 阅读更多 →
Beyond Compare 5终极激活指南:3分钟学会专业密钥生成器免费使用

Beyond Compare 5终极激活指南:3分钟学会专业密钥生成器免费使用

Beyond Compare 5终极激活指南:3分钟学会专业密钥生成器免费使用 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen 还在为Beyond Compare的30天试用期到期而烦恼吗?每次打开…

2026/8/6 11:19:27 阅读更多 →
Unity游戏AI开发实战:从导航寻路到行为树的智能角色实现

Unity游戏AI开发实战:从导航寻路到行为树的智能角色实现

1. 项目概述:为什么AI角色是游戏开发的“灵魂” 在Unity游戏开发的世界里,NPC(非玩家角色)的智能程度,直接决定了玩家沉浸感的深度。一个只会沿着固定路径巡逻的守卫,和一个能根据玩家行为、环境变化做出动…

2026/8/6 11:19:26 阅读更多 →
Spark公平调度器配置实战:多作业资源隔离与优先级管理

Spark公平调度器配置实战:多作业资源隔离与优先级管理

在实际的大数据项目中,Spark 作业的性能优化和资源管理是决定任务能否按时完成、集群资源是否被高效利用的关键。一个常见的挑战是,当多个作业或同一个作业内的多个任务(例如,一个包含多个 Stage 的复杂 ETL 流水线)同…

2026/8/6 11:18:26 阅读更多 →

日新闻

深入解析LimboAI C++内核:架构设计与性能优化实战

深入解析LimboAI C++内核:架构设计与性能优化实战

1. 项目概述:为什么我们需要深入LimboAI的C内核?如果你是一名使用Godot引擎的游戏开发者,尤其是对AI行为逻辑有较高要求的项目,那么LimboAI这个名字你大概率不会陌生。它作为Godot 4生态中一个备受瞩目的行为树与状态机插件&#…

2026/8/6 0:00:06 阅读更多 →
Unity 2D游戏敌人AI系统:基于PlayMaker状态机与2D Toolkit的实战开发

Unity 2D游戏敌人AI系统:基于PlayMaker状态机与2D Toolkit的实战开发

1. 项目概述与核心思路大家好,我是老张,一个在游戏开发一线摸爬滚打了十多年的老码农。今天咱们接着聊《空洞骑士》风格2D动作游戏的Demo制作。上一期我们搭好了基础框架,处理了角色移动和碰撞,这一期,我们要让游戏世界…

2026/8/6 0:00:06 阅读更多 →
被动防火门市场前景发展趋势

被动防火门市场前景发展趋势

被动防火门依靠材质结构、密闭构造阻隔烟火蔓延,无需电控启动,是建筑被动消防系统核心构件,行业依托新规管控、城市更新、工业安全升级迎来稳定扩容,整体朝着合规化、专项化、低碳化、智能化方向发展。现阶段 GB12955‑2024 新版国…

2026/8/6 0:00:06 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/5 15:00:43 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/5 13:13:56 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/5 10:20:36 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/5 23:28:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/5 21:00:14 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/5 23:46:51 阅读更多 →