chore: add interaction tracing and remove personal fields from logs
This commit is contained in:
@@ -320,6 +320,7 @@ async def _run_single_agent(
|
||||
),
|
||||
]
|
||||
|
||||
tool_calls_count = 0
|
||||
collected: list[dict[str, Any]] = []
|
||||
set_tool_result_collector(collected)
|
||||
try:
|
||||
@@ -328,10 +329,19 @@ async def _run_single_agent(
|
||||
messages.append(response)
|
||||
|
||||
if not response.tool_calls:
|
||||
return _as_text(response.content)
|
||||
final_text = _as_text(response.content)
|
||||
logger.info(
|
||||
"deep_agent: run_single_agent_end trace=%s user=%s tool_calls=%d response_chars=%d",
|
||||
trace_id or "-",
|
||||
user_id,
|
||||
tool_calls_count,
|
||||
len(final_text),
|
||||
)
|
||||
return final_text
|
||||
|
||||
tool_map = {tool_def.name: tool_def for tool_def in tools}
|
||||
for call in response.tool_calls:
|
||||
tool_calls_count += 1
|
||||
call_id = str(call.get("id", ""))
|
||||
call_name = str(call.get("name", ""))
|
||||
call_args = call.get("args", {})
|
||||
@@ -358,7 +368,15 @@ async def _run_single_agent(
|
||||
messages.append(ToolMessage(content=str(tool_output), tool_call_id=call["id"]))
|
||||
|
||||
final = await llm.ainvoke(messages)
|
||||
return _as_text(final.content)
|
||||
final_text = _as_text(final.content)
|
||||
logger.info(
|
||||
"deep_agent: run_single_agent_end trace=%s user=%s tool_calls=%d response_chars=%d fallback=1",
|
||||
trace_id or "-",
|
||||
user_id,
|
||||
tool_calls_count,
|
||||
len(final_text),
|
||||
)
|
||||
return final_text
|
||||
finally:
|
||||
clear_tool_result_collector()
|
||||
|
||||
@@ -387,6 +405,8 @@ async def _run_single_agent_stream(
|
||||
),
|
||||
]
|
||||
|
||||
tool_calls_count = 0
|
||||
streamed_chars = 0
|
||||
collected: list[dict[str, Any]] = []
|
||||
set_tool_result_collector(collected)
|
||||
try:
|
||||
@@ -398,11 +418,20 @@ async def _run_single_agent_stream(
|
||||
async for chunk in llm.astream(messages):
|
||||
token = _as_text(getattr(chunk, "content", ""))
|
||||
if token:
|
||||
streamed_chars += len(token)
|
||||
yield "token", token
|
||||
logger.info(
|
||||
"deep_agent: run_single_agent_stream_end trace=%s user=%s tool_calls=%d response_chars=%d",
|
||||
trace_id or "-",
|
||||
user_id,
|
||||
tool_calls_count,
|
||||
streamed_chars,
|
||||
)
|
||||
return
|
||||
|
||||
tool_map = {tool_def.name: tool_def for tool_def in tools}
|
||||
for call in response.tool_calls:
|
||||
tool_calls_count += 1
|
||||
call_id = str(call.get("id", ""))
|
||||
call_name = str(call.get("name", ""))
|
||||
call_args = call.get("args", {})
|
||||
@@ -431,7 +460,15 @@ async def _run_single_agent_stream(
|
||||
async for chunk in llm.astream(messages):
|
||||
token = _as_text(getattr(chunk, "content", ""))
|
||||
if token:
|
||||
streamed_chars += len(token)
|
||||
yield "token", token
|
||||
logger.info(
|
||||
"deep_agent: run_single_agent_stream_end trace=%s user=%s tool_calls=%d response_chars=%d fallback=1",
|
||||
trace_id or "-",
|
||||
user_id,
|
||||
tool_calls_count,
|
||||
streamed_chars,
|
||||
)
|
||||
finally:
|
||||
clear_tool_result_collector()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user