fix issues with optional dependencies (#204)

* fix issues with optional dependencies

* format document

* Tree: Format and comment
This commit is contained in:
TerminalMan 2024-09-20 03:24:55 +01:00 committed by GitHub
parent 75af974c88
commit 3aeddc5255
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 104 additions and 53 deletions

View file

@ -13,22 +13,20 @@ from typing import Optional
from common.logger import get_loading_progress_bar
from common.networking import handle_request_error
from common.tabby_config import config
from endpoints.utils import do_export_openapi
from common.optional_dependencies import dependencies
if not do_export_openapi:
if dependencies.exl2:
from backends.exllamav2.model import ExllamaV2Container
# Global model container
container: Optional[ExllamaV2Container] = None
embeddings_container = None
# Type hint the infinity emb container if it exists
from backends.infinity.model import has_infinity_emb
if has_infinity_emb:
from backends.infinity.model import InfinityContainer
if dependencies.extras:
from backends.infinity.model import InfinityContainer
embeddings_container: Optional[InfinityContainer] = None
embeddings_container: Optional[InfinityContainer] = None
class ModelType(Enum):
@ -121,7 +119,7 @@ async def load_embedding_model(model_path: pathlib.Path, **kwargs):
global embeddings_container
# Break out if infinity isn't installed
if not has_infinity_emb:
if not dependencies.extras:
raise ImportError(
"Skipping embeddings because infinity-emb is not installed.\n"
"Please run the following command in your environment "