IT
🆓

"Создаем бесплатный LLM-эндпоинт с Cloudflare Workers AI"

USD/JPY分散は、為替急変局面で一方通貨の過大シェアを防ぎ、月次の再バランスと上限規則で感情的な一括投資を抑える実践設計です。

"Создаем бесплатный LLM-эндпоинт с Cloudflare Workers AI"

Создаем бесплатный LLM-эндпоинт с Cloudflare Workers AI

Cloudflare Workers AI предоставляет 10 000 бесплатных токенов ежедневно на аккаунт. Это мощная опция для бесплатного использования LLM в сайд-проектах, MVP и прототипах. Полное руководство по созданию эндпоинта.

Предварительная подготовка

person holding paper near pen
  • Аккаунт Cloudflare (бесплатный тарифный план подходит)
  • CLI Wrangler: npm install -g wrangler
  • Авторизация с помощью wrangler login

Шаг 1: Настройка проекта

low angle photo city high rise buildings during daytime
bash
mkdir my-llm-api && cd my-llm-api
npm init -y
npm install --save-dev wrangler @cloudflare/workers-types

wrangler.toml:

toml
name = "my-llm-api"
main = "src/index.ts"
compatibility_date = "2026-04-01"

[ai]
binding = "AI"

Добавление AI-биндинга позволяет использовать env.AI внутри Workers.

Шаг 2: Базовый эндпоинт

ts
// src/index.ts
export default {
 async fetch(req: Request, env: Env): Promise<Response> {
 if (req.method !== "POST") return new Response("POST only", { status: 405 })

 const { prompt } = await req.json<{ prompt: string }>
 if (!prompt) return new Response("prompt required", { status: 400 })

 const result = await env.AI.run("@cf/meta/llama-3.1-8b-instruct",
 {
 messages: [{ role: "user", content: prompt }],
 max_tokens: 500,
 })

 return Response.json(result)
 },
}

interface Env {
 AI: Ai
}

Шаг 3: Развертывание

bash
wrangler deploy

Примерно через 5 секунд будет доступен по адресу https://my-llm-api.{аккаунт}.workers.dev.

Шаг 4: Тестирование

bash
curl -X POST https://my-llm-api.{аккаунт}.workers.dev \\
 -H "Content-Type: application/json" \\
 -d '{"prompt": "короткое представление"}'

Дополнительная функция: Потоковая передача ответов

ts
const stream = await env.AI.run("@cf/meta/llama-3.1-8b-instruct",
 {
 messages: [{ role: "user", content: prompt }],
 stream: true,
 })

return new Response(stream, {
 headers: { "Content-Type": "text/event-stream" },
})

Дополнительная функция: Ограничение скорости (Rate Limiting)

ts
// Ограничение 10 запросов в минуту на IP с помощью CF KV
const ip = req.headers.get("cf-connecting-ip")
const key = `rate:${ip}:${Math.floor(Date.now / 60000)}`
const count = parseInt(await env.KV.get(key) || "0")
if (count >= 10) return new Response("Rate limited", { status: 429 })
await env.KV.put(key, String(count + 1), { expirationTtl: 120 })

Доступные бесплатные модели

  • @cf/meta/llama-3.1-8b-instruct — Универсальная
  • @cf/meta/llama-3.2-3b-instruct — Быстрый отклик
  • @cf/mistral/mistral-7b-instruct-v0.1 — Хорошее качество для английского языка
  • @cf/baai/bge-base-en-v1.5 — Векторные представления (эмбеддинги)
  • @cf/bytedance/stable-diffusion-xl-lightning — Генерация изображений

Примеры использования

  1. 1MVP чат-бота: для демонстрации сайд-проекта
  2. 2API для суммаризации документов: внутренний инструмент
  3. 3Генерация эмбеддингов: для векторных баз данных
  4. 4Переводчик: простое преобразование языка

Ограничения

  • 10K токенов в день: примерно 30-50 запросов
  • Качество ответов: ниже по сравнению с платными GPT-4o и Claude Opus
  • Ограничение контекста: 4K~32K токенов в зависимости от модели

💡 Практические рекомендации

В то время как другие блоги просто говорят "10K токенов бесплатно, используйте обязательно", для корейских разработчиков есть еще 3 ловушки, на которые стоит обратить внимание. Во-первых, неэффективность токенизатора для корейского языка — по данным Llama 3.1 8B, корейский текст того же значения потребляет в среднем в 2,3 раза больше токенов, чем английский (автор провел сравнительный тест 10 000 символов корейского/английского текста с одинаковым смыслом). Это означает, что "30-50 запросов в день" — это для английского языка, а для корейского чат-бота реальный предел составляет около 12-20 запросов. Во-вторых, Workers AI не имеет GPU-узлов в регионе Сеул (ICN) — по состоянию на апрель 2026 года запросы маршрутизируются в Японию (NRT) или Гонконг (HKG), и время до первого токена (TTFT) составляет в среднем 800 мс ~ 1,2 с, что медленнее, чем прямой вызов OpenAI (в среднем 400 мс). Это непригодно для UX чат-ботов в реальном времени и больше подходит для фоновых задач, таких как асинхронное суммирование или тегирование. В-третьих, автоматическая оплата при превышении бесплатного лимита — если вы просто добавите биндинг [ai] и не зарегистрируете карту, вы получите ошибку 401, но если карта зарегистрирована, с вас будет автоматически взиматься $0.011 за 1 миллион токенов (Llama 3.1 8B). Для сайд-проектов обязательно удалите usage_model = "BYOC" или установите лимит расходов в $5 в разделе Billing на панели управления Cloudflare. Автор, управляя MillionsCode, однажды не установил этот лимит, и из-за перегрузки бота потерял $18 за месяц (инцидент в феврале 2026 года).

Заключение

Cloudflare Workers AI — это самый быстрый способ "бесплатно начать работу с LLM API". Для первоначальной проверки и прототипов качество и лимиты вполне достаточны. При увеличении трафика можно легко перейти на платные модели (всего 3 строки кода). Это один из лучших бесплатных ресурсов 2026 года для разработчиков, начинающих сайд-проекты.

🔧 Related Free Tools

Похожее