mirror of
https://github.com/hwchase17/langchain.git
synced 2025-06-27 00:48:45 +00:00
docs, standard-tests: property tags, support tool decorator (#28234)
This commit is contained in:
parent
4027da1b6e
commit
43e24cd4a1
@ -116,12 +116,14 @@
|
|||||||
" def tool_constructor(self) -> Type[ParrotMultiplyTool]:\n",
|
" def tool_constructor(self) -> Type[ParrotMultiplyTool]:\n",
|
||||||
" return ParrotMultiplyTool\n",
|
" return ParrotMultiplyTool\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
" @property\n",
|
||||||
" def tool_constructor_params(self) -> dict:\n",
|
" def tool_constructor_params(self) -> dict:\n",
|
||||||
" # if your tool constructor instead required initialization arguments like\n",
|
" # if your tool constructor instead required initialization arguments like\n",
|
||||||
" # `def __init__(self, some_arg: int):`, you would return those here\n",
|
" # `def __init__(self, some_arg: int):`, you would return those here\n",
|
||||||
" # as a dictionary, e.g.: `return {'some_arg': 42}`\n",
|
" # as a dictionary, e.g.: `return {'some_arg': 42}`\n",
|
||||||
" return {}\n",
|
" return {}\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
" @property\n",
|
||||||
" def tool_invoke_params_example(self) -> dict:\n",
|
" def tool_invoke_params_example(self) -> dict:\n",
|
||||||
" \"\"\"\n",
|
" \"\"\"\n",
|
||||||
" Returns a dictionary representing the \"args\" of an example tool call.\n",
|
" Returns a dictionary representing the \"args\" of an example tool call.\n",
|
||||||
@ -150,12 +152,14 @@
|
|||||||
" def tool_constructor(self) -> Type[ParrotMultiplyTool]:\n",
|
" def tool_constructor(self) -> Type[ParrotMultiplyTool]:\n",
|
||||||
" return ParrotMultiplyTool\n",
|
" return ParrotMultiplyTool\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
" @property\n",
|
||||||
" def tool_constructor_params(self) -> dict:\n",
|
" def tool_constructor_params(self) -> dict:\n",
|
||||||
" # if your tool constructor instead required initialization arguments like\n",
|
" # if your tool constructor instead required initialization arguments like\n",
|
||||||
" # `def __init__(self, some_arg: int):`, you would return those here\n",
|
" # `def __init__(self, some_arg: int):`, you would return those here\n",
|
||||||
" # as a dictionary, e.g.: `return {'some_arg': 42}`\n",
|
" # as a dictionary, e.g.: `return {'some_arg': 42}`\n",
|
||||||
" return {}\n",
|
" return {}\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
" @property\n",
|
||||||
" def tool_invoke_params_example(self) -> dict:\n",
|
" def tool_invoke_params_example(self) -> dict:\n",
|
||||||
" \"\"\"\n",
|
" \"\"\"\n",
|
||||||
" Returns a dictionary representing the \"args\" of an example tool call.\n",
|
" Returns a dictionary representing the \"args\" of an example tool call.\n",
|
||||||
@ -322,12 +326,14 @@
|
|||||||
" def tool_constructor(self) -> Type[ParrotMultiplyTool]:\n",
|
" def tool_constructor(self) -> Type[ParrotMultiplyTool]:\n",
|
||||||
" return ParrotMultiplyTool\n",
|
" return ParrotMultiplyTool\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
" @property\n",
|
||||||
" def tool_constructor_params(self) -> dict:\n",
|
" def tool_constructor_params(self) -> dict:\n",
|
||||||
" # if your tool constructor instead required initialization arguments like\n",
|
" # if your tool constructor instead required initialization arguments like\n",
|
||||||
" # `def __init__(self, some_arg: int):`, you would return those here\n",
|
" # `def __init__(self, some_arg: int):`, you would return those here\n",
|
||||||
" # as a dictionary, e.g.: `return {'some_arg': 42}`\n",
|
" # as a dictionary, e.g.: `return {'some_arg': 42}`\n",
|
||||||
" return {}\n",
|
" return {}\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
" @property\n",
|
||||||
" def tool_invoke_params_example(self) -> dict:\n",
|
" def tool_invoke_params_example(self) -> dict:\n",
|
||||||
" \"\"\"\n",
|
" \"\"\"\n",
|
||||||
" Returns a dictionary representing the \"args\" of an example tool call.\n",
|
" Returns a dictionary representing the \"args\" of an example tool call.\n",
|
||||||
@ -356,12 +362,14 @@
|
|||||||
" def tool_constructor(self) -> Type[ParrotMultiplyTool]:\n",
|
" def tool_constructor(self) -> Type[ParrotMultiplyTool]:\n",
|
||||||
" return ParrotMultiplyTool\n",
|
" return ParrotMultiplyTool\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
" @property\n",
|
||||||
" def tool_constructor_params(self) -> dict:\n",
|
" def tool_constructor_params(self) -> dict:\n",
|
||||||
" # if your tool constructor instead required initialization arguments like\n",
|
" # if your tool constructor instead required initialization arguments like\n",
|
||||||
" # `def __init__(self, some_arg: int):`, you would return those here\n",
|
" # `def __init__(self, some_arg: int):`, you would return those here\n",
|
||||||
" # as a dictionary, e.g.: `return {'some_arg': 42}`\n",
|
" # as a dictionary, e.g.: `return {'some_arg': 42}`\n",
|
||||||
" return {}\n",
|
" return {}\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
" @property\n",
|
||||||
" def tool_invoke_params_example(self) -> dict:\n",
|
" def tool_invoke_params_example(self) -> dict:\n",
|
||||||
" \"\"\"\n",
|
" \"\"\"\n",
|
||||||
" Returns a dictionary representing the \"args\" of an example tool call.\n",
|
" Returns a dictionary representing the \"args\" of an example tool call.\n",
|
||||||
|
@ -13,7 +13,7 @@ from langchain_tests.base import BaseStandardTests
|
|||||||
class ToolsTests(BaseStandardTests):
|
class ToolsTests(BaseStandardTests):
|
||||||
@property
|
@property
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def tool_constructor(self) -> Union[Type[BaseTool], Callable]: ...
|
def tool_constructor(self) -> Union[Type[BaseTool], Callable, BaseTool]: ...
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def tool_constructor_params(self) -> dict:
|
def tool_constructor_params(self) -> dict:
|
||||||
@ -31,6 +31,14 @@ class ToolsTests(BaseStandardTests):
|
|||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def tool(self) -> BaseTool:
|
def tool(self) -> BaseTool:
|
||||||
|
if isinstance(self.tool_constructor, BaseTool):
|
||||||
|
if self.tool_constructor_params != {}:
|
||||||
|
msg = (
|
||||||
|
"If tool_constructor is an instance of BaseTool, "
|
||||||
|
"tool_constructor_params must be empty"
|
||||||
|
)
|
||||||
|
raise ValueError(msg)
|
||||||
|
return self.tool_constructor
|
||||||
return self.tool_constructor(**self.tool_constructor_params)
|
return self.tool_constructor(**self.tool_constructor_params)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user