easy-rag/config.py

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