开始之前,请确保具备以下条件:
- 已启用 Workers 和 Workers AI 的 Cloudflare 账户 ↗。
- 你的
CLOUDFLARE_ACCOUNT_ID和CLOUDFLARE_AUTH_TOKEN。- 可在 Cloudflare 仪表板的 API Tokens 下生成 API token。
- 已安装 Node.js 以便使用 Cloudflare Workers(可选但推荐)。
首次使用 Llama 3.2 11B Vision Instruct 模型时,需要同意 Meta 的许可和可接受使用政策。
curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run/@cf/meta/llama-3.2-11b-vision-instruct \
-X POST \
-H "Authorization: Bearer $CLOUDFLARE_AUTH_TOKEN" \
-d '{ "prompt": "agree" }'将 $CLOUDFLARE_ACCOUNT_ID 和 $CLOUDFLARE_AUTH_TOKEN 替换为实际的账户 ID 和 token。
-
创建 Worker 项目 你将使用
create-cloudflareCLI(C3)创建新的 Worker 项目。此工具简化了在 Cloudflare 上设置和部署新应用的过程。在终端运行以下命令:
npm create cloudflare@latest -- llama-vision-tutorialyarn create cloudflare llama-vision-tutorialpnpm create cloudflare@latest llama-vision-tutorial进行设置时,请选择以下选项:
- 对于 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?,选择
JavaScript。 - 对于 Do you want to use git for version control?,选择
Yes。 - 对于 Do you want to deploy your application?,选择
No(部署前我们还会做一些修改)。
完成设置后,将创建名为 llama-vision-tutorial 的新目录。
-
进入应用目录 切换到项目目录:
cd llama-vision-tutorial -
项目结构
llama-vision-tutorial目录将包含:- 位于
src/index.ts的 "Hello World" Worker。 - 用于管理部署设置的
wrangler.json配置文件。
- 位于
编辑 src/index.ts(如果不使用 TypeScript 则为 index.js)文件,将内容替换为以下代码:
export interface Env {
AI: Ai;
}
export default {
async fetch(request, env): Promise<Response> {
const messages = [
{ role: "system", content: "You are a helpful assistant." },
{ role: "user", content: "Describe the image I'm providing." },
];
// Replace this with your image data encoded as base64 or a URL
const imageBase64 = "data:image/png;base64,IMAGE_DATA_HERE";
const response = await env.AI.run("@cf/meta/llama-3.2-11b-vision-instruct", {
messages,
image: imageBase64,
});
return Response.json(response);
},
} satisfies ExportedHandler<Env>;- 打开 Wrangler 配置文件并添加以下配置:
{
"env": {},
"ai": {
"binding": "AI"
}
}env = { }
[ai]
binding = "AI"- 保存文件。
运行以下命令部署 Worker:
wrangler deploy- 部署后,你将收到 Worker 的唯一 URL(例如
https://llama-vision-tutorial.<your-subdomain>.workers.dev)。 - 使用
curl或 Postman 等工具向 Worker 发送请求:
curl -X POST https://llama-vision-tutorial.<your-subdomain>.workers.dev \
-d '{ "image": "BASE64_ENCODED_IMAGE" }'将 BASE64_ENCODED_IMAGE 替换为实际的 base64 编码图像字符串。
响应将包含模型输出,例如基于所提供图像对 prompt 的描述或回答。
示例响应:
{
"result": "This is a golden retriever sitting in a grassy park."
}