Cloudflare Workers AI 配置实战指南:从 wrangler.jsonc 绑定到 RAG 部署
Cloudflare Workers AI 配置实战指南从 wrangler.jsonc 绑定到 RAG 部署【免费下载链接】skillsSkills Catalog for Codex项目地址: https://gitcode.com/GitHub_Trending/skills4/skills本篇指南基于 skills4/skills 仓库中 cloudflare-deploy 技能的 Workers AI 配置参考系统讲解在 Cloudflare Workers 中启用 Workers AI 的完整配置链路wrangler.jsonc 中的ai绑定、TypeScript 类型接入、本地开发与远程调试、REST API 调用、OpenAI SDK 兼容以及基于 Vectorize 的 RAG 场景配置与常见故障排查。读完本文你将能够独立搭建一个类型安全、可本地调试、可上线部署并支持多模型与向量检索的 Workers AI 应用。Workers AI 配置总览Workers AI 是 Cloudflare 提供的无服务器 GPU 推理服务可直接在边缘运行 50 预训练模型LLM、Embedding、图像生成、语音转文本、翻译等。与自建推理服务不同它通过 Workers 的原生 Binding暴露能力无需发起外部 HTTP 调用也无需管理 GPU 基础设施。从配置角度看启用 Workers AI 只需要三件事在wrangler.jsonc中声明ai绑定在 Worker 代码中通过env.AI.run()调用模型使用wrangler dev --remote进行本地开发AI 推理不支持纯本地运行。配置参考文档位于 configuration.md完整的 API 行为可参见 api.md选型与成本策略见 README.md 与 gotchas.md。第一步在 wrangler.jsonc 中声明 AI 绑定Workers AI 通过 Binding 注入到 Worker 运行时环境。在项目根目录的wrangler.jsonc推荐使用该格式自 wrangler v3.91.0 起支持 schema 校验可参考 Wrangler 配置文档中添加如下配置{ name: my-ai-worker, main: src/index.ts, compatibility_date: 2024-01-01, ai: { binding: AI } }字段说明字段说明nameWorker 名称用于部署标识main入口文件路径指向你的 TypeScript 源码compatibility_date兼容性日期建议使用当前日期影响运行时特性开关ai.binding注入到env对象中的绑定变量名此处为AI代码中通过env.AI访问绑定名称是约定俗成的惯例多数官方示例与类型定义都默认AI。若你修改为其他名称如WORKERS_AIenv.AI需同步改为env.WORKERS_AI且cloudflare/workers-types中Ai类型本身与绑定名无关。提示ai属于计算类绑定Compute Binding与 KV、D1、R2 等存储绑定并列可参见 Bindings 配置参考 中 Compute Bindings 一节。所有绑定类型合计上限为 64 个。安装类型定义并接入 TypeScript为了让env.AI拥有完整类型提示需要安装 Cloudflare 的官方类型包npm install --save-dev cloudflare/workers-types随后在 Worker 代码中声明Env接口并通过env.AI.run()调用模型interface Env { AI: Ai; } export default { async fetch(request: Request, env: Env) { const response await env.AI.run(cf/meta/llama-3.1-8b-instruct, { messages: [{ role: user, content: Hello }] }); return Response.json(response); } };Ai类型来自cloudflare/workers-types见 gotchas.md 中 TypeScript 一节。更精确地你还可以为响应定义结构interface TextGenerationResponse { response: string; } interface EmbeddingResponse { data: number[][]; shape: number[]; }⚠️ 不要安装 cloudflare/ai 包这是配置阶段最常见的坑cloudflare/ai包已废弃。早期版本需要import Ai from cloudflare/ai手动初始化现在应完全依赖原生绑定env.AI。如果你在故障排查中看到cloudflare/ai package error直接卸载它——正确做法是使用配置好的绑定见 gotchas.md 开篇的废弃说明。本地开发必须使用 --remote 模式Workers AI 的推理在 Cloudflare 的 GPU 网络远端执行本地不存在推理能力。因此本地开发必须显式加--remote标志wrangler dev --remote # Required for AI - no local inference这条命令会把请求代理到云端使用你账号下真实的绑定与模型资源。相对的如果直接运行wrangler dev本地 Miniflare 模式env.AI将无法工作这也是AI inference doesnt work locally问题的根源。REST API 方式调用如果你的场景不在 Workers 运行时内例如外部服务、非 Workers 环境、或需要做测试可以使用 REST API。Workers AI 提供 OpenAI 兼容的 HTTP 接口端点结构为POST https://api.cloudflare.com/client/v4/accounts/{ACCOUNT_ID}/ai/run/{model_name}TypeScript 示例const response await fetch( https://api.cloudflare.com/client/v4/accounts/${ACCOUNT_ID}/ai/run/cf/meta/llama-3.1-8b-instruct, { method: POST, headers: { Authorization: Bearer ${API_TOKEN} }, body: JSON.stringify({ messages: [{ role: user, content: Hello }] }) } );对应的 curl 命令见 README.mdcurl https://api.cloudflare.com/client/v4/accounts/ACCOUNT_ID/ai/run/cf/meta/llama-3.1-8b-instruct \ -H Authorization: Bearer API_TOKEN \ -d {messages:[{role:user,content:Hello}]}创建 API Token在dash.cloudflare.com/profile/api-tokens创建 API Token权限选择Workers AI - Read。该 Token 用作Authorization: Bearer请求头。建议将其作为 Worker 的 Secret 管理wrangler secret put而不是硬编码进代码或提交进仓库参见 Bindings 配置参考 的 Secrets 说明。关键 REST 错误码REST 与绑定方式返回相同的错误码体系见 api.mdCode含义修复7502模型不存在检查模型名拼写7504输入校验失败核对输入 schema文本生成需messages数组Embedding 需text7505触发限流降低频率或升级套餐7506上下文超限减小输入规模SDK 兼容复用 OpenAI SDKWorkers AI 提供 OpenAI 兼容的/ai/v1端点因此可以直接复用openai客户端迁移成本极低import OpenAI from openai; const client new OpenAI({ apiKey: env.CLOUDFLARE_API_TOKEN, baseURL: https://api.cloudflare.com/client/v4/accounts/${env.ACCOUNT_ID}/ai/v1 });注意这里的baseURL是/ai/v1而非/ai/run——前者走 OpenAI 兼容的聊天补全协议后者是原生 run 协议。同理Vercel AI SDK 也可以通过指定baseURL与headers接入见 README.md 的 Vercel AI SDK Integration 一节import { openai } from ai-sdk/openai; const model openai(model-name, { baseURL: https://api.cloudflare.com/client/v4/accounts/ACCOUNT_ID/ai/v1, headers: { Authorization: Bearer API_TOKEN } });多模型配置模式生产应用通常同时使用多种模型。官方配置参考给出的模式是把模型名集中到一个常量映射中便于统一管理与切换const MODELS { chat: cf/meta/llama-3.1-8b-instruct, embed: cf/baai/bge-base-en-v1.5, image: cf/stabilityai/stable-diffusion-xl-base-1.0 };调用时按任务类型取用// 对话 await env.AI.run(MODELS.chat, { messages }); // Embedding批量传入文本 const { data } await env.AI.run(MODELS.embed, { text: [Query text, Document 1] }); // 图像生成 const image await env.AI.run(MODELS.image, { prompt: Mountain sunset, num_steps: 20, // 1-20 guidance: 7.5 // 1-20 }); return new Response(image, { headers: { Content-Type: image/png } });模型选型决策树结合 README.md 的选型指南可建立如下选择逻辑文本生成质量优先cf/meta/llama-3.1-70b-instruct约 2000 neurons/次最贵文本生成均衡cf/meta/llama-3.1-8b-instruct约 200 neurons/次性价比高文本生成最快最省cf/mistral/mistral-7b-instruct-v0.1约 50 neurons/次代码生成cf/deepseek-ai/deepseek-coder-6.7b-instruct英文 Embeddingcf/baai/bge-large-en-v1.51024 维/bge-base-en-v1.5768 维/bge-small-en-v1.5384 维多语言 Embeddinghf/sentence-transformers/paraphrase-multilingual-minilm-l12-v2图像生成cf/stabilityai/stable-diffusion-xl-base-1.0约 10,000 neurons语音转文本cf/openai/whisper翻译cf/meta/m2m100-1.2b。从实现事实看env.AI.run(model, input)的第一个参数就是模型标识输入结构随模型类型不同而不同消息数组、文本数组、prompt、音频等详见 api.md 的分类示例。RAG 场景Workers AI Vectorize 配置构建基于私有语料的问答系统RAG时需要在wrangler.jsonc中同时配置 AI 绑定与 Vectorize 索引绑定{ ai: { binding: AI }, vectorize: { bindings: [{ binding: VECTORIZE, index_name: embeddings-index }] } }注意Vectorize 在 wrangler.jsonc 中的标准写法是数组形式见 Vectorize 配置参考 与 Wrangler 配置参考vectorize: [{ binding: VECTORIZE, index_name: my-index }]。创建索引时--dimensions与--metric创建后不可修改务必与 Embedding 模型的输出维度一致如bge-base-en-v1.5为 768 维npx wrangler vectorize create embeddings-index --dimensions768 --metriccosine完整 RAG 调用链见 patterns.md// 1. 对查询做 Embedding const embedding await env.AI.run(cf/baai/bge-base-en-v1.5, { text: query }); // 2. 在 Vectorize 中检索相似向量 const results await env.VECTORIZE.query(embedding.data[0], { topK: 5, returnMetadata: true }); // 3. 组装上下文 const context results.matches.map(m m.metadata?.text).join(\n\n); // 4. 带上下文生成回答 const response await env.AI.run(cf/meta/llama-3.1-8b-instruct, { messages: [ { role: system, content: Answer based on:\n\n${context} }, { role: user, content: query } ] });什么时候该用 RAG根据 README.md 的决策依据回答特定文档/数据的问题、需要基于已知语料的准确性、上下文超过模型窗口约 4K token 以上、构建知识库问答时用 RAG而创意写作、通用知识问答、短上下文、以及成本敏感场景RAG 会增加 Embedding 与向量检索成本则直接用生成。Troubleshooting 速查表配置阶段最常见的四类问题与修复方式官方配置文档汇总如下ErrorFixenv.AI is undefined检查wrangler.jsonc中ai绑定是否已添加Local AI doesnt work使用wrangler dev --remoteType Ai not found安装cloudflare/workers-typescloudflare/ai package error不要安装该包使用原生绑定补充几条来自 gotchas.md 的实战经验Embedding 响应结构cf/baai/bge-base-en-v1.5返回{ data: [[0.1, 0.2, ...]] }取第一维response.data[0]才是向量流式响应stream: true返回ReadableStream用for await (const chunk of stream)消费chunk.response结果不稳定设置temperature: 0获得确定性输出冷启动延迟首次请求约 1–3 秒模型加载后续请求约 100–500ms高频提示词可借助 AI Gateway 缓存函数调用支持范围目前仅cf/meta/llama-3.1-*与mistral-7b-instruct-v0.2支持 tools 参数。从配置到上线的完整流程结合 README.md 的开发工作流配置完成后的标准步骤是# 1. 本地远程调试AI 必须 --remote wrangler dev --remote # 2. 部署到生产 wrangler deploy完整配置清单核对✅wrangler.jsonc声明ai绑定必要时加上vectorize绑定✅ 安装cloudflare/workers-types声明Env接口✅ 按任务类型选好模型 ID 并集中管理✅ 本地用wrangler dev --remote验证✅ 通过wrangler deploy上线✅ 核对 API Token 权限Workers AI - Read与限流/计费策略免费额度 10,000 neurons/天。延伸阅读Workers AI API 参考env.AI.run()各任务类型入参与响应结构、流式与函数调用Workers AI 常见坑废弃包、限流、成本与错误码Workers AI 模式RAG、SSE 流式、重试与模型回退Vectorize 配置参考索引创建、元数据索引与批量上传Wrangler 配置参考环境、路由与各类绑定Bindings 配置参考绑定类型总览与限制【免费下载链接】skillsSkills Catalog for Codex项目地址: https://gitcode.com/GitHub_Trending/skills4/skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

