Изменено: - services/ai_service.py - автоматическое использование Cloudflare Gateway - config/settings.py - настройки CLOUDFLARE_ACCOUNT_ID и CLOUDFLARE_GATEWAY_ID - .env.example - добавлены переменные Cloudflare - README.md - секция о Cloudflare AI Gateway Создано: - docs/CLOUDFLARE_GATEWAY.md - подробная документация Преимущества: 🚀 Кэширование запросов - экономия до 99% на повторных запросах 📊 Аналитика - детальная статистика использования AI 💰 Контроль расходов - мониторинг стоимости 🛡️ Безопасность - защита API ключей и rate limiting Использование: 1. Создать Gateway на dash.cloudflare.com 2. Добавить CLOUDFLARE_ACCOUNT_ID в .env 3. Все запросы автоматически пойдут через Cloudflare Для отключения оставьте CLOUDFLARE_ACCOUNT_ID пустым. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
147 lines
4.9 KiB
Markdown
147 lines
4.9 KiB
Markdown
# Cloudflare AI Gateway
|
||
|
||
## Что это?
|
||
|
||
Cloudflare AI Gateway — это прокси-сервис между вашим приложением и AI провайдерами (OpenAI, Anthropic и др.), который предоставляет:
|
||
|
||
## Преимущества
|
||
|
||
### 1. 🚀 Кэширование запросов
|
||
- Автоматическое кэширование одинаковых запросов к AI
|
||
- Экономия на повторных запросах
|
||
- Мгновенные ответы для закэшированных запросов
|
||
|
||
### 2. 📊 Аналитика и мониторинг
|
||
- Детальная статистика использования API
|
||
- Отслеживание стоимости запросов
|
||
- Анализ производительности
|
||
|
||
### 3. 💰 Экономия средств
|
||
- Снижение количества запросов к OpenAI через кэш
|
||
- Контроль расходов
|
||
- Rate limiting для предотвращения перерасхода
|
||
|
||
### 4. 🛡️ Безопасность
|
||
- Защита API ключей
|
||
- Rate limiting
|
||
- Логирование всех запросов
|
||
|
||
### 5. 🔄 Резервные варианты
|
||
- Поддержка нескольких AI провайдеров
|
||
- Автоматическое переключение при сбоях
|
||
|
||
## Настройка
|
||
|
||
### 1. Создание Gateway в Cloudflare
|
||
|
||
1. Перейдите на [Cloudflare Dashboard](https://dash.cloudflare.com/)
|
||
2. Откройте раздел **AI** → **AI Gateway**
|
||
3. Нажмите **Create Gateway**
|
||
4. Введите имя для Gateway (например: `gpt`)
|
||
5. Скопируйте **Account ID** и **Gateway ID**
|
||
|
||
### 2. Настройка в проекте
|
||
|
||
Добавьте в `.env` файл:
|
||
|
||
```env
|
||
# Cloudflare AI Gateway
|
||
CLOUDFLARE_ACCOUNT_ID=ваш_account_id
|
||
CLOUDFLARE_GATEWAY_ID=gpt
|
||
```
|
||
|
||
### 3. Проверка работы
|
||
|
||
После настройки все запросы к OpenAI будут проходить через Cloudflare Gateway.
|
||
|
||
Проверить можно в дашборде Cloudflare: **AI** → **AI Gateway** → выбрать ваш Gateway
|
||
|
||
## Как это работает
|
||
|
||
### Без Cloudflare Gateway:
|
||
```
|
||
Бот → OpenAI API → Ответ
|
||
```
|
||
|
||
### С Cloudflare Gateway:
|
||
```
|
||
Бот → Cloudflare Gateway → OpenAI API → Ответ
|
||
↓
|
||
(кэш + аналитика)
|
||
```
|
||
|
||
При повторном запросе:
|
||
```
|
||
Бот → Cloudflare Gateway → Ответ из кэша (мгновенно!)
|
||
```
|
||
|
||
## Примеры экономии
|
||
|
||
### Без кэширования:
|
||
- Запрос перевода слова "hello" → $0.002
|
||
- 10 пользователей запрашивают "hello" → $0.02
|
||
- 100 пользователей → $0.20
|
||
|
||
### С кэшированием:
|
||
- Первый запрос "hello" → $0.002
|
||
- Последующие 99 запросов → $0 (из кэша)
|
||
- **Экономия: 99%**
|
||
|
||
## Настройка кэширования
|
||
|
||
В дашборде Cloudflare Gateway можно настроить:
|
||
|
||
- **TTL кэша** - время жизни закэшированных ответов
|
||
- **Правила кэширования** - что кэшировать, а что нет
|
||
- **Invalidation** - очистка кэша
|
||
|
||
### Рекомендации для нашего бота:
|
||
|
||
**Кэшировать:**
|
||
- Переводы слов (TTL: 30 дней)
|
||
- Проверка ответов с одинаковыми параметрами (TTL: 1 день)
|
||
|
||
**Не кэшировать:**
|
||
- Диалоги с пользователями (уникальный контекст)
|
||
|
||
## Мониторинг
|
||
|
||
В дашборде Cloudflare Gateway доступны метрики:
|
||
|
||
- **Requests** - общее количество запросов
|
||
- **Cache hit rate** - процент попаданий в кэш
|
||
- **Cost** - стоимость запросов
|
||
- **Latency** - задержка ответов
|
||
- **Errors** - ошибки
|
||
|
||
## Отключение
|
||
|
||
Чтобы отключить Cloudflare Gateway и использовать прямое подключение к OpenAI:
|
||
|
||
1. Удалите или закомментируйте в `.env`:
|
||
```env
|
||
# CLOUDFLARE_ACCOUNT_ID=...
|
||
# CLOUDFLARE_GATEWAY_ID=...
|
||
```
|
||
|
||
2. Или оставьте `CLOUDFLARE_ACCOUNT_ID` пустым:
|
||
```env
|
||
CLOUDFLARE_ACCOUNT_ID=
|
||
```
|
||
|
||
## Поддержка других AI провайдеров
|
||
|
||
Cloudflare AI Gateway также поддерживает:
|
||
- Anthropic (Claude)
|
||
- Google AI
|
||
- Hugging Face
|
||
- Azure OpenAI
|
||
|
||
Для переключения достаточно изменить base URL в коде.
|
||
|
||
## Ссылки
|
||
|
||
- [Cloudflare AI Gateway Documentation](https://developers.cloudflare.com/ai-gateway/)
|
||
- [Cloudflare Dashboard](https://dash.cloudflare.com/)
|
||
- [Pricing Calculator](https://developers.cloudflare.com/ai-gateway/get-started/pricing/)
|