From 7b5ba8e8f5bee80f5db58172dc6a4024fc7a50c1 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Tue, 5 Nov 2024 12:55:48 -0300 Subject: [PATCH] Revert "fix: Optimize Setting of Output Required Inputs" (#4404) Revert "fix: Optimize Setting of Output Required Inputs (#4389)" This reverts commit 7cc497aa52574101e211992c76283a3f0c05f214. --- .../langflow/components/agents/__init__.py | 2 - .../base/langflow/components/models/openai.py | 5 -- .../custom/custom_component/component.py | 2 - .../custom/custom_component/test_component.py | 49 +++++++------------ 4 files changed, 19 insertions(+), 39 deletions(-) diff --git a/src/backend/base/langflow/components/agents/__init__.py b/src/backend/base/langflow/components/agents/__init__.py index 93c5ac8b3..245c38a97 100644 --- a/src/backend/base/langflow/components/agents/__init__.py +++ b/src/backend/base/langflow/components/agents/__init__.py @@ -1,4 +1,3 @@ -from .agent import AgentComponent from .crewai import CrewAIAgentComponent from .csv import CSVAgentComponent from .hierarchical_crew import HierarchicalCrewComponent @@ -27,5 +26,4 @@ __all__ = [ "VectorStoreAgentComponent", "VectorStoreRouterAgentComponent", "XMLAgentComponent", - "AgentComponent", ] diff --git a/src/backend/base/langflow/components/models/openai.py b/src/backend/base/langflow/components/models/openai.py index d35f54dea..f4a8be80f 100644 --- a/src/backend/base/langflow/components/models/openai.py +++ b/src/backend/base/langflow/components/models/openai.py @@ -10,7 +10,6 @@ from langflow.field_typing import LanguageModel from langflow.field_typing.range_spec import RangeSpec from langflow.inputs import BoolInput, DictInput, DropdownInput, FloatInput, IntInput, SecretStrInput, StrInput from langflow.inputs.inputs import HandleInput -from langflow.io import Output class OpenAIModelComponent(LCModelComponent): @@ -82,10 +81,6 @@ class OpenAIModelComponent(LCModelComponent): input_types=["OutputParser"], ), ] - outputs = [ - Output(display_name="Text", name="text_output", method="text_response"), - Output(display_name="Language Model", name="model_output", method="build_model"), - ] def build_model(self) -> LanguageModel: # type: ignore[type-var] # self.output_schema is a list of dictionaries diff --git a/src/backend/base/langflow/custom/custom_component/component.py b/src/backend/base/langflow/custom/custom_component/component.py index c783079c7..8f6e2e9ea 100644 --- a/src/backend/base/langflow/custom/custom_component/component.py +++ b/src/backend/base/langflow/custom/custom_component/component.py @@ -369,8 +369,6 @@ class Component(CustomComponent): def _set_output_required_inputs(self) -> None: for output in self.outputs: - if output.required_inputs: - continue if not output.method: continue method = getattr(self, output.method, None) diff --git a/src/backend/tests/unit/custom/custom_component/test_component.py b/src/backend/tests/unit/custom/custom_component/test_component.py index 9827cc83e..4c03f827e 100644 --- a/src/backend/tests/unit/custom/custom_component/test_component.py +++ b/src/backend/tests/unit/custom/custom_component/test_component.py @@ -1,5 +1,5 @@ import pytest -from langflow.components.agents import AgentComponent, CrewAIAgentComponent, ToolCallingAgentComponent +from langflow.components.agents import CrewAIAgentComponent, ToolCallingAgentComponent from langflow.components.helpers import SequentialTaskComponent from langflow.components.inputs import ChatInput from langflow.components.models import OpenAIModelComponent @@ -32,44 +32,33 @@ def _assert_all_outputs_have_different_required_inputs(outputs: list[Output]): return True -def test_set_required_inputs_chat_input(): +def test_set_required_inputs(): chatinput = ChatInput() + assert all(_output_required_inputs_are_in_inputs(output, chatinput._inputs) for output in chatinput.outputs) assert _assert_all_outputs_have_different_required_inputs(chatinput.outputs) -def test_set_required_inputs_chat_output(): +def test_set_required_inputs_various_components(): + chatinput = ChatInput() chatoutput = ChatOutput() - assert all(_output_required_inputs_are_in_inputs(output, chatoutput._inputs) for output in chatoutput.outputs) - assert _assert_all_outputs_have_different_required_inputs(chatoutput.outputs) - - -def test_set_required_inputs_openai_component(): + task = SequentialTaskComponent() + tool_calling_agent = ToolCallingAgentComponent() openai_component = OpenAIModelComponent() + + assert all(_output_required_inputs_are_in_inputs(output, chatinput._inputs) for output in chatinput.outputs) + assert all(_output_required_inputs_are_in_inputs(output, chatoutput._inputs) for output in chatoutput.outputs) + assert all(_output_required_inputs_are_in_inputs(output, task._inputs) for output in task.outputs) + assert all( + _output_required_inputs_are_in_inputs(output, tool_calling_agent._inputs) + for output in tool_calling_agent.outputs + ) assert all( _output_required_inputs_are_in_inputs(output, openai_component._inputs) for output in openai_component.outputs ) - assert _assert_all_outputs_have_different_required_inputs(openai_component.outputs) - -def test_set_required_inputs_tool_calling_agent_component(): - tool_calling_agent_component = ToolCallingAgentComponent() - assert all( - _output_required_inputs_are_in_inputs(output, tool_calling_agent_component._inputs) - for output in tool_calling_agent_component.outputs - ) - assert _assert_all_outputs_have_different_required_inputs(tool_calling_agent_component.outputs) - - -def test_set_required_inputs_agent_component(): - agent_component = AgentComponent() - assert all( - _output_required_inputs_are_in_inputs(output, agent_component._inputs) for output in agent_component.outputs - ) - assert _assert_all_outputs_have_different_required_inputs(agent_component.outputs) - - -def test_set_required_inputs_sequential_task_component(): - task = SequentialTaskComponent() - assert all(_output_required_inputs_are_in_inputs(output, task._inputs) for output in task.outputs) + assert _assert_all_outputs_have_different_required_inputs(chatinput.outputs) + assert _assert_all_outputs_have_different_required_inputs(chatoutput.outputs) assert _assert_all_outputs_have_different_required_inputs(task.outputs) + assert _assert_all_outputs_have_different_required_inputs(tool_calling_agent.outputs) + assert _assert_all_outputs_have_different_required_inputs(openai_component.outputs)