fix(affinity-flow): 改进聊天流印象工具的stream_id获取逻辑
增强 ChatStreamImpressionTool 中 stream_id 的获取机制,优先从 function_args 获取,其次尝试从 chat_stream 对象获取。当两种方式都无法获取时,提供更清晰的错误日志信息,便于问题排查。
This commit is contained in:
@@ -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_id:function_args 和 chat_stream 都没有提供")
|
||||||
logger.warning("stream_id未自动注入,尝试从其他来源获取")
|
|
||||||
# 这里可以添加从上下文获取的逻辑
|
|
||||||
return {
|
return {
|
||||||
"type": "error",
|
"type": "error",
|
||||||
"id": "chat_stream_impression",
|
"id": "chat_stream_impression",
|
||||||
|
|||||||
Reference in New Issue
Block a user