Cloudflare Workers AI 是一个在 Cloudflare Workers 平台上进行无服务器 GPU 推理的知识域参考,用于构建 AI 驱动的应用。资料将其标注为生产就绪状态,并包含模型调用、集成、限流与生产实践等内容。
一、用途与定位 该知识域面向使用 Cloudflare Workers AI 构建 AI 应用的开发者,覆盖大语言模型(LLM)、文本生成、图像生成、嵌入向量以及视觉模型等场景。资料提到可用于处理 AI_ERROR、速率限制、token 超限等问题。其依赖 cloudflare-worker-base 进行 Worker 设置,并给出 wrangler@4.81.0、@cloudflare/workers-types@4.20260408.0 的版本信息。
二、配置与快速开始 使用前需在 wrangler.jsonc 中添加 AI 绑定:{"ai": {"binding": "AI"}}。随后在 Worker 中定义 Env 接口(AI: Ai),通过 env.AI.run('@cf/meta/llama-3.1-8b-instruct', { prompt: 'What is Cloudflare?' }) 运行模型并返回 JSON 结果。资料建议文本生成始终使用流式输出(stream: true),并以 text/event-stream 作为响应类型,理由是避免在内存中缓冲大响应、加快首 token 时间、改善长文本体验并规避 Worker 超时。
三、核心 API 核心 API 为 env.AI.run(model, inputs, options?)。其中 model 为模型 ID 字符串;inputs 为模型相关输入;options.gateway.id 用于指定 AI Gateway 以启用缓存与日志,options.gateway.skipCache 用于跳过 AI Gateway 缓存。返回值为非流式时的 Promise<ModelOutput> 或流式时的 ReadableStream。资料按模型类别列出输入与输出:文本生成使用 messages[]、stream、max_tokens、temperature,输出 { response: string };嵌入使用 text(字符串或字符串数组),输出 { data, shape };图像生成使用 prompt、num_steps、guidance,输出二进制 PNG;视觉模型使用 messages[].content[].image_url,输出 { response: string }。完整模型列表、参数与限流需查阅 references/models-catalog.md。
四、模型选择指南 资料按类别给出模型与推荐场景及速率限制:文本生成方面,@cf/meta/llama-3.1-8b-instruct 适合通用、快速场景(300/min,8B);@cf/meta/llama-3.2-1b-instruct 适合超快、简单任务(300/min,1B);@cf/qwen/qwen1.5-14b-chat-awq 适合高质量复杂推理(150/min,14B);@cf/deepseek-ai/deepseek-r1-distill-qwen-32b 适合编码与技术内容(300/min,32B);@hf/thebloke/mistral-7b-instruct-v0.1-awq 快速高效(400/min,7B)。嵌入方面,@cf/baai/bge-base-en-v1.5(768 维,通用 RAG,3000/min)、@cf/baai/bge-large-en-v1.5(1024 维,高精度搜索,1500/min)、@cf/baai/bge-small-en-v1.5(384 维,快速低存储,3000/min)。图像生成方面,@cf/black-forest-labs/flux-1-schnell(高质量、照片级真实,720/min,快)、@cf/stabilityai/stable-diffusion-xl-base-1.0(通用,720/min,中等)、@cf/lykon/dreamshaper-8-lcm(艺术风格化,720/min,快)。视觉模型方面,@cf/meta/llama-3.2-11b-vision-instruct(图像理解,720/min)、@cf/unum/uform-gen2-qwen-500m(快速图像描述,720/min)。
五、常见模式 资料给出两个常见模式。模式一为带流式的聊天:从请求中读取 messages,调用 env.AI.run 并设置 stream: true,返回 text/event-stream 响应。模式二为 RAG:先用嵌入模型为用户查询生成向量,再用 Vectorize 检索(topK: 3),将匹配元数据文本拼接为上下文,最后将上下文放入 system 消息并调用文本模型流式生成。更多模式(结构化输出、图像生成、多模型共识、生产模式)需查阅 references/best-practices.md。
六、AI Gateway 集成 可在 env.AI.run 的第三个参数中传入 gateway: { id: 'my-gateway', skipCache: false },以启用缓存、日志与成本跟踪。资料称其收益包括成本跟踪、响应缓存(对重复查询可节省 50-90%)、请求日志、速率限制与分析。
七、速率限制与定价 资料注明信息最后验证日期为 2025-01-14,并指出速率限制与定价因模型差异很大,应始终查看官方文档:限流链接 https://developers.cloudflare.com/workers-ai/platform/limits/,定价链接 https://developers.cloudflare.com/workers-ai/platform/pricing/。资料提到免费层为每日 10,000 neurons,付费层为每 1,000 neurons $0.011。各模型的详细限流与定价见 references/models-catalog.md。
八、生产检查清单 资料列出部署前要点:启用 AI Gateway 以跟踪成本;为文本生成实现流式;加入带指数退避的限流重试;校验输入长度以防 token 超限;加入输入清洗以防提示注入。完整清单、错误处理模式、监控与成本优化需查阅 references/best-practices.md。
九、外部 SDK 集成 Workers AI 支持 OpenAI SDK 兼容与 Vercel AI SDK。OpenAI SDK 方式需设置 apiKey 与 baseURL 为 https://api.cloudflare.com/client/v4/accounts/${env.CLOUDFLARE_ACCOUNT_ID}/ai/v1;Vercel AI SDK 方式使用 workers-ai-provider 的 createWorkersAI({ binding: env.AI })。完整集成指南见 references/integrations.md。
十、限制摘要 资料列出:并发请求无硬性限制(受速率限制约束);最大输入 token 因模型而异(通常 2K-128K);最大输出 token 因模型而异(通常 512-2048);流式分块约 1 KB;图像输出约 5 MB;请求超时受 Workers 超时约束(默认 30 秒,最大 CPU 5 分钟);每日免费 neurons 为 10,000;速率限制见前述章节。
十一、何时加载参考文件 选择模型、检查限流、比较模型能力时加载 references/models-catalog.md;生产部署、错误处理、成本优化、安全时加载 references/best-practices.md;使用 OpenAI SDK、Vercel AI SDK 或 REST API 而非原生绑定时加载 references/integrations.md。相关资料参考指向 Workers AI 文档、模型目录、AI Gateway 与定价页面。