price / src /misc /settings.py
abashar's picture
make it ready for HF
fed5c73
import os
from typing import Union, Literal, List
from pydantic import Field
from pydantic_settings import BaseSettings, SettingsConfigDict
from src.enum import ModelTypes, OperatorModelTypes
class ApiSettings(BaseSettings):
logdir: str = Field(default="logs", description="path of the logs directory")
api_host: str = Field(default="0.0.0.0")
api_port: int = Field(default=8080)
main_route: str = "api"
model_type: ModelTypes = Field(default=ModelTypes.DUCKLING_OPERATOR)
duckling_host: str = Field(default="localhost")
duckling_port: int = Field(default=8000)
operator_model_type: OperatorModelTypes = Field(default="bert")
device: Literal["cpu", "cuda"] = Field(
default="cpu", description="device to load the model on"
)
model_config = SettingsConfigDict(
protected_namespaces="settings_",
env_file=".env",
env_ignore_empty=True,
env_file_encoding="utf-8",
extra="ignore",
)
if __name__ == "__main__":
print(ApiSettings().model_dump_json())