~/VibeHandbook

Cloudflare

developers.cloudflare.com

Workers AI

Что это

Workers AI запускает модели машинного обучения на собственных GPU Cloudflare, доступных вашему Worker через единственную привязку AI. Вы вызываете env.AI.run("@cf/...model") со своими входными данными и получаете результат — без отдельного сервера инференса, без API-ключей к стороннему сервису, без необходимости выделять GPU. Каталог охватывает генерацию текста, эмбеддинги, генерацию изображений, речь и перевод.

Сильные стороны

  • Одна привязка — без внешних API-ключей и отдельной инфраструктуры инференса.
  • Работает в GPU-сети Cloudflare, рядом с вашим Worker и вашими пользователями.
  • Широкий каталог моделей: LLM, эмбеддинги, изображения, аудио и многое другое.
  • Оплата по факту использования; бесплатная квота делает прототипирование дешёвым.
  • Естественно сочетается с Vectorize для генерации с дополненной выборкой.

Компромиссы

  • Выбор моделей ограничен каталогом Cloudflare, а не всеми моделями на рынке.
  • Крупнейшие передовые модели могут быть недоступны; качество варьируется в зависимости от модели.
  • Применяются задержки инференса и ограничения частоты запросов, особенно для крупных моделей.
  • Для конкретной проприетарной модели вам всё равно придётся обращаться к API её провайдера.

Когда использовать

Используйте Workers AI для инференса внутри приложения, когда вы хотите разместить его рядом с вашей пограничной логикой: функции чата, суммаризация, классификация, эмбеддинги для поиска или генерация изображений — без поддержки собственного GPU-стека.

Подходит для vibe coding

Workers AI убирает большую часть настройки, которую агенту иначе пришлось бы программировать: никакого управления ключами, никакого SDK провайдера — только привязка и вызов run. Скажите агенту, какую задачу и модель вы хотите (например, модель эмбеддингов для подачи в Vectorize), чтобы он правильно выбрал из каталога. В примере привязывается AI и запускается текстовая модель.

# wrangler.toml
[ai]
binding = "AI"
// внутри вашего Worker
const out = await env.AI.run("@cf/meta/llama-3.1-8b-instruct", {
  prompt: "Summarize this in one sentence: ...",
});