懂技术的人不懂业务,懂业务的人不懂技术是数字孪生的行业痛点?

懂技术的人不懂业务,懂业务的人不懂技术是数字孪生的行业痛点?

深耕数字孪生行业多年,经手过数十个园区、工业、政务类孪生项目,见过太多开局惊艳、落地拉胯、验收尴尬的案例。行业里一直有个扎心的共识:数字孪生最大的痛点,从来不是建模不够精致、引擎不够高端,而是典型的双向断层…

2026/10/26 11:17:13 阅读更多 →
48核配置TPS差一倍?数据库一体机软硬协同性能调优实战

48核配置TPS差一倍?数据库一体机软硬协同性能调优实战

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

2026/10/25 13:58:04 阅读更多 →
RoboMaster硬件基础讲义V0.2.1:从主控板到电源系统的实战指南

RoboMaster硬件基础讲义V0.2.1:从主控板到电源系统的实战指南

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

2026/10/26 11:17:22 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/26 12:00:21 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/25 22:36:10 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/26 4:52:12 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/26 12:00:21 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/26 5:00:37 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/26 3:16:46 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 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/26 12:00:19 阅读更多 →
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/25 13:21:54 阅读更多 →
黑夜航拍船只数据集训练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/26 8:34:37 阅读更多 →