Cloudflare Workers AI — это платформа для запуска машинного обучения на серверной инфраструктуре Cloudflare. В каталоге доступны десятки моделей, включая языковые модели и модели для работы с embeddings.
Можно ли использовать Cloudflare Workers AI бесплатно
Проверяем подключение через curl
Лучше не хранить токен прямо в коде
Да, у Workers AI есть бесплатная квота. На текущий момент Cloudflare предоставляет 10 000 Neurons в сутки без оплаты.
Neurons — внутренняя единица измерения вычислений Workers AI. Она учитывает вычислительные ресурсы, необходимые для выполнения запросов, поэтому расход зависит от используемой модели и характера запросов.
На бесплатном тарифе после исчерпания дневной квоты дальнейшие операции не выполняются.
Сначала войдите в панель Cloudflare и откройте раздел Workers AI.
Выберите использование REST API и создайте Workers AI API Token. Такой токен нужен для авторизации запросов к моделям.
Если токен создаётся вручную, Cloudflare указывает разрешения Workers AI - Read и Workers AI - Edit.
Создать токен можно на этой странице: https://dash.cloudflare.com/profile/api-tokens

После получения Account ID и API-токена можно сделать первый запрос прямо из терминала.
Для примера используем модель @cf/meta/llama-3.1-8b-instruct:
curl "https://api.cloudflare.com/client/v4/user/tokens/verify" -H "Authorization: Bearer ваш_токен"
Замените ACCOUNT_ID и API_TOKEN своими значениями.
Если всё настроено правильно, Cloudflare вернёт JSON с результатом работы модели.
На этапе тестирования можно написать токен непосредственно в команде. Для постоянно работающего проекта так делать не стоит.
Создадим переменные окружения:
В поиск "Copy account ID"
export CLOUDFLARE_ACCOUNT_ID="a9b7e7cca3e2f21d577099347ebafe68"
export CLOUDFLARE_API_TOKEN="cfut_PCP65UhtQKNBgN9DMaxjKkssFgBMwQm5uw6ThPmF1c70bde6"
Теперь запрос можно выполнить так:
curl "https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run/@cf/meta/llama-3.1-8b-instruct" \
-H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Привет. Проверка связи"
}'

Такой вариант удобнее для сервера. При необходимости токен можно добавить в конфигурацию systemd, Docker Compose или другой механизм управления секретами.
Теперь перенесём тот же запрос в Python-приложение.
Установим библиотеку requests:
apt update
apt install python3 python3-pip -y
Создадим файл:
nano app.py
Добавим следующий код:
import os
import requests
account_id = os.environ["CLOUDFLARE_ACCOUNT_ID"]
api_token = os.environ["CLOUDFLARE_API_TOKEN"]
model = "@cf/meta/llama-3.1-8b-instruct"
url = (
f"https://api.cloudflare.com/client/v4/accounts/"
f"{account_id}/ai/run/{model}"
)
headers = {
"Authorization": f"Bearer {api_token}",
"Content-Type": "application/json",
}
data = {
"prompt": "Объясни простыми словами, зачем нужен VDS"
}
response = requests.post(
url,
headers=headers,
json=data,
timeout=60,
)
response.raise_for_status()
result = response.json()
print(result["result"]["response"])
Запустим приложение:
python3 app.py

Если переменные окружения настроены правильно, программа отправит запрос из VDS в Cloudflare и выведет ответ модели.
Workers AI предоставляет OpenAI-совместимые endpoints для Chat Completions и embeddings.
Это удобно, если приложение уже написано под OpenAI API. Во многих случаях достаточно заменить baseURL и название модели, не переписывая всю логику приложения.
Например, запрос через curl выглядит так:
curl --request POST \
--url "https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/v1/chat/completions" \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"model": "@cf/meta/llama-3.1-8b-instruct",
"messages": [
{
"role": "user",
"content": "Что можно запустить на VDS?"
}
]
}'
VDS для Cloudflare Workers AI нужен не для запуска самой AI-модели. Он используется как сервер, на котором работает ваше приложение и отправляет запросы в Cloudflare.
Для тестирования достаточно обычного Linux VDS без GPU. Cloudflare предоставляет бесплатную дневную квоту Workers AI, поэтому начать эксперименты можно без оплаты самой AI-инференс-инфраструктуры.