Spaces:
Build error
Build error
| from enum import Enum, EnumMeta | |
| from typing import Union | |
| class EnumMetaClass(Enum): | |
| def __eq__(self, other): | |
| if self.__class__ is other.__class__: | |
| return self.value.upper() == other.value.upper() | |
| return self.value == other | |
| def __hash__(self): | |
| return hash(self._name_) | |
| def __str__(self): | |
| return self.value | |
| def get_enum(cls, value: str) -> Union[EnumMeta, None]: | |
| return next( | |
| ( | |
| enum_val | |
| for enum_val in cls | |
| if (enum_val.value == value) | |
| or ( | |
| isinstance(value, str) | |
| and isinstance(enum_val.value, str) | |
| and (value.lower() == enum_val.value.lower() or value.upper() == enum_val.name.upper()) | |
| ) | |
| ), | |
| None, | |
| ) | |
| def _missing_(cls, name): | |
| for member in cls: | |
| if isinstance(member.name, str) and isinstance(name, str) and member.name.lower() == name.lower(): | |
| return member | |
| class EmbeddingTypes(EnumMetaClass): | |
| NA = "NA" | |
| OPENAI = "OpenAI" | |
| HUGGING_FACE = "Hugging Face" | |
| COHERE = "Cohere" | |
| class TransformType(EnumMetaClass): | |
| RecursiveTransform = "Recursive Text Splitter" | |
| CharacterTransform = "Character Text Splitter" | |
| SpacyTransform = "Spacy Text Splitter" | |
| NLTKTransform = "NLTK Text Splitter" | |
| class IndexerType(EnumMetaClass): | |
| FAISS = "FAISS" | |
| CHROMA = "Chroma" | |
| ELASTICSEARCH = "Elastic Search" | |
| class BotType(EnumMetaClass): | |
| qna = "Question Answering Bot ❓" | |
| conversational = "Chatbot 🤖" | |