@@ -758,7 +758,9 @@ def _record_token_usage(span: "Span", response: "Any") -> None:
758758 span .set_data (SPANDATA .GEN_AI_USAGE_TOTAL_TOKENS , total_tokens )
759759
760760
761- def _get_available_tools (obj : "Any" ) -> "Optional[List[Any]]" :
761+ def _get_request_data (
762+ obj : "Any" , args : "Any" , kwargs : "Any"
763+ ) -> "tuple[Optional[str], Optional[List[Any]]]" :
762764 """
763765 Get the agent name and available tools for the agent.
764766 """
@@ -773,13 +775,6 @@ def _get_available_tools(obj: "Any") -> "Optional[List[Any]]":
773775 )
774776 tools = tools if tools and len (tools ) > 0 else None
775777
776- return tools
777-
778-
779- def _get_run_name (obj : "Any" , args : "Any" ) -> "Optional[str]" :
780- agent = getattr (obj , "agent" , None )
781- runnable = getattr (agent , "runnable" , None )
782- runnable_config = getattr (runnable , "config" , {})
783778 try :
784779 agent_name = None
785780 if len (args ) > 1 :
@@ -789,7 +784,7 @@ def _get_run_name(obj: "Any", args: "Any") -> "Optional[str]":
789784 except Exception :
790785 pass
791786
792- return agent_name
787+ return ( agent_name , tools )
793788
794789
795790def _simplify_langchain_tools (tools : "Any" ) -> "Optional[List[Any]]" :
@@ -957,8 +952,9 @@ def new_invoke(self: "Any", *args: "Any", **kwargs: "Any") -> "Any":
957952 if integration is None :
958953 return f (self , * args , ** kwargs )
959954
955+ run_name , tools = _get_request_data (self , args , kwargs )
960956 start_span_function = get_start_span_function ()
961- run_name = _get_run_name ( self , args )
957+
962958 with start_span_function (
963959 op = OP .GEN_AI_INVOKE_AGENT ,
964960 name = f"invoke_agent { run_name } " if run_name else "invoke_agent" ,
@@ -970,7 +966,6 @@ def new_invoke(self: "Any", *args: "Any", **kwargs: "Any") -> "Any":
970966 span .set_data (SPANDATA .GEN_AI_OPERATION_NAME , "invoke_agent" )
971967 span .set_data (SPANDATA .GEN_AI_RESPONSE_STREAMING , False )
972968
973- tools = _get_available_tools (self )
974969 _set_tools_on_span (span , tools )
975970
976971 # Run the agent
@@ -1015,10 +1010,9 @@ def new_stream(self: "Any", *args: "Any", **kwargs: "Any") -> "Any":
10151010 if integration is None :
10161011 return f (self , * args , ** kwargs )
10171012
1013+ run_name , tools = _get_request_data (self , args , kwargs )
10181014 start_span_function = get_start_span_function ()
10191015
1020- run_name = _get_run_name (self , args )
1021-
10221016 span = start_span_function (
10231017 op = OP .GEN_AI_INVOKE_AGENT ,
10241018 name = f"invoke_agent { run_name } " if run_name else "invoke_agent" ,
@@ -1029,7 +1023,6 @@ def new_stream(self: "Any", *args: "Any", **kwargs: "Any") -> "Any":
10291023 span .set_data (SPANDATA .GEN_AI_OPERATION_NAME , "invoke_agent" )
10301024 span .set_data (SPANDATA .GEN_AI_RESPONSE_STREAMING , True )
10311025
1032- tools = _get_available_tools (self )
10331026 _set_tools_on_span (span , tools )
10341027
10351028 input = args [0 ].get ("input" ) if len (args ) >= 1 else None
0 commit comments