feat(tool system): The specific method for obtaining the tool and the parameters to be passed
This commit is contained in:
@@ -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:
|
||||||
|
|||||||
@@ -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):
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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):
|
||||||
|
|||||||
@@ -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):
|
||||||
|
|||||||
@@ -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):
|
||||||
|
|||||||
@@ -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):
|
||||||
|
|||||||
@@ -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):
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user