2026-03-04 04:06:48 +08:00
|
|
|
|
"""知识库中间件 - 提供通用知识库工具"""
|
|
|
|
|
|
|
2026-05-21 19:32:10 +08:00
|
|
|
|
from langchain.agents.middleware import AgentMiddleware
|
2026-03-04 04:06:48 +08:00
|
|
|
|
|
2026-03-20 12:08:00 +08:00
|
|
|
|
from yuxi.agents.toolkits.kbs import get_common_kb_tools
|
2026-03-17 10:16:44 +08:00
|
|
|
|
from yuxi.utils.logging_config import logger
|
2026-03-04 04:06:48 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class KnowledgeBaseMiddleware(AgentMiddleware):
|
2026-05-21 19:32:10 +08:00
|
|
|
|
"""知识库中间件 - 提供通用知识库工具,其他没有任何作用
|
2026-03-04 04:06:48 +08:00
|
|
|
|
|
2026-05-18 14:09:42 +08:00
|
|
|
|
提供通用知识库工具:
|
2026-03-04 04:06:48 +08:00
|
|
|
|
- list_kbs: 列出用户可访问的知识库
|
|
|
|
|
|
- get_mindmap: 获取指定知识库的思维导图
|
|
|
|
|
|
- query_kb: 在指定知识库中检索
|
2026-05-18 14:09:42 +08:00
|
|
|
|
- find_kb_document: 在指定文件内定位关键词或正则模式
|
|
|
|
|
|
- open_kb_document: 按 file_id 分段打开知识库文档
|
2026-03-04 04:06:48 +08:00
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
|
|
def __init__(self):
|
|
|
|
|
|
super().__init__()
|
|
|
|
|
|
# 预加载通用知识库工具
|
|
|
|
|
|
self.kb_tools = get_common_kb_tools()
|
|
|
|
|
|
self.tools = self.kb_tools
|
2026-03-04 04:13:05 +08:00
|
|
|
|
logger.debug(f"Initialized KnowledgeBaseMiddleware with {len(self.kb_tools)} tools")
|