draftme / models /config.py
dokster's picture
Update models/config.py
08b08f5 verified
Raw
History Blame Contribute Delete
1.31 kB
import os
from pathlib import Path
from typing import Literal
from pydantic import BaseModel, Field
from pydantic_settings import BaseSettings, SettingsConfigDict
class ModelSettings(BaseModel):
name: str = "qwen3.5-27b-fp8"
base_url: str = os.environ["MODAL_QWEN"]
api_key: str = "EMPTY"
temperature: float = 0.3
max_tokens: int = 4096
class ModelOption(BaseModel):
name: str
base_url: str
label: str
api_key: str = "EMPTY"
class AppSettings(BaseSettings):
model: ModelSettings = ModelSettings()
model_options: dict[str, ModelOption] = Field(
default_factory=lambda: {
"qwen": ModelOption(
label="Qwen 3.5 27B FP8",
name="qwen3.5-27b-fp8",
base_url=os.environ["MODAL_QWEN"],
),
"nemotron": ModelOption(
label="Nemotron 3 Nano 30B BF16",
name="nemotron-3-nano-30b-bf16",
base_url=os.environ["MODAL_NEMOTRON"],
),
}
)
max_iterations: int = 4
language: str = "en"
tone: Literal["professional", "concise", "executive"] = "professional"
output_dir: Path = Path("output")
debug: bool = False
model_config = SettingsConfigDict(env_file=".env", env_nested_delimiter="__")