Source code for langchain.agents.tools

"""工具的接口。"""
from typing import List, Optional

from langchain_core.callbacks import (
    AsyncCallbackManagerForToolRun,
    CallbackManagerForToolRun,
)
from langchain_core.tools import BaseTool, Tool, tool


[docs]class InvalidTool(BaseTool): """当代理遇到无效的工具名称时运行的工具。""" name: str = "invalid_tool" description: str = "Called when tool name is invalid. Suggests valid tool names." def _run( self, requested_tool_name: str, available_tool_names: List[str], run_manager: Optional[CallbackManagerForToolRun] = None, ) -> str: """使用这个工具。""" available_tool_names_str = ", ".join([tool for tool in available_tool_names]) return ( f"{requested_tool_name} is not a valid tool, " f"try one of [{available_tool_names_str}]." ) async def _arun( self, requested_tool_name: str, available_tool_names: List[str], run_manager: Optional[AsyncCallbackManagerForToolRun] = None, ) -> str: """使用工具进行异步操作。""" available_tool_names_str = ", ".join([tool for tool in available_tool_names]) return ( f"{requested_tool_name} is not a valid tool, " f"try one of [{available_tool_names_str}]." )
__all__ = ["InvalidTool", "BaseTool", "tool", "Tool"]