Inputs/Outputs
Allow your workflow to accept and output data
Last updated
Allow your workflow to accept and output data
Last updated
While not required, the Input and Output nodes are usually the start and end points of a Pipeline. They can be found within the "General" section of the Pipeline builder, and they will be shown on the "Run Pipeline" screen whenever a user runs a Pipeline (either when you run as a form through the "Pipelines" tab or when you "Run" within the pipeline builder).
Input and Output nodes have two fields:
Name: The name of the input that appears on the "Run" screen when a user runs a Pipeline. Names must start with a letter or underscore, and they can only contain letters, numbers, and underscores throughout.
Type: The data type that the node expects to receive. You can find more details about node types in the Input Nodes and Output Nodes sections on this page.
Input nodes allow users to pass text or files to their Pipelines at the start of every run. Anything that a user writes/uploads to these inputs will then be sent to the nodes connected to the Input in the Pipeline. You can also expose the input node to end users via a Chat or Search interface.
Input nodes can be connected to as many downstream nodes as desired, and they can be the following types:
Text: Input nodes with a type of Text will appear on the "Run" screen as editable text boxes. Users will be able to enter text directly into these fields, and they will be passed to any connected node.
File: Input nodes with a type of File will appear on the "Run Pipeline" screen as a field that lets users select existing files they uploaded to their Files tab while also being able to upload new files using the "Upload" button.
The most common nodes that input nodes are connected to are 1) LLMs (to the prompt) and 2) Knowledge Base Reader / Semantic Search (to retrieve information).
Note: Input nodes with a type of File will pass along raw files to their downstream nodes. To convert the data to text, check off the "Process Files into Text" checkbox. This is useful because many nodes (e.g., LLMs or semantic search) accept data of type "Text" and not "File".
Output nodes accept a result from a previous node in the Pipeline. Output nodes can only receive a result from a single node, so if you want to accept results from multiple nodes, you should use multiple Output nodes.
Output nodes can be the following types:
Text: Output nodes with a type of Text will display their output as text on the "Run" screen, so you should ensure that the result that these nodes receive would make sense to show as text. For example, if an Output node receives a raw file, it will either display the raw file or fail to display any result, so make sure to process your non-text results using the appropriate Data Loaders or Transformations before passing them to text output.
Image: Output nodes with a type of Image will display their output as a 2x2 grid of images on the "Run" screen. This output type is intended to be used with Multimodal Image Gen nodes. These images are only displayed once, so make sure to download them using the "Download" button or add a File Save node to your Pipeline to retain the results.
Formatted Text: Uses markdown to format the text (e.g., links, headings, etc.).
Note: another use of the output node is to view intermediary outputs. For more complex LLM chains (e.g., where you chain together multiple LLMs to complete a task), you may want to see how the output changes with each LLM call. You can do this by attaching output nodes to each of the LLM nodes while you are architecting the pipeline and/or workshopping prompts.
You can expose input and output nodes to users by clicking "Deploy" on the top right of the pipeline builder. Currently, we offer chatbot and search interfaces. You will then select which input and output nodes to be utilized within the flow. Note: for both chat and search interfaces, only one input and one output can be selected at a time.