fix(agent): 修复中间件无法载入知识库工具
This commit is contained in:
parent
db8b2b4460
commit
db833de69b
@ -85,9 +85,14 @@ class RuntimeConfigMiddleware(AgentMiddleware):
|
|||||||
existing_tools = list(request.tools or [])
|
existing_tools = list(request.tools or [])
|
||||||
merged_tools = []
|
merged_tools = []
|
||||||
for t_bind in existing_tools:
|
for t_bind in existing_tools:
|
||||||
if t_bind in enabled_tools or t_bind not in self.tools:
|
# (1) 已启用的工具保留
|
||||||
|
# (2) 非本中间件管理的工具保留
|
||||||
|
if t_bind.name in [t.name for t in enabled_tools] or \
|
||||||
|
t_bind.name not in [t.name for t in self.tools]:
|
||||||
merged_tools.append(t_bind)
|
merged_tools.append(t_bind)
|
||||||
overrides["tools"] = merged_tools
|
overrides["tools"] = merged_tools
|
||||||
|
logger.debug(f"RuntimeConfigMiddleware selected tools: {[t.name for t in merged_tools]}")
|
||||||
|
|
||||||
|
|
||||||
# 3. 系统提示词覆盖(可选)
|
# 3. 系统提示词覆盖(可选)
|
||||||
if self.enable_system_prompt_override:
|
if self.enable_system_prompt_override:
|
||||||
@ -115,8 +120,6 @@ class RuntimeConfigMiddleware(AgentMiddleware):
|
|||||||
for tool_name in tools:
|
for tool_name in tools:
|
||||||
if tool_name in tools_map:
|
if tool_name in tools_map:
|
||||||
selected_tools.append(tools_map[tool_name])
|
selected_tools.append(tools_map[tool_name])
|
||||||
else:
|
|
||||||
logger.warning(f"Tool '{tool_name}' not found in available tools. {tools_map.keys()=}")
|
|
||||||
|
|
||||||
# 2. 知识库工具
|
# 2. 知识库工具
|
||||||
knowledges = getattr(context, self.knowledges_context_name, None)
|
knowledges = getattr(context, self.knowledges_context_name, None)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user