common_enums.py 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. from enum import Enum
  2. class ErrorCodeEnum(Enum):
  3. """
  4. 错误码枚举定义
  5. """
  6. SUCCESS = ('100000', '成功')
  7. ERROR = ('100500', '服务异常')
  8. SESSION_ID_EMPTY = ('100001', '会话ID为空')
  9. BUSINSESS_SCENE_ERROR = ('100002', '业务场景错误')
  10. INPUT_INFO_EMPTY = ('100003', '用户输入为空')
  11. BUSINSESS_SCENE_EMPTY = ('100004', '业务场景为空')
  12. BUSINSESS_SCENE_PROMPT_FILE_EMPTY = ('100005', '业务场景提示词文件为空')
  13. BUSINSESS_SCENE_PROMPT_FILE_NOT_EXISTS = ('100006', '业务场景提示词文件不存在')
  14. BUSINSESS_SCENE_PROMPT_FILE_READ_ERROR = ('100007', '业务场景提示词文件读取异常')
  15. def __init__(self, code : str, desc : str):
  16. self.code = code
  17. self.desc = desc
  18. def get_item_by_code(self , code : str):
  19. """
  20. 根据code 找枚举项
  21. """
  22. for item in list(ErrorCodeEnum):
  23. if item.code == code:
  24. return item
  25. return None
  26. def __str__(self) -> str:
  27. return self.code + ":" + self.desc
  28. class BusinessSceneEnum(Enum):
  29. """
  30. 业务场景枚举定义
  31. """
  32. COMMON_MODEL_QUERY = ('common_model_query', '通用模型查询场景' , 'common_model_query.yaml')
  33. CATTLE_FARM_COMMMON = ('cattle_farm_common', '' , 'cattle_farm_common.yaml')
  34. CATTLE_FARM_QUERY = ('cattle_farm_query', '' , 'cattle_farm_query.yaml', "json")
  35. CATTLE_FARM_QUERY_FIXED = ('cattle_farm_query_fixed', '-固定' , 'cattle_farm_query_fixed.yaml', "json")
  36. CATTLE_FARM_IOT = ('cattle_farm_iot', '' , 'cattle_farm_iot.yaml')
  37. CATTLE_FARM_WARNING_PLAN = ('cattle_farm_warning_plan', '' , 'cattle_farm_warning_plan.yaml', "json")
  38. CATTLE_FARM_WARNING_TASK_EXECUTE = ('cattle_farm_warning_task_execute', '-任务执行' , 'cattle_farm_warning_task_execute.yaml')
  39. def __init__(self, code, desc , prompt_file , data_type="text"):
  40. self.code = code
  41. self.desc = desc
  42. self.prompt_file = prompt_file
  43. self.data_type = data_type
  44. @staticmethod
  45. def get_item_by_code(code):
  46. """
  47. 根据code 找枚举项
  48. """
  49. for item in list(BusinessSceneEnum):
  50. if item.code == code:
  51. return item
  52. return None
  53. @staticmethod
  54. def get_item_by_code_def_val(code , def_val):
  55. """
  56. 根据code 找枚举项,如果没有找到,则返回默认值
  57. """
  58. for item in list(BusinessSceneEnum):
  59. if item.code == code:
  60. return item
  61. return def_val
  62. # print(BusinessSceneEnum.CATTLE_FARM_QUERY_PLAN.code , BusinessSceneEnum.CATTLE_FARM_QUERY_PLAN.desc) #
  63. # print(BusinessSceneEnum.CATTLE_FARM_WARNING_PLAN.code , BusinessSceneEnum.CATTLE_FARM_WARNING_PLAN.desc) #
  64. class CacheDataKeyTypeEnum(Enum):
  65. """
  66. 缓存数据data key类型枚举
  67. 基本信息 cattle_info
  68. 体温信息 cattle_temperature
  69. 步数信息 cattle_walk
  70. """
  71. CATTLE_INFO = ('cattle_info', '基本信息')
  72. CATTLE_TEMPERATURE = ('cattle_temperature', '体温信息')
  73. CATTLE_WALK = ('cattle_walk', '步数信息')
  74. RETRIEVER_RESOURCES = ('retriever_resources', '私有知识库检索溯源')
  75. def __init__(self, code : str, desc : str):
  76. self.code = code
  77. self.desc = desc
  78. def get_item_by_code(self , code : str):
  79. """
  80. 根据code 找枚举项
  81. """
  82. for item in list(CacheDataKeyTypeEnum):
  83. if item.code == code:
  84. return item
  85. return None
  86. def __str__(self) -> str:
  87. return self.code + ":" + self.desc
  88. class UserRoleEnum(Enum):
  89. """
  90. 用户角色定义枚举
  91. 普通用户 common
  92. 租户用户 tenant
  93. """
  94. COMMON = ('common', '普通用户')
  95. TENANT = ('tenant', '租户用户')
  96. def __init__(self, code : str, desc : str):
  97. self.code = code
  98. self.desc = desc
  99. def get_item_by_code(self , code : str):
  100. """
  101. 根据code 找枚举项
  102. """
  103. for item in list(UserRoleEnum):
  104. if item.code == code:
  105. return item
  106. return None
  107. def __str__(self) -> str:
  108. return self.code + ":" + self.desc