Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

__init__.py 2.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. #
  2. # Copyright 2024 The InfiniFlow Authors. All Rights Reserved.
  3. #
  4. # Licensed under the Apache License, Version 2.0 (the "License");
  5. # you may not use this file except in compliance with the License.
  6. # You may obtain a copy of the License at
  7. #
  8. # http://www.apache.org/licenses/LICENSE-2.0
  9. #
  10. # Unless required by applicable law or agreed to in writing, software
  11. # distributed under the License is distributed on an "AS IS" BASIS,
  12. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. # See the License for the specific language governing permissions and
  14. # limitations under the License.
  15. #
  16. from enum import Enum
  17. from enum import IntEnum
  18. from strenum import StrEnum
  19. class StatusEnum(Enum):
  20. VALID = "1"
  21. INVALID = "0"
  22. class UserTenantRole(StrEnum):
  23. OWNER = 'owner'
  24. ADMIN = 'admin'
  25. NORMAL = 'normal'
  26. INVITE = 'invite'
  27. class TenantPermission(StrEnum):
  28. ME = 'me'
  29. TEAM = 'team'
  30. class SerializedType(IntEnum):
  31. PICKLE = 1
  32. JSON = 2
  33. class FileType(StrEnum):
  34. PDF = 'pdf'
  35. DOC = 'doc'
  36. VISUAL = 'visual'
  37. AURAL = 'aural'
  38. VIRTUAL = 'virtual'
  39. FOLDER = 'folder'
  40. OTHER = "other"
  41. VALID_FILE_TYPES = {FileType.PDF, FileType.DOC, FileType.VISUAL, FileType.AURAL, FileType.VIRTUAL, FileType.FOLDER, FileType.OTHER}
  42. class LLMType(StrEnum):
  43. CHAT = 'chat'
  44. EMBEDDING = 'embedding'
  45. SPEECH2TEXT = 'speech2text'
  46. IMAGE2TEXT = 'image2text'
  47. RERANK = 'rerank'
  48. TTS = 'tts'
  49. class ChatStyle(StrEnum):
  50. CREATIVE = 'Creative'
  51. PRECISE = 'Precise'
  52. EVENLY = 'Evenly'
  53. CUSTOM = 'Custom'
  54. class TaskStatus(StrEnum):
  55. UNSTART = "0"
  56. RUNNING = "1"
  57. CANCEL = "2"
  58. DONE = "3"
  59. FAIL = "4"
  60. VALID_TASK_STATUS = {TaskStatus.UNSTART, TaskStatus.RUNNING, TaskStatus.CANCEL, TaskStatus.DONE, TaskStatus.FAIL}
  61. class ParserType(StrEnum):
  62. PRESENTATION = "presentation"
  63. LAWS = "laws"
  64. MANUAL = "manual"
  65. PAPER = "paper"
  66. RESUME = "resume"
  67. BOOK = "book"
  68. QA = "qa"
  69. TABLE = "table"
  70. NAIVE = "naive"
  71. PICTURE = "picture"
  72. ONE = "one"
  73. AUDIO = "audio"
  74. EMAIL = "email"
  75. KG = "knowledge_graph"
  76. TAG = "tag"
  77. class FileSource(StrEnum):
  78. LOCAL = ""
  79. KNOWLEDGEBASE = "knowledgebase"
  80. S3 = "s3"
  81. class CanvasType(StrEnum):
  82. ChatBot = "chatbot"
  83. DocBot = "docbot"
  84. class MCPServerType(StrEnum):
  85. SSE = "sse"
  86. STREAMABLE_HTTP = "streamable-http"
  87. VALID_MCP_SERVER_TYPES = {MCPServerType.SSE, MCPServerType.STREAMABLE_HTTP}
  88. KNOWLEDGEBASE_FOLDER_NAME=".knowledgebase"