langflow-ai / langflow

⛓️ Langflow is a visual framework for building multi-agent and RAG applications. It's open-source, Python-powered, fully customizable, model and vector store agnostic.

Home Page:http://www.langflow.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Questions about Run Flow

alex-ge123 opened this issue · comments

runflow calls other processes. How do I get the return value

微信图片_20240619155903

To get the return value from the "getToken" process called by the "Run Flow" component and use it in the "Records Output" component to display records as a table, follow these steps:

  1. Run the Flow: Use the RunFlowComponent to execute the flow and get the results.
  2. Process the Results: Convert the results into records using the build_records_from_result_data method.
  3. Display the Records: Use the processed records in the "Records Output" component to display them as a table.

Here is an example of how you can achieve this:

from langflow.base.flow_processing.utils import build_records_from_run_outputs
from langflow.schema import Record
from langflow.components.experimental.RunFlow import RunFlowComponent
from langflow.custom import CustomComponent

# Assuming you have an instance of RunFlowComponent
run_flow_component = RunFlowComponent()

# Define the input parameters for the flow
input_value = "your_input_value"
flow_name = "your_flow_name"
tweaks = {}  # Any tweaks you want to apply

# Run the flow and get the results
results = await run_flow_component.build(input_value, flow_name, tweaks)

# Process the results to get records
if isinstance(results, list):
    records = []
    for result in results:
        if result:
            records.extend(run_flow_component.build_records_from_result_data(result))
else:
    records = run_flow_component.build_records_from_result_data(results)

# Now you can use these records in the "Records Output" component to display them as a table
class RecordOutput(CustomComponent):
    display_name = "Records Output"
    description = "Display Records as a Table"

    def build_config(self):
        return {
            "input_value": {
                "display_name": "Records",
                "input_types": ["Record"],
                "info": "Record or Record list to be passed as input.",
            },
        }

    def build(self, input_value: Record) -> Record:
        self.status = input_value
        return input_value

# Assuming you have a function to display records as a table
record_output_component = RecordOutput()
record_output_component.build(records)
display_records_as_table(record_output_component.status)

This code snippet demonstrates how to run the flow, process the results into records, and then use those records to display them in a table using the Records Output component [1][2][3].

To continue talking to Dosu, mention @dosu.

Hi @alex-ge123,
Could you please explain it in more detail? I didn't fully understand what you were trying to say.