LightRAG/service/app/core/config.py

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()