31 lines
No EOL
1.2 KiB
Python
31 lines
No EOL
1.2 KiB
Python
import os
|
|
from pydantic_settings import BaseSettings
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
PROJECT_NAME: str = "LightRAG Service Wrapper"
|
|
API_V1_STR: str = "/api/v1"
|
|
POSTGRES_HOST: str = os.getenv("POSTGRES_HOST", "localhost")
|
|
POSTGRES_PORT: str = os.getenv("POSTGRES_PORT", "5432")
|
|
POSTGRES_USER: str = os.getenv("POSTGRES_USER", "postgres")
|
|
POSTGRES_PASSWORD: str = os.getenv("POSTGRES_PASSWORD", "password")
|
|
POSTGRES_DB: str = os.getenv("POSTGRES_DATABASE", "lightrag_db")
|
|
POSTGRES_MAX_CONNECTIONS: int = os.getenv("POSTGRES_MAX_CONNECTIONS", 12)
|
|
|
|
# Encode credentials to handle special characters
|
|
from urllib.parse import quote_plus
|
|
_encoded_user = quote_plus(POSTGRES_USER)
|
|
_encoded_password = quote_plus(POSTGRES_PASSWORD)
|
|
|
|
DATABASE_URL: str = os.getenv(
|
|
"DATABASE_URL",
|
|
f"postgresql://{_encoded_user}:{_encoded_password}@{POSTGRES_HOST}:{POSTGRES_PORT}/{POSTGRES_DB}"
|
|
)
|
|
LIGHTRAG_WORKING_DIR: str = os.getenv("LIGHTRAG_WORKING_DIR", "./rag_storage")
|
|
OPENAI_API_KEY: str = os.getenv("OPENAI_API_KEY", "")
|
|
AUTH_ACCOUNTS: str = os.getenv("AUTH_ACCOUNTS", "")
|
|
|
|
class Config:
|
|
case_sensitive = True
|
|
|
|
settings = Settings() |