From b9d6ec57212f965ebc381638a61ecac1e1436b1b Mon Sep 17 00:00:00 2001 From: Braelyn Boynton Date: Fri, 3 May 2024 15:07:17 -0700 Subject: [PATCH] use langchain callback handler to support all LLMs --- src/crewai/agent.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/crewai/agent.py b/src/crewai/agent.py index f9469566e..26e844bc2 100644 --- a/src/crewai/agent.py +++ b/src/crewai/agent.py @@ -25,7 +25,9 @@ from crewai.memory.contextual.contextual_memory import ContextualMemory from crewai.utilities import I18N, Logger, Prompts, RPMController from crewai.utilities.token_counter_callback import TokenCalcHandler, TokenProcess +agentops = None try: + import agentops from agentops import track_agent except ImportError: @@ -195,6 +197,12 @@ class Agent(BaseModel): ): self.llm.callbacks.append(token_handler) + if agentops and not any( + isinstance(handler, agentops.LangchainCallbackHandler) for handler in self.llm.callbacks + ): + agentops.stop_instrumenting() + self.llm.callbacks.append(agentops.LangchainCallbackHandler()) + if not self.agent_executor: if not self.cache_handler: self.cache_handler = CacheHandler()