# # Copyright 2024 The InfiniFlow Authors. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # from enum import Enum from enum import IntEnum from strenum import StrEnum class StatusEnum(Enum): VALID = "1" INVALID = "0" class UserTenantRole(StrEnum): OWNER = 'owner' ADMIN = 'admin' NORMAL = 'normal' class TenantPermission(StrEnum): ME = 'me' TEAM = 'team' class SerializedType(IntEnum): PICKLE = 1 JSON = 2 class FileType(StrEnum): PDF = 'pdf' DOC = 'doc' VISUAL = 'visual' AURAL = 'aural' VIRTUAL = 'virtual' FOLDER = 'folder' OTHER = "other" class LLMType(StrEnum): CHAT = 'chat' EMBEDDING = 'embedding' SPEECH2TEXT = 'speech2text' IMAGE2TEXT = 'image2text' RERANK = 'rerank' class ChatStyle(StrEnum): CREATIVE = 'Creative' PRECISE = 'Precise' EVENLY = 'Evenly' CUSTOM = 'Custom' class TaskStatus(StrEnum): UNSTART = "0" RUNNING = "1" CANCEL = "2" DONE = "3" FAIL = "4" class ParserType(StrEnum): PRESENTATION = "presentation" LAWS = "laws" MANUAL = "manual" PAPER = "paper" RESUME = "resume" BOOK = "book" QA = "qa" TABLE = "table" NAIVE = "naive" PICTURE = "picture" ONE = "one" AUDIO = "audio" EMAIL = "email" KG = "knowledge_graph" class FileSource(StrEnum): LOCAL = "" KNOWLEDGEBASE = "knowledgebase" S3 = "s3" class CanvasType(StrEnum): ChatBot = "chatbot" DocBot = "docbot" KNOWLEDGEBASE_FOLDER_NAME=".knowledgebase"