INTEGRITY Документация

Модель Llama 3.2 11B Vision Instruct в Cloudflare Workers AI

Предварительные требования

Прежде чем начать, убедитесь, что у вас есть следующее:

  1. A Аккаунт Cloudflare с включенными Workers и Workers AI.
  2. Ваш CLOUDFLARE_ACCOUNT_ID и CLOUDFLARE_AUTH_TOKEN.
    • Вы можете создать API token в панели управления Cloudflare, в разделе API Tokens.
  3. Node.js, установленный для работы с Cloudflare Workers (необязательно, но рекомендуется).

1. Согласитесь с лицензией Meta

При первом использовании Llama 3.2 11B Vision Instruct модель, необходимо принять условия Meta's License and Acceptable Use Policy.

curl
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 вашими реальными идентификатором аккаунта и токеном.

2. Настройте свой Cloudflare Worker

  1. Создание проекта Worker Вы создадите новый проект Worker с помощью create-cloudflare CLI (C3). Этот инструмент упрощает настройку и развёртывание новых приложений в Cloudflare.

    Выполните следующую команду в терминале:

npm create cloudflare@latest -- llama-vision-tutorial

Для настройки выберите следующие параметры:

После завершения настройки будет создан новый каталог с именем llama-vision-tutorial будет создан.

  1. Перейдите в каталог приложения Перейдите в каталог проекта:

    cd llama-vision-tutorial
  2. Структура проекта Ваш llama-vision-tutorial каталог будет включать:

    • Worker «Hello World» по адресу src/index.ts.
    • A wrangler.json файл конфигурации для управления настройками развёртывания.

3. Написание кода Worker

Измените src/index.ts (или index.js если вы не используете TypeScript) файл и замените его содержимое следующим кодом:

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. После развёртывания вы получите уникальный URL-адрес для своего Worker (например, 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. Проверка ответа

Ответ будет включать вывод модели, например описание или ответ на ваш промпт на основе предоставленного изображения.

Пример ответа:

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