mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-09 16:18:30 +00:00
track tool usage
This commit is contained in:
@@ -25,10 +25,10 @@ from crewai.agents import CacheHandler, CrewAgentExecutor, CrewAgentParser, Tool
|
||||
from crewai.utilities import I18N, Logger, Prompts, RPMController
|
||||
from crewai.utilities.token_counter_callback import TokenCalcHandler, TokenProcess
|
||||
from agentops.agent import track_agent
|
||||
from agentops import LangchainCallbackHandler
|
||||
from agentops.langchain_callback_handler import LangchainCallbackHandler
|
||||
|
||||
|
||||
@track_agent(name=None)
|
||||
@track_agent()
|
||||
class Agent(BaseModel):
|
||||
"""Represents an agent in a system.
|
||||
|
||||
@@ -124,7 +124,7 @@ class Agent(BaseModel):
|
||||
def __init__(__pydantic_self__, **data):
|
||||
config = data.pop("config", {})
|
||||
super().__init__(**config, **data)
|
||||
__pydantic_self__._agent_ops_agent_name = __pydantic_self__.role
|
||||
__pydantic_self__.agent_ops_agent_name = __pydantic_self__.role
|
||||
|
||||
@field_validator("id", mode="before")
|
||||
@classmethod
|
||||
|
||||
@@ -9,7 +9,7 @@ from crewai.agents.tools_handler import ToolsHandler
|
||||
from crewai.telemetry import Telemetry
|
||||
from crewai.tools.tool_calling import InstructorToolCalling, ToolCalling
|
||||
from crewai.utilities import I18N, Converter, ConverterError, Printer
|
||||
from agentops import record, ToolEvent
|
||||
from agentops import ToolEvent, ErrorEvent, record
|
||||
|
||||
OPENAI_BIGGER_MODELS = ["gpt-4"]
|
||||
|
||||
@@ -79,13 +79,16 @@ class ToolUsage:
|
||||
self._printer.print(content=f"\n\n{error}\n", color="red")
|
||||
self.task.increment_tools_errors()
|
||||
return error
|
||||
|
||||
event = ToolEvent(name=calling.tool_name)
|
||||
record(event)
|
||||
try:
|
||||
tool = self._select_tool(calling.tool_name)
|
||||
record(ToolEvent(name=calling.tool_name))
|
||||
except Exception as e:
|
||||
error = getattr(e, "message", str(e))
|
||||
self.task.increment_tools_errors()
|
||||
self._printer.print(content=f"\n\n{error}\n", color="red")
|
||||
record(ErrorEvent(details=error, trigger_event=event))
|
||||
return error
|
||||
return f"{self._use(tool_string=tool_string, tool=tool, calling=calling)}"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user