initial commit
This commit is contained in:
48
venv/Lib/site-packages/langchain_classic/agents/tools.py
Normal file
48
venv/Lib/site-packages/langchain_classic/agents/tools.py
Normal file
@@ -0,0 +1,48 @@
|
||||
"""Interface for tools."""
|
||||
|
||||
from langchain_core.callbacks import (
|
||||
AsyncCallbackManagerForToolRun,
|
||||
CallbackManagerForToolRun,
|
||||
)
|
||||
from langchain_core.tools import BaseTool, tool
|
||||
from typing_extensions import override
|
||||
|
||||
|
||||
class InvalidTool(BaseTool):
|
||||
"""Tool that is run when invalid tool name is encountered by agent."""
|
||||
|
||||
name: str = "invalid_tool"
|
||||
"""Name of the tool."""
|
||||
description: str = "Called when tool name is invalid. Suggests valid tool names."
|
||||
"""Description of the tool."""
|
||||
|
||||
@override
|
||||
def _run(
|
||||
self,
|
||||
requested_tool_name: str,
|
||||
available_tool_names: list[str],
|
||||
run_manager: CallbackManagerForToolRun | None = None,
|
||||
) -> str:
|
||||
"""Use the tool."""
|
||||
available_tool_names_str = ", ".join(list(available_tool_names))
|
||||
return (
|
||||
f"{requested_tool_name} is not a valid tool, "
|
||||
f"try one of [{available_tool_names_str}]."
|
||||
)
|
||||
|
||||
@override
|
||||
async def _arun(
|
||||
self,
|
||||
requested_tool_name: str,
|
||||
available_tool_names: list[str],
|
||||
run_manager: AsyncCallbackManagerForToolRun | None = None,
|
||||
) -> str:
|
||||
"""Use the tool asynchronously."""
|
||||
available_tool_names_str = ", ".join(list(available_tool_names))
|
||||
return (
|
||||
f"{requested_tool_name} is not a valid tool, "
|
||||
f"try one of [{available_tool_names_str}]."
|
||||
)
|
||||
|
||||
|
||||
__all__ = ["InvalidTool", "tool"]
|
||||
Reference in New Issue
Block a user