fix(affinity-flow): 改进聊天流印象工具的stream_id获取逻辑

增强 ChatStreamImpressionTool 中 stream_id 的获取机制,优先从 function_args 获取,其次尝试从 chat_stream 对象获取。当两种方式都无法获取时,提供更清晰的错误日志信息,便于问题排查。
This commit is contained in:
Windpicker-owo
2025-10-30 18:36:38 +08:00
parent 8a08d1b9f2
commit 3e48784e92

View File

@@ -69,19 +69,26 @@ class ChatStreamImpressionTool(BaseTool):
"""执行聊天流印象更新 """执行聊天流印象更新
Args: Args:
function_args: 工具参数stream_id会由系统自动注入 function_args: 工具参数
Returns: Returns:
dict: 执行结果 dict: 执行结果
""" """
try: try:
# stream_id应该由调用方如工具执行器自动注入 # 优先从 function_args 获取 stream_id
# 如果没有注入,尝试从上下文获取
stream_id = function_args.get("stream_id") stream_id = function_args.get("stream_id")
# 如果没有,从 chat_stream 对象获取
if not stream_id and self.chat_stream:
try:
stream_id = self.chat_stream.stream_id
logger.debug(f"从 chat_stream 获取到 stream_id: {stream_id}")
except AttributeError:
logger.warning("chat_stream 对象没有 stream_id 属性")
# 如果还是没有,返回错误
if not stream_id: if not stream_id:
# 尝试从其他可能的来源获取 logger.error("无法获取 stream_idfunction_args 和 chat_stream 都没有提供")
logger.warning("stream_id未自动注入尝试从其他来源获取")
# 这里可以添加从上下文获取的逻辑
return { return {
"type": "error", "type": "error",
"id": "chat_stream_impression", "id": "chat_stream_impression",