48 lines
1.3 KiB
Python
48 lines
1.3 KiB
Python
import os
|
|
from dotenv import load_dotenv
|
|
|
|
# 加载环境变量
|
|
load_dotenv()
|
|
|
|
|
|
class Config:
|
|
"""应用配置类"""
|
|
|
|
# 应用基本配置
|
|
APP_NAME = os.getenv("APP_NAME", "Easy RAG Service")
|
|
APP_VERSION = os.getenv("APP_VERSION", "1.0.0")
|
|
DEBUG = os.getenv("DEBUG", "False").lower() == "true"
|
|
|
|
# 服务器配置
|
|
HOST = os.getenv("HOST", "0.0.0.0")
|
|
PORT = int(os.getenv("PORT", 8000))
|
|
|
|
# OpenAI 配置
|
|
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
|
|
OPENAI_BASE_URL = os.getenv("OPENAI_BASE_URL", "https://api.openai.com/v1")
|
|
|
|
# 向量数据库配置
|
|
CHROMA_PERSIST_DIRECTORY = os.getenv("CHROMA_PERSIST_DIRECTORY", "./chroma_db")
|
|
|
|
# 文件上传配置
|
|
UPLOAD_DIR = os.getenv("UPLOAD_DIR", "./uploads")
|
|
MAX_FILE_SIZE = int(os.getenv("MAX_FILE_SIZE", 10485760)) # 10MB
|
|
|
|
# 日志配置
|
|
LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO")
|
|
LOG_DIR = os.getenv("LOG_DIR", "./logs")
|
|
|
|
@classmethod
|
|
def validate(cls):
|
|
"""验证配置"""
|
|
if not cls.OPENAI_API_KEY:
|
|
raise ValueError("OPENAI_API_KEY 环境变量未设置")
|
|
|
|
# 创建必要的目录
|
|
os.makedirs(cls.UPLOAD_DIR, exist_ok=True)
|
|
os.makedirs(cls.LOG_DIR, exist_ok=True)
|
|
os.makedirs(cls.CHROMA_PERSIST_DIRECTORY, exist_ok=True)
|
|
|
|
# 创建配置实例
|
|
config = Config()
|