工具集成测试#

class langchain_tests.integration_tests.tools.ToolsIntegrationTests[源代码]#

工具集成测试的基类。

属性

tool_constructor

返回要测试的工具的类或实例。

tool_constructor_params

返回一个传递给工具构造函数的参数字典。

tool_invoke_params_example

返回一个表示示例工具调用的“args”的字典。

方法

test_async_invoke_matches_output_schema(tool)

如果使用ToolCall调用,工具应返回有效的ToolMessage内容。

test_async_invoke_no_tool_call(tool)

如果没有ToolCall调用,工具可以返回任何内容,但不应抛出错误

test_invoke_matches_output_schema(tool)

如果使用 ToolCall 调用,工具应返回有效的 ToolMessage 内容。

test_invoke_no_tool_call(tool)

如果没有ToolCall调用,工具可以返回任何内容,但不应抛出错误

async test_async_invoke_matches_output_schema(tool: BaseTool) None[source]#

如果使用ToolCall调用,工具应返回有效的ToolMessage内容。

有关调试提示,请参见 test_invoke_matches_output_schema()

Parameters:

工具 (BaseTool)

Return type:

async test_async_invoke_no_tool_call(tool: BaseTool) None[source]#

如果没有ToolCall调用,工具可以返回任何内容,但不应该抛出错误

有关调试提示,请参见test_invoke_no_tool_call()

Parameters:

工具 (BaseTool)

Return type:

test_invoke_matches_output_schema(tool: BaseTool) None[source]#

如果使用ToolCall调用,工具应返回有效的ToolMessage内容。

如果您已经遵循了自定义工具指南, 这个测试应该总是通过,因为ToolCall的输入是由 langchain_core.tools.BaseTool 类处理的。

如果您没有遵循本指南,您应确保您的工具的invoke方法在接收到表示ToolCall的字典作为输入时(而不是单独的参数),返回有效的ToolMessage内容。

Parameters:

工具 (BaseTool)

Return type:

test_invoke_no_tool_call(tool: BaseTool) None[source]#

如果没有ToolCall调用,工具可以返回任何内容,但不应该抛出错误

如果此测试失败,您的工具可能没有正确处理您在tool_invoke_params_example中定义的输入,并且正在抛出错误。

此测试没有任何检查。它只是确保在使用kwargs字典调用工具时不会抛出错误。

Parameters:

工具 (BaseTool)

Return type: