Re-Permit Partials in Tool (#4058)

Resolved issue #4053

Now that StructuredTool is a separate class, this constraint is no
longer needed.

Added/updated a unit test
This commit is contained in:
Zander Chase
2023-05-03 13:16:41 -07:00
committed by GitHub
parent 7e967aa4d5
commit afa9d1292b
2 changed files with 6 additions and 18 deletions

View File

@@ -4,7 +4,6 @@ from functools import partial
from typing import Any, Optional, Type, Union
from unittest.mock import MagicMock
import pydantic
import pytest
from pydantic import BaseModel
@@ -252,14 +251,12 @@ def test_tool_partial_function_args_schema() -> None:
def func(tool_input: str, other_arg: str) -> str:
return tool_input + other_arg
with pytest.raises(pydantic.error_wrappers.ValidationError):
# We don't yet support args_schema inference for partial functions
# so want to make sure we proactively raise an error
Tool(
name="tool",
description="A tool",
func=partial(func, other_arg="foo"),
)
tool = Tool(
name="tool",
description="A tool",
func=partial(func, other_arg="foo"),
)
assert tool.run("bar") == "barfoo"
def test_empty_args_decorator() -> None: