- Добавлена поддержка нескольких AI провайдеров (OpenAI, Google Gemini) - Добавлена админ-панель (/admin) для переключения AI моделей - Добавлен AIModelService для управления моделями в БД - Добавлен выбор типа заданий (микс, перевод слов, подстановка, перевод предложений) - Добавлена настройка количества заданий (5-15) - ai_service динамически выбирает провайдера на основе активной модели - Обработка ограничений моделей (temperature, response_format) - Очистка markdown обёртки из ответов Gemini 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
39 lines
911 B
Python
39 lines
911 B
Python
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
"""Настройки приложения"""
|
|
|
|
# Telegram
|
|
bot_token: str
|
|
|
|
# OpenAI
|
|
openai_api_key: str
|
|
|
|
# Google AI (Gemini)
|
|
google_api_key: str = ""
|
|
|
|
# Cloudflare AI Gateway (опционально)
|
|
cloudflare_account_id: str = ""
|
|
cloudflare_gateway_id: str = "gpt"
|
|
|
|
# Database
|
|
database_url: str
|
|
postgres_user: str = "botuser"
|
|
postgres_password: str = "botpassword"
|
|
postgres_db: str = "language_bot"
|
|
db_port: str = "15433"
|
|
|
|
# App settings
|
|
debug: bool = False
|
|
admin_ids: str = "" # Список ID админов через запятую (например "123456789,987654321")
|
|
|
|
model_config = SettingsConfigDict(
|
|
env_file='.env',
|
|
env_file_encoding='utf-8',
|
|
case_sensitive=False
|
|
)
|
|
|
|
|
|
settings = Settings()
|