import os import pika from dotenv import load_dotenv from pydantic import BaseSettings BASE_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../')) load_dotenv(os.path.join(BASE_DIR, '.env')) class Settings(BaseSettings): PROJECT_NAME = os.getenv('PROJECT_NAME', 'FASTAPI BASE') SECRET_KEY = os.getenv('SECRET_KEY', '') API_PREFIX = '' BACKEND_CORS_ORIGINS = ['*'] DATABASE_URL = os.getenv('SQL_DATABASE_URL', '') ACCESS_TOKEN_EXPIRE_SECONDS: int = 60 * 60 * 24 * 7 # Token expired after 7 days SECURITY_ALGORITHM = 'HS256' LOGGING_CONFIG_FILE = os.path.join(BASE_DIR, 'logging_env.py') DEBUG = True ENV = 0 if DEBUG: LOGS_PATH = "logs/errors.log" else: LOGS_PATH = "app/logs/errors.log" RABBITMQ_ENV = "" if ENV == 1: RABBITMQ_ENV = "dev" elif ENV == 2: RABBITMQ_ENV = "local" settings = Settings() # minio 配置 MINIO_IP = "www.minio.aida.com.hk" MINIO_PORT = 9000 MINIO_ACCESS = 'vXKFLSJkYeEq2DrSZvkB' MINIO_SECRET = 'uKTZT3x7C43WvPN9QTc99DiRkwddWZrG9Uh3JVlR' MINIO_SECURE = True # redis 配置 REDIS_HOST = "10.1.1.240" REDIS_PORT = "6379" REDIS_DB = "2" # rabbitmq config RABBITMQ_PARAMS = { "host": "18.167.251.121", "port": 5672, "credentials": pika.credentials.PlainCredentials(username='rabbit', password='123456'), "virtual_host": "/" } # SR service config SR_MODEL_NAME = "super_resolution" SR_TRITON_URL = "10.1.1.240:10031" SR_MINIO_BUCKET = "aida-users" SR_RABBITMQ_QUEUES = os.getenv("SR_RABBITMQ_QUEUES", "SuperResolution-local") # GenerateImage service config GI_MODEL_NAME = '_stable_diffusion' GI_MODEL_URL = '10.1.1.240:7001' GI_MINIO_BUCKET = "aida-users" GI_RABBITMQ_QUEUES = os.getenv("GI_RABBITMQ_QUEUES", f"GenerateImage-{RABBITMQ_ENV}") # SEG service config SEG_MODEL_URL = '10.1.1.240:10000' SEGMENTATION = { "name": "seg_ocrnet_hr18", "input": "seg_input__0", "output": "seg_output__0", }