from enum import Enum class ErrorCodeEnum(Enum): """ 错误码枚举定义 """ SUCCESS = ('100000', '成功') ERROR = ('100500', '服务异常') SESSION_ID_EMPTY = ('100001', '会话ID为空') BUSINSESS_SCENE_ERROR = ('100002', '业务场景错误') INPUT_INFO_EMPTY = ('100003', '用户输入为空') BUSINSESS_SCENE_EMPTY = ('100004', '业务场景为空') BUSINSESS_SCENE_PROMPT_FILE_EMPTY = ('100005', '业务场景提示词文件为空') BUSINSESS_SCENE_PROMPT_FILE_NOT_EXISTS = ('100006', '业务场景提示词文件不存在') BUSINSESS_SCENE_PROMPT_FILE_READ_ERROR = ('100007', '业务场景提示词文件读取异常') def __init__(self, code : str, desc : str): self.code = code self.desc = desc def get_item_by_code(self , code : str): """ 根据code 找枚举项 """ for item in list(ErrorCodeEnum): if item.code == code: return item return None def __str__(self) -> str: return self.code + ":" + self.desc class BusinessSceneEnum(Enum): """ 业务场景枚举定义 """ COMMON_MODEL_QUERY = ('common_model_query', '通用模型查询场景' , 'common_model_query.yaml') CATTLE_FARM_COMMMON = ('cattle_farm_common', '' , 'cattle_farm_common.yaml') CATTLE_FARM_QUERY = ('cattle_farm_query', '' , 'cattle_farm_query.yaml', "json") CATTLE_FARM_QUERY_FIXED = ('cattle_farm_query_fixed', '-固定' , 'cattle_farm_query_fixed.yaml', "json") CATTLE_FARM_IOT = ('cattle_farm_iot', '' , 'cattle_farm_iot.yaml') CATTLE_FARM_WARNING_PLAN = ('cattle_farm_warning_plan', '' , 'cattle_farm_warning_plan.yaml', "json") CATTLE_FARM_WARNING_TASK_EXECUTE = ('cattle_farm_warning_task_execute', '-任务执行' , 'cattle_farm_warning_task_execute.yaml') def __init__(self, code, desc , prompt_file , data_type="text"): self.code = code self.desc = desc self.prompt_file = prompt_file self.data_type = data_type @staticmethod def get_item_by_code(code): """ 根据code 找枚举项 """ for item in list(BusinessSceneEnum): if item.code == code: return item return None @staticmethod def get_item_by_code_def_val(code , def_val): """ 根据code 找枚举项,如果没有找到,则返回默认值 """ for item in list(BusinessSceneEnum): if item.code == code: return item return def_val # print(BusinessSceneEnum.CATTLE_FARM_QUERY_PLAN.code , BusinessSceneEnum.CATTLE_FARM_QUERY_PLAN.desc) # # print(BusinessSceneEnum.CATTLE_FARM_WARNING_PLAN.code , BusinessSceneEnum.CATTLE_FARM_WARNING_PLAN.desc) # class CacheDataKeyTypeEnum(Enum): """ 缓存数据data key类型枚举 基本信息 cattle_info 体温信息 cattle_temperature 步数信息 cattle_walk """ CATTLE_INFO = ('cattle_info', '基本信息') CATTLE_TEMPERATURE = ('cattle_temperature', '体温信息') CATTLE_WALK = ('cattle_walk', '步数信息') RETRIEVER_RESOURCES = ('retriever_resources', '私有知识库检索溯源') def __init__(self, code : str, desc : str): self.code = code self.desc = desc def get_item_by_code(self , code : str): """ 根据code 找枚举项 """ for item in list(CacheDataKeyTypeEnum): if item.code == code: return item return None def __str__(self) -> str: return self.code + ":" + self.desc class UserRoleEnum(Enum): """ 用户角色定义枚举 普通用户 common 租户用户 tenant """ COMMON = ('common', '普通用户') TENANT = ('tenant', '租户用户') def __init__(self, code : str, desc : str): self.code = code self.desc = desc def get_item_by_code(self , code : str): """ 根据code 找枚举项 """ for item in list(UserRoleEnum): if item.code == code: return item return None def __str__(self) -> str: return self.code + ":" + self.desc