修改确保 max_length 永远不会是 None

This commit is contained in:
朱潮 2026-03-04 14:08:26 +08:00
parent 9215f8236d
commit 52d8161b0e
2 changed files with 2 additions and 2 deletions

View File

@ -220,7 +220,7 @@ async def init_agent(config: AgentConfig):
middleware.append(ToolUseCleanupMiddleware())
# 添加工具输出长度控制中间件
tool_output_middleware = ToolOutputLengthMiddleware(
max_length=getattr(config.generate_cfg, 'tool_output_max_length', None) if config.generate_cfg else None or TOOL_OUTPUT_MAX_LENGTH,
max_length=(getattr(config.generate_cfg, 'tool_output_max_length', None) if config.generate_cfg else None) or TOOL_OUTPUT_MAX_LENGTH,
truncation_strategy=getattr(config.generate_cfg, 'tool_output_truncation_strategy', 'smart') if config.generate_cfg else 'smart',
tool_filters=getattr(config.generate_cfg, 'tool_output_filters', None) if config.generate_cfg else None,
exclude_tools=getattr(config.generate_cfg, 'tool_output_exclude', []) if config.generate_cfg else [],

View File

@ -53,7 +53,7 @@ class ToolOutputLengthMiddleware(AgentMiddleware):
preserve_json: Whether to preserve JSON structure in smart mode
ellipsis: Text to append when truncating
"""
self.max_length = max_length
self.max_length = max_length if max_length is not None else 2000 # 确保 max_length 不为 None
self.truncation_strategy = truncation_strategy
self.tool_filters = tool_filters
self.exclude_tools = exclude_tools or []