| """Конфигурация проекта. Читаем из .env через pydantic-settings.""" |
|
|
| from __future__ import annotations |
|
|
| from pathlib import Path |
|
|
| from pydantic_settings import BaseSettings, SettingsConfigDict |
|
|
| ROOT_DIR = Path(__file__).resolve().parent.parent |
|
|
|
|
| class Settings(BaseSettings): |
| """Все настройки приложения. Значения берутся из .env, переменных окружения, либо дефолтов.""" |
|
|
| model_config = SettingsConfigDict( |
| env_file=str(ROOT_DIR / ".env"), |
| env_file_encoding="utf-8", |
| extra="ignore", |
| ) |
|
|
| |
| base_model_name: str = "Qwen/Qwen2.5-Coder-3B-Instruct" |
| lora_adapter_path: str = str(ROOT_DIR / "checkpoints" / "qwen-coder-pauq-lora") |
| device: str = "cpu" |
|
|
| |
| pauq_data_dir: Path = ROOT_DIR / "data" / "pauq" |
| databases_dir: Path = ROOT_DIR / "data" / "databases" |
|
|
| |
| gigachat_api_key: str = "" |
| openai_api_key: str = "" |
| yandexgpt_api_key: str = "" |
| yandexgpt_folder_id: str = "" |
| hf_token: str = "" |
|
|
| |
| api_host: str = "127.0.0.1" |
| api_port: int = 8000 |
|
|
| |
| max_new_tokens: int = 256 |
| temperature: float = 0.0 |
| do_sample: bool = False |
|
|
|
|
| |
| settings = Settings() |
|
|