feat(tool system): The specific method for obtaining the tool and the parameters to be passed

This commit is contained in:
谢俊男
2025-12-29 18:32:29 +08:00
parent 284951900d
commit 7f823ee72e
12 changed files with 21 additions and 22 deletions

View File

@@ -1,7 +1,7 @@
"""工具管理核心模块""" """工具管理核心模块"""
from .base import BaseTool, ToolResult, ToolParameter from app.core.tools.base import BaseTool, ToolResult, ToolParameter
from .langchain_adapter import LangchainAdapter from app.core.tools.langchain_adapter import LangchainAdapter
# 可选导入,避免导入错误 # 可选导入,避免导入错误
try: try:

View File

@@ -193,7 +193,7 @@ class BaseTool(ABC):
def to_langchain_tool(self): def to_langchain_tool(self):
"""转换为Langchain工具格式""" """转换为Langchain工具格式"""
from .langchain_adapter import LangchainAdapter from app.core.tools.langchain_adapter import LangchainAdapter
return LangchainAdapter.convert_tool(self) return LangchainAdapter.convert_tool(self)
def __repr__(self): def __repr__(self):

View File

@@ -1,11 +1,11 @@
"""内置工具模块""" """内置工具模块"""
from .base import BuiltinTool from app.core.tools.builtin.base import BuiltinTool
from .datetime_tool import DateTimeTool from app.core.tools.builtin.datetime_tool import DateTimeTool
from .json_tool import JsonTool from app.core.tools.builtin.json_tool import JsonTool
from .baidu_search_tool import BaiduSearchTool from app.core.tools.builtin.baidu_search_tool import BaiduSearchTool
from .mineru_tool import MinerUTool from app.core.tools.builtin.mineru_tool import MinerUTool
from .textin_tool import TextInTool from app.core.tools.builtin.textin_tool import TextInTool
__all__ = [ __all__ = [
"BuiltinTool", "BuiltinTool",

View File

@@ -4,7 +4,7 @@ from typing import List, Dict, Any
import aiohttp import aiohttp
from app.core.tools.base import ToolParameter, ToolResult, ParameterType from app.core.tools.base import ToolParameter, ToolResult, ParameterType
from .base import BuiltinTool from app.core.tools.builtin.base import BuiltinTool
class BaiduSearchTool(BuiltinTool): class BaiduSearchTool(BuiltinTool):

View File

@@ -5,7 +5,7 @@ from typing import List
import pytz import pytz
from app.schemas.tool_schema import ToolParameter, ToolResult, ParameterType from app.schemas.tool_schema import ToolParameter, ToolResult, ParameterType
from .base import BuiltinTool from app.core.tools.builtin.base import BuiltinTool
class DateTimeTool(BuiltinTool): class DateTimeTool(BuiltinTool):

View File

@@ -7,7 +7,7 @@ import xml.etree.ElementTree as ET
from xml.dom import minidom from xml.dom import minidom
from app.core.tools.base import ToolParameter, ToolResult, ParameterType from app.core.tools.base import ToolParameter, ToolResult, ParameterType
from .base import BuiltinTool from app.core.tools.builtin.base import BuiltinTool
class JsonTool(BuiltinTool): class JsonTool(BuiltinTool):

View File

@@ -4,7 +4,7 @@ from typing import List, Dict, Any
import aiohttp import aiohttp
from app.core.tools.base import ToolParameter, ToolResult, ParameterType from app.core.tools.base import ToolParameter, ToolResult, ParameterType
from .base import BuiltinTool from app.core.tools.builtin.base import BuiltinTool
class MinerUTool(BuiltinTool): class MinerUTool(BuiltinTool):

View File

@@ -4,7 +4,7 @@ from typing import List, Dict, Any
import aiohttp import aiohttp
from app.core.tools.base import ToolParameter, ToolResult, ParameterType from app.core.tools.base import ToolParameter, ToolResult, ParameterType
from .base import BuiltinTool from app.core.tools.builtin.base import BuiltinTool
class TextInTool(BuiltinTool): class TextInTool(BuiltinTool):

View File

@@ -1,8 +1,8 @@
"""自定义工具模块""" """自定义工具模块"""
from .base import CustomTool from app.core.tools.custom.base import CustomTool
from .schema_parser import OpenAPISchemaParser from app.core.tools.custom.schema_parser import OpenAPISchemaParser
from .auth_manager import AuthManager from app.core.tools.custom.auth_manager import AuthManager
__all__ = [ __all__ = [
"CustomTool", "CustomTool",

View File

@@ -1,8 +1,8 @@
"""MCP工具模块""" """MCP工具模块"""
from .base import MCPTool from app.core.tools.mcp.base import MCPTool
from .client import MCPClient, MCPConnectionPool from app.core.tools.mcp.client import MCPClient, MCPConnectionPool
from .service_manager import MCPServiceManager from app.core.tools.mcp.service_manager import MCPServiceManager
__all__ = [ __all__ = [
"MCPTool", "MCPTool",

View File

@@ -1,7 +1,6 @@
"""MCP工具基类""" """MCP工具基类"""
import time import time
from typing import Dict, Any, List from typing import Dict, Any, List
import aiohttp
from app.models.tool_model import ToolType from app.models.tool_model import ToolType
from app.core.tools.base import BaseTool from app.core.tools.base import BaseTool

View File

@@ -8,7 +8,7 @@ from sqlalchemy.orm import Session
from app.models.tool_model import MCPToolConfig, ToolConfig, ToolType, ToolStatus from app.models.tool_model import MCPToolConfig, ToolConfig, ToolType, ToolStatus
from app.core.logging_config import get_business_logger from app.core.logging_config import get_business_logger
from .client import MCPClient, MCPConnectionPool from app.core.tools.mcp.client import MCPClient, MCPConnectionPool
logger = get_business_logger() logger = get_business_logger()