mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-10 00:28:31 +00:00
Fix import error handling for optional chromadb dependency using TYPE_CHECKING
Co-Authored-By: Joe Moura <joao@crewai.com>
This commit is contained in:
@@ -6,20 +6,27 @@ import os
|
|||||||
import shutil
|
import shutil
|
||||||
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Union
|
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Union
|
||||||
|
|
||||||
try:
|
if TYPE_CHECKING:
|
||||||
import chromadb
|
import chromadb
|
||||||
import chromadb.errors
|
import chromadb.errors
|
||||||
from chromadb.api import ClientAPI
|
from chromadb.api import ClientAPI
|
||||||
from chromadb.api.types import OneOrMany
|
from chromadb.api.types import OneOrMany
|
||||||
from chromadb.config import Settings
|
from chromadb.config import Settings
|
||||||
except ImportError:
|
else:
|
||||||
chromadb = None
|
try:
|
||||||
ClientAPI = None
|
import chromadb
|
||||||
OneOrMany = None
|
import chromadb.errors
|
||||||
Settings = None
|
from chromadb.api import ClientAPI
|
||||||
raise ImportError(
|
from chromadb.api.types import OneOrMany
|
||||||
"ChromaDB is not installed. Please install it with `pip install crewai[chromadb]`."
|
from chromadb.config import Settings
|
||||||
)
|
except ImportError:
|
||||||
|
chromadb = None
|
||||||
|
ClientAPI = None
|
||||||
|
OneOrMany = None
|
||||||
|
Settings = None
|
||||||
|
raise ImportError(
|
||||||
|
"ChromaDB is not installed. Please install it with `pip install crewai[chromadb]`."
|
||||||
|
)
|
||||||
|
|
||||||
from crewai.knowledge.storage.base_knowledge_storage import BaseKnowledgeStorage
|
from crewai.knowledge.storage.base_knowledge_storage import BaseKnowledgeStorage
|
||||||
from crewai.utilities import EmbeddingConfigurator
|
from crewai.utilities import EmbeddingConfigurator
|
||||||
|
|||||||
@@ -6,14 +6,22 @@ import shutil
|
|||||||
import uuid
|
import uuid
|
||||||
from typing import TYPE_CHECKING, Any, Dict, List, Optional
|
from typing import TYPE_CHECKING, Any, Dict, List, Optional
|
||||||
|
|
||||||
try:
|
if TYPE_CHECKING:
|
||||||
import chromadb
|
import chromadb
|
||||||
from chromadb.api import ClientAPI
|
from chromadb.api import ClientAPI
|
||||||
from chromadb.config import Settings
|
from chromadb.config import Settings
|
||||||
except ImportError:
|
else:
|
||||||
raise ImportError(
|
try:
|
||||||
"ChromaDB is not installed. Please install it with `pip install crewai[chromadb]`."
|
import chromadb
|
||||||
)
|
from chromadb.api import ClientAPI
|
||||||
|
from chromadb.config import Settings
|
||||||
|
except ImportError:
|
||||||
|
chromadb = None
|
||||||
|
ClientAPI = None
|
||||||
|
Settings = None
|
||||||
|
raise ImportError(
|
||||||
|
"ChromaDB is not installed. Please install it with `pip install crewai[chromadb]`."
|
||||||
|
)
|
||||||
|
|
||||||
from crewai.memory.storage.base_rag_storage import BaseRAGStorage
|
from crewai.memory.storage.base_rag_storage import BaseRAGStorage
|
||||||
from crewai.utilities import EmbeddingConfigurator
|
from crewai.utilities import EmbeddingConfigurator
|
||||||
|
|||||||
Reference in New Issue
Block a user