fix: component-set-handle-list-tools (#4465)
update component.py I added a StructuredTool to define the set function in the component. This change resolved an error that occurred when the list of tools was set by the component. In the future, we may need to add tests to manage unexpected situations in the component's set function. I also updated the pytest.
This commit is contained in:
parent
1e4594ad43
commit
0bf7dda009
2 changed files with 3 additions and 2 deletions
|
|
@ -10,6 +10,7 @@ from typing import TYPE_CHECKING, Any, ClassVar, get_type_hints
|
|||
|
||||
import nanoid
|
||||
import yaml
|
||||
from langchain_core.tools import StructuredTool
|
||||
from pydantic import BaseModel, ValidationError
|
||||
|
||||
from langflow.base.tools.constants import TOOL_OUTPUT_DISPLAY_NAME, TOOL_OUTPUT_NAME
|
||||
|
|
@ -494,7 +495,7 @@ class Component(CustomComponent):
|
|||
# if value is a list of components, we need to process each component
|
||||
# Note this update make sure it is not a list str | int | float | bool | type(None)
|
||||
if isinstance(value, list) and not any(
|
||||
isinstance(val, str | int | float | bool | type(None) | Message | Data) for val in value
|
||||
isinstance(val, str | int | float | bool | type(None) | Message | Data | StructuredTool) for val in value
|
||||
):
|
||||
for val in value:
|
||||
self._process_connection_or_parameter(key, val)
|
||||
|
|
|
|||
|
|
@ -24,5 +24,5 @@ async def test_agent_component_with_calculator():
|
|||
temperature=temperature,
|
||||
)
|
||||
|
||||
response = await agent.get_response()
|
||||
response = await agent.message_response()
|
||||
assert "4" in response.data.get("text")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue