Spaces:
Sleeping
Sleeping
from dotenv import load_dotenv | |
import os | |
from typing import Optional | |
class ServiceConfig: | |
def __init__(self, url_var: str, type_var: str, name_var: str): | |
""" | |
Initialize the ServiceConfig with environment variables. | |
:param url_var: Environment variable for the service URL. | |
:param type_var: Environment variable for the service type. | |
:param name_var: Environment variable for the service name. | |
""" | |
self.url: Optional[str] = os.getenv(url_var) | |
self.type: Optional[str] = os.getenv(type_var) | |
self.name: Optional[str] = os.getenv(name_var) | |
self.key: Optional[str] = os.getenv(f"{self.type}_KEY") | |
class Config: | |
def __init__(self): | |
""" | |
Load environment variables and initialize service configurations. | |
""" | |
load_dotenv(override=True) | |
self.llm: ServiceConfig = ServiceConfig("LLM_URL", "LLM_TYPE", "LLM_NAME") | |
self.stt: ServiceConfig = ServiceConfig("STT_URL", "STT_TYPE", "STT_NAME") | |
self.tts: ServiceConfig = ServiceConfig("TTS_URL", "TTS_TYPE", "TTS_NAME") | |