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

Настройка Workers AI с AI Gateway

Это руководство проведёт вас через настройку и развёртывание проекта Workers AI. Вы будете использовать Workers, привязку AI Gateway и большую языковую модель (LLM), чтобы развернуть своё первое приложение на базе ИИ в глобальной сети Cloudflare.

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

  1. Зарегистрируйтесь для получения Аккаунт Cloudflare.
  2. Установка Node.js.

менеджер версий Node.js

Используйте менеджер версий Node, например Volta или nvm чтобы избежать проблем с правами доступа и переключать версии Node.js. Wrangler, о котором пойдёт речь далее в этом руководстве, требует версию Node 16.17.0 или более поздней версии.

1. Создание проекта Worker

Вы создадите новый проект Worker с помощью create-Cloudflare CLI (C3). C3 представляет собой инструмент командной строки, который помогает настраивать и развертывать новые приложения в Cloudflare.

Создайте новый проект с именем hello-ai выполнив:

npm create cloudflare@latest -- hello-ai

Выполнение npm create cloudflare@latest предложит установить пакет create-cloudflare и проведет вас через процесс настройки. C3 также установит Wrangler, интерфейс командной строки платформы Cloudflare Developer Platform.

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

Это создаст новый hello-ai каталог. Ваш новый hello-ai каталог будет включать:

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

cd hello-ai

2. Подключите свой Worker к Workers AI

Чтобы Worker мог подключаться к Workers AI, для него необходимо создать привязку AI. Привязки позволяют Workers взаимодействовать с ресурсами Cloudflare Developer Platform, например с Workers AI.

Чтобы привязать Workers AI к своему Worker, добавьте следующее в конец своего конфигурационный файл Wrangler:

{
	"ai": {
		"binding": "AI",
	},
}
[ai]
binding = "AI"

Ваша привязка: доступно в коде вашего Worker на env.AI.

Вы можете использовать "default" в качестве ID шлюза на следующем шаге. AI Gateway автоматически создаёт шлюз по умолчанию при первом аутентифицированном запросе. Также вы можете создать шлюз вручную и используйте его ID.

3. Запуск задачи инференса с AI Gateway в вашем Worker

Теперь вы готовы запустить задачу инференса в своём Worker. В этом случае вы будете использовать LLM, llama-3.1-8b-instruct-fast, чтобы ответить на вопрос.

Обновите index.ts файл в вашем hello-ai каталог приложения со следующим кодом:

src/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>;

На этом этапе вы уже создали привязку AI для своего Worker и настроили его на выполнение модели Llama 3.1. Теперь можно протестировать проект локально перед глобальным развертыванием.

4. Локальная разработка с помощью Wrangler

Находясь в каталоге проекта, протестируйте Workers AI локально, выполнив wrangler dev:

npx wrangler dev

Вам будет предложено войти в систему после выполнения wrangler dev. При выполнении npx wrangler dev, Wrangler предоставит вам URL (скорее всего, localhost:8787) для проверки вашего Worker. После перехода по URL, предоставленному Wrangler, вы увидите сообщение, похожее на следующее:

{
  "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!"
}

5. Развёртывание вашего AI Worker

Перед глобальным развертыванием AI Worker выполните вход в свою учетную запись Cloudflare с помощью команды:

npx wrangler login

Вы будете перенаправлены на страницу с предложением войти в панель управления Cloudflare. После входа вас спросят, может ли Wrangler вносить изменения в вашу учётную запись Cloudflare. Прокрутите вниз и выберите Allow чтобы продолжить.

Наконец, разверните Worker, чтобы сделать проект доступным в интернете. Чтобы развернуть Worker, выполните:

npx wrangler deploy

После развёртывания ваш Worker будет доступен по URL-адресу вида:

https://hello-ai.<YOUR_SUBDOMAIN>.workers.dev

Ваш Worker будет развёрнут на вашем пользовательском workers.dev поддомен. Теперь вы можете перейти по этому URL, чтобы запустить свой AI Worker.

Завершив это руководство, вы создали Worker, подключили его к Workers AI через привязку AI Gateway и успешно выполнили задачу вывода с использованием модели Llama 3.1.

Следующие шаги