跳转到内容
搜索文档

Cloudflare Workers AI 上的 Llama 3.2 11B Vision Instruct 模型

最后更新 查看 MarkdownAgent 设置

前提条件

开始之前,请确保具备以下条件:

  1. 已启用 Workers 和 Workers AI 的 Cloudflare 账户
  2. 你的 CLOUDFLARE_ACCOUNT_IDCLOUDFLARE_AUTH_TOKEN
    • 可在 Cloudflare 仪表板的 API Tokens 下生成 API token。
  3. 已安装 Node.js 以便使用 Cloudflare Workers(可选但推荐)。

1. 同意 Meta 许可

首次使用 Llama 3.2 11B Vision Instruct 模型时,需要同意 Meta 的许可和可接受使用政策。

curlbash
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。

2. 设置 Cloudflare Worker

  1. 创建 Worker 项目 你将使用 create-cloudflare CLI(C3)创建新的 Worker 项目。此工具简化了在 Cloudflare 上设置和部署新应用的过程。

    在终端运行以下命令:

npm 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 的新目录。

  1. 进入应用目录 切换到项目目录:

    cd llama-vision-tutorial
  2. 项目结构 llama-vision-tutorial 目录将包含:

    • 位于 src/index.ts 的 "Hello World" Worker。
    • 用于管理部署设置的 wrangler.json 配置文件。

3. 编写 Worker 代码

编辑 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>;

4. 将 Workers AI 绑定到 Worker

  1. 打开 Wrangler 配置文件并添加以下配置:
{
	"env": {},
	"ai": {
		"binding": "AI"
	}
}
env = { }

[ai]
binding = "AI"
  1. 保存文件。

5. 部署 Worker

运行以下命令部署 Worker:

wrangler deploy

6. 测试 Worker

  1. 部署后,你将收到 Worker 的唯一 URL(例如 https://llama-vision-tutorial.<your-subdomain>.workers.dev)。
  2. 使用 curl 或 Postman 等工具向 Worker 发送请求:
curl -X POST https://llama-vision-tutorial.<your-subdomain>.workers.dev \
  -d '{ "image": "BASE64_ENCODED_IMAGE" }'

BASE64_ENCODED_IMAGE 替换为实际的 base64 编码图像字符串。

7. 验证响应

响应将包含模型输出,例如基于所提供图像对 prompt 的描述或回答。

示例响应:

{
	"result": "This is a golden retriever sitting in a grassy park."
}

这篇文档对您有帮助吗?