Skip to content

Commit

Permalink
fix: component-set-handle-list-tools (#4465)
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
edwinjosechittilappilly authored Nov 8, 2024
1 parent 1e4594a commit 0bf7dda
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

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
Expand Down Expand Up @@ -494,7 +495,7 @@ def _process_connection_or_parameters(self, key, value) -> None:
# 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)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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")

0 comments on commit 0bf7dda

Please sign in to comment.