File size: 1,050 Bytes
fed5c73
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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())