Добавлена поддержка 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

View File

@@ -4,10 +4,25 @@ from typing import Dict, List
class AIService:
"""Сервис для работы с OpenAI API"""
"""Сервис для работы с OpenAI API через Cloudflare Gateway"""
def __init__(self):
self.client = AsyncOpenAI(api_key=settings.openai_api_key)
# Проверяем, настроен ли Cloudflare AI Gateway
if settings.cloudflare_account_id:
# Используем Cloudflare AI Gateway
base_url = (
f"https://gateway.ai.cloudflare.com/v1/"
f"{settings.cloudflare_account_id}/"
f"{settings.cloudflare_gateway_id}/"
f"openai"
)
self.client = AsyncOpenAI(
api_key=settings.openai_api_key,
base_url=base_url
)
else:
# Прямое подключение к OpenAI
self.client = AsyncOpenAI(api_key=settings.openai_api_key)
async def translate_word(self, word: str, target_lang: str = "ru") -> Dict:
"""