import logging import os from typing import Optional, List from pydantic import BaseModel, Field, ConfigDict, computed_field class EnvValue: DEV: str = "dev" PROD: str = "prod" class Env: @property def env(self) -> str: return os.getenv("ENV", EnvValue.DEV).lower() def is_prod(self) -> bool: return self.env == EnvValue.PROD def is_dev(self) -> bool: return self.env == EnvValue.DEV def __str__(self): return self.env ENV = Env() # 服务配置 SERVER_PORT = 20335 LOGGING_LEVEL = logging.INFO if ENV.is_prod() else logging.DEBUG # Bing search LLM_SEARCH_HOST = "http://lq.lianqiai.cn:20333" if ENV.is_dev() else "https://ac.zjugis.com:8511" class UserSearchRequest(BaseModel): request_id: str query: str class BaseResponse(BaseModel): request_id: str result: Optional[str] = None