Добавлена поддержка Cloudflare AI Gateway

Изменено:
- 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>
This commit is contained in:
2025-12-04 14:39:23 +03:00
parent ca5b45117f
commit dab1953888
5 changed files with 193 additions and 2 deletions

146
docs/CLOUDFLARE_GATEWAY.md Normal file
View File

@@ -0,0 +1,146 @@
# 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/)