本指南将带你完成 Workers AI 项目的设置与部署。你将使用 Workers、AI Gateway 绑定(binding)以及大语言模型(LLM),在 Cloudflare 全球网络上部署第一个 AI 驱动的应用。
- 注册 Cloudflare 账户 ↗。
- 安装
Node.js↗。
Node.js 版本管理器
使用 Volta ↗ 或 nvm ↗ 等 Node 版本管理器,以避免权限问题并切换 Node.js 版本。本指南后续将介绍的 Wrangler 需要 Node 版本 16.17.0 或更高。
你将使用 create-Cloudflare CLI(C3)创建新的 Worker 项目。C3 是一个命令行工具,用于帮助你设置并将新应用部署到 Cloudflare。
通过运行以下命令创建名为 hello-ai 的新项目:
npm create cloudflare@latest -- hello-aiyarn create cloudflare hello-aipnpm create cloudflare@latest hello-ai运行 npm create cloudflare@latest 会提示你安装 create-cloudflare 包并引导你完成设置。C3 还会安装 Wrangler(Cloudflare Developer Platform CLI)。
进行设置时,请选择以下选项:
- 对于 What would you like to start with?,选择
Hello World example。 - 对于 Which template would you like to use?,选择
Worker only。 - 对于 Which language do you want to use?,选择
TypeScript。 - 对于 Do you want to use git for version control?,选择
Yes。 - 对于 Do you want to deploy your application?,选择
No(部署前我们还会做一些修改)。
这将创建一个新的 hello-ai 目录。新的 hello-ai 目录将包括:
- 位于
src/index.ts的 "Hello World" Worker。 - 一个 Wrangler 配置文件
进入应用目录:
cd hello-ai必须为 Worker 创建 AI 绑定(binding),才能连接到 Workers AI。绑定允许你的 Workers 与 Cloudflare Developer Platform 上的资源(如 Workers AI)交互。
要将 Workers AI 绑定到 Worker,请在 Wrangler 配置文件 末尾添加以下内容:
{
"ai": {
"binding": "AI",
},
}[ai]
binding = "AI"你的绑定可在 Worker 代码中通过 env.AI 使用。
下一步可以使用 "default" 作为 gateway ID。AI Gateway 会在首次已认证请求时自动创建默认 gateway。你也可以手动创建 gateway 并使用其 ID。
现在可以在 Worker 中运行推理任务。本例将使用 LLM llama-3.1-8b-instruct-fast 来回答问题。
用以下代码更新 hello-ai 应用目录中的 index.ts 文件:
export interface Env {
// If you set another name in the [Wrangler configuration file](/workers/wrangler/configuration/) as the value for 'binding',
// replace "AI" with the variable name you defined.
AI: Ai;
}
export default {
async fetch(request, env): Promise<Response> {
// Specify the gateway label and other options here
const response = await env.AI.run(
"@cf/meta/llama-3.1-8b-instruct-fast",
{
prompt: "What is the origin of the phrase Hello, World",
},
{
gateway: {
id: "default", // Uses the default gateway, or replace with your gateway ID
skipCache: true, // Optional: Skip cache if needed
},
},
);
// Return the AI response as a JSON object
return new Response(JSON.stringify(response), {
headers: { "Content-Type": "application/json" },
});
},
} satisfies ExportedHandler<Env>;至此,你已为 Worker 创建了 AI 绑定,并配置 Worker 以执行 Llama 3.1 模型。现在可以先在本地测试项目,再进行全球部署。
在项目目录中,通过运行 wrangler dev 在本地测试 Workers AI:
npx wrangler dev运行 wrangler dev 后系统会提示你登录。运行 npx wrangler dev 时,Wrangler 会提供一个 URL(通常是 localhost:8787)供你查看 Worker。打开 Wrangler 提供的 URL 后,你会看到类似以下示例的消息:
{
"response": "A fascinating question!\n\nThe phrase \"Hello, World!\" originates from a simple computer program written in the early days of programming. It is often attributed to Brian Kernighan, a Canadian computer scientist and a pioneer in the field of computer programming.\n\nIn the early 1970s, Kernighan, along with his colleague Dennis Ritchie, were working on the C programming language. They wanted to create a simple program that would output a message to the screen to demonstrate the basic structure of a program. They chose the phrase \"Hello, World!\" because it was a simple and recognizable message that would illustrate how a program could print text to the screen.\n\nThe exact code was written in the 5th edition of Kernighan and Ritchie's book \"The C Programming Language,\" published in 1988. The code, literally known as \"Hello, World!\" is as follows:\n\n main()\n {\n printf(\"Hello, World!\");\n }\n\nThis code is still often used as a starting point for learning programming languages, as it demonstrates how to output a simple message to the console.\n\nThe phrase \"Hello, World!\" has since become a catch-all phrase to indicate the start of a new program or a small test program, and is widely used in computer science and programming education.\n\nSincerely, I'm glad I could help clarify the origin of this iconic phrase for you!"
}在全球部署 AI Worker 之前,先运行以下命令登录 Cloudflare 账户:
npx wrangler login系统会打开网页,要求你登录 Cloudflare 仪表板。登录后,系统会询问 Wrangler 是否可以更改你的 Cloudflare 账户。向下滚动并选择 Allow(允许) 以继续。
最后,部署 Worker,使项目可在 Internet 上访问。运行以下命令部署:
npx wrangler deploy部署完成后,你的 Worker 将在类似以下地址可用:
https://hello-ai.<YOUR_SUBDOMAIN>.workers.devWorker 将部署到你的自定义 workers.dev 子域名。现在可以访问该 URL 来运行 AI Worker。
完成本教程后,你已创建了一个 Worker,通过 AI Gateway 绑定将其连接到 Workers AI,并成功使用 Llama 3.1 模型运行了推理任务。
- Workers 绑定 — 调用第三方模型、访问 gateway 方法,并与 AI SDK 集成。