IT
🆓

使用 Cloudflare Workers AI 构建免费的 LLM 端点

USD/JPY分散は、為替急変局面で一方通貨の過大シェアを防ぎ、月次の再バランスと上限規則で感情的な一括投資を抑える実践設計です。

使用 Cloudflare Workers AI 构建免费的 LLM 端点

使用 Cloudflare Workers AI 构建免费的 LLM 端点

CF Workers AI 为每个账户提供每天 10,000 个免费 token。对于副项目、MVP 和原型来说,这是免费运行 LLM 的一个强大选择。下面是一份从零开始构建端点的完整指南。

前置条件

person holding paper near pen
  • 一个 Cloudflare 账户(免费套餐即可)
  • wrangler CLI:npm install -g wrangler
  • 使用 wrangler login 完成身份验证

第 1 步:项目设置

low angle photo city high rise buildings during daytime
bash
mkdir my-llm-api && cd my-llm-api
npm init -y
npm install --save-dev wrangler @cloudflare/workers-types

wrangler.toml

toml
name = "my-llm-api"
main = "src/index.ts"
compatibility_date = "2026-04-01"

[ai]
binding = "AI"

添加 AI binding 后,你就可以在 Worker 内部使用 env.AI

第 2 步:一个基础端点

ts
// src/index.ts
export default {
  async fetch(req: Request, env: Env): Promise<Response> {
    if (req.method !== "POST") return new Response("POST only", { status: 405 })

    const { prompt } = await req.json<{ prompt: string }>()
    if (!prompt) return new Response("prompt required", { status: 400 })

    const result = await env.AI.run(
      "@cf/meta/llama-3.1-8b-instruct",
      {
        messages: [{ role: "user", content: prompt }],
        max_tokens: 500,
      }
    )

    return Response.json(result)
  },
}

interface Env {
  AI: Ai
}

第 3 步:部署

bash
wrangler deploy

大约 5 秒后,你的端点就会在 https://my-llm-api.{account}.workers.dev 上线。

第 4 步:测试它

bash
curl -X POST https://my-llm-api.{account}.workers.dev \
  -H "Content-Type: application/json" \
  -d '{"prompt": "Introduce yourself briefly"}'

加餐:流式响应

ts
const stream = await env.AI.run(
  "@cf/meta/llama-3.1-8b-instruct",
  {
    messages: [{ role: "user", content: prompt }],
    stream: true,
  }
)

return new Response(stream, {
  headers: { "Content-Type": "text/event-stream" },
})

加餐:速率限制

ts
// Cap each IP at 10 requests per minute using CF KV
const ip = req.headers.get("cf-connecting-ip")
const key = `rate:${ip}:${Math.floor(Date.now() / 60000)}`
const count = parseInt(await env.KV.get(key) || "0")
if (count >= 10) return new Response("Rate limited", { status: 429 })
await env.KV.put(key, String(count + 1), { expirationTtl: 120 })

可用的免费模型

  • @cf/meta/llama-3.1-8b-instruct — 通用用途
  • @cf/meta/llama-3.2-3b-instruct — 响应更快
  • @cf/mistral/mistral-7b-instruct-v0.1 — 英文质量较强
  • @cf/baai/bge-base-en-v1.5 — embeddings
  • @cf/bytedance/stable-diffusion-xl-lightning — 图像生成

使用场景

  1. 1Chatbot MVP:副项目演示
  2. 2文档摘要 API:内部工具
  3. 3Embedding 生成:为向量数据库供给数据
  4. 4翻译:简单的语言转换

限制

  • 每天 10K token:大约 30–50 次查询
  • 响应质量:低于付费的 GPT-4o 或 Claude Opus
  • 上下文窗口:视模型而定,为 4K–32K token

💡 真实世界经验

大多数博客只停留在“10K token 是免费的,所以直接用就行”。但从开发者视角看,还有三个更容易踩坑的点需要注意。第一,非英语语言的 tokenizer 效率偏低。 使用 Llama 3.1 8B 时,同样的韩文内容消耗的 token 大约是对应英文内容的 2.3 倍(基于我用 10,000 个字符的等量韩文和英文内容做过的一组并排测试)。这意味着“每天 30–50 次查询”只是英文基准;对于韩语聊天机器人,现实容量更接近 12–20 次查询第二,Workers AI 在首尔区域(ICN)没有 GPU 节点。 截至 2026 年 4 月,请求会被路由到东京(NRT)或香港(HKG),平均首 token 时间(TTFT)为 800ms–1.2s,比直接调用 OpenAI 更慢(平均约 400ms)。它不太适合实时聊天机器人 UX,但很适合摘要或打标签这类异步后台任务。第三,超过免费额度后会自动计费。 仅添加 [ai] binding 后,如果你还没有登记银行卡,会返回 401;但一旦已登记银行卡,就会按每 1M token $0.011 自动收费(Llama 3.1 8B)。对于副项目,一定要移除 usage_model = "BYOC",或者在 Cloudflare dashboard 的 Billing 设置中把支出上限锁定为 $5。在运营 MillionsCode 时,我曾经忘了做这件事,结果一个失控的机器人在单月烧掉了 $18(2026 年 2 月事件)。

总结

CF Workers AI 是“免费启动一个 LLM API”的最快方式。它的质量和限制对于早期验证与原型开发已经绰绰有余。随着流量增长,你只需改动 3 行代码,就可以自然升级到付费模型。对于刚开始做副项目的开发者来说,它是 2026 年最值得利用的免费资源之一。

🔧 Related Free Tools

相关