diff --git a/deepeval/integrations/crewai/handler.py b/deepeval/integrations/crewai/handler.py index b833ef2a9..3c71b1214 100644 --- a/deepeval/integrations/crewai/handler.py +++ b/deepeval/integrations/crewai/handler.py @@ -12,6 +12,9 @@ logger = logging.getLogger(__name__) +class BaseEventListener(object): + pass + try: from crewai.events import BaseEventListener from crewai.events import ( diff --git a/deepeval/integrations/crewai/subs.py b/deepeval/integrations/crewai/subs.py index d284dcaa3..13c512254 100644 --- a/deepeval/integrations/crewai/subs.py +++ b/deepeval/integrations/crewai/subs.py @@ -46,6 +46,15 @@ def __init__( # Create the classes -DeepEvalCrew = create_deepeval_class(Crew, "DeepEvalCrew") -DeepEvalAgent = create_deepeval_class(Agent, "DeepEvalAgent") -DeepEvalLLM = create_deepeval_class(LLM, "DeepEvalLLM") +if is_crewai_installed(): + DeepEvalCrew = create_deepeval_class(Crew, "DeepEvalCrew") + DeepEvalAgent = create_deepeval_class(Agent, "DeepEvalAgent") + DeepEvalLLM = create_deepeval_class(LLM, "DeepEvalLLM") +else: + # Define placeholders to avoid NameError in __init__.py + class DeepEvalCrew: + pass + class DeepEvalAgent: + pass + class DeepEvalLLM: + pass