Components
Last updated
Last updated
A component is a single building block within a flow with inputs, outputs, functions, and parameters that define its functionality. A single component is like a class within a larger application.
To add a component to a flow, drag it from the Component menu to the Workspace.
Learn more about components and how they work on this page.
Each component is unique, but all have a menu bar at the top that looks something like the following:
Use the component controls to do the following:
Controls — Adjust all component parameters.
Freeze — After a component runs, lock its previous output state to prevent it from re-running.
Click All to see additional options for a component.
To view a component’s output and logs, click the icon in output connection.
To run a single component, click Play.
A Checkmark indicates that the component ran successfully.
Handles () on the side of a component indicate the types of inputs and outputs that can be connected at that port. Hover over a handle to see connection details.
The following table lists the handle colors and their corresponding data types:
BaseLanguageModel
Fuchsia
Data
Red
Document
Lime
Embeddings
Emerald
LanguageModel
Fuchsia
Message
Indigo
Prompt
Violet
str
Indigo
Text
Indigo
unknown
Gray
A component inherits from a base Component
class that defines its interface and behavior.
Components include definitions for inputs and outputs, which are represented in the UI with color-coded ports.
Input Definition: Each input (like IntInput
or DataInput
) specifies an input's type, name, and display properties, which appear as configurable fields in the component's UI panel.
Methods: Components have methods or functions that handle their functionality. This component has two methods. get_data_input
retrieves the text data to be split from the component's input. This makes the data available to the class. build_text_splitter
creates a RecursiveCharacterTextSplitter
object by calling its parent class's build
method. The text is split with the created splitter and passed to the next component. When used in a flow, this component:
Displays its configuration options in the UI.
Validates user inputs based on the input types.
Processes data using the configured parameters.
Passes results to the next component.
After a component runs, Freeze locks the component's previous output state to prevent it from re-running.
If you’re expecting consistent output from a component and don’t need to re-run it, click Freeze.
Enabling Freeze freezes all components upstream of the selected component.
Click All to see additional options for a component.
To modify a component's name or description, double-click in the Name or Description fields. Component descriptions accept Markdown syntax.
The following keyboard shortcuts are available when a component is selected.
Advanced Settings
Ctrl + Shift + A
⌘ + Shift + A
Opens advanced settings for the component.
Save Changes
Ctrl + S
⌘ + S
Saves changes to the current flow.
Save Component
Ctrl + Alt + S
⌘ + Alt + S
Saves the current component to Saved components.
Duplicate
Ctrl + D
⌘ + D
Creates a duplicate of the component.
Copy
Ctrl + C
⌘ + C
Copies the selected component.
Cut
Ctrl + X
⌘ + X
Cuts the selected component.
Paste
Ctrl + V
⌘ + V
Pastes the copied/cut component.
Docs
Ctrl + Shift + D
⌘ + Shift + D
Opens related documentation.
Minimize
Ctrl + .
⌘ + .
Minimizes the current component.
Freeze
Ctrl + Shift + F
⌘ + Shift + F
Freezes component state and upstream components.
Download
Ctrl + J
⌘ + J
Downloads the component as JSON.
Delete
Backspace
Backspace
Deletes the component.
Group
Ctrl + G
⌘ + G
Groups selected components.
Undo
Ctrl + Z
⌘ + Z
Undoes the last action.
Redo
Ctrl + Y
⌘ + Y
Redoes the last undone action.
Redo (alternative)
Ctrl + Shift + Z
⌘ + Shift + Z
Alternative shortcut for redo.
Share Component
Ctrl + Shift + S
⌘ + Shift + S
Shares the component.
Share Flow
Ctrl + Shift + B
⌘ + Shift + B
Shares the entire flow.
Toggle Sidebar
Ctrl + B
⌘ + B
Shows/hides the sidebar.
Search Components
/
/
Focuses the component search bar.
Tool Mode
Ctrl + Shift + M
⌘ + Shift + M
Toggles tool mode.
Update
Ctrl + U
⌘ + U
Updates the component.
Open Playground
Ctrl + K
⌘ + K
Opens the playground.
Output Inspection
O
O
Opens output inspection.
Play
P
P
Plays/executes the flow.
API
R
R
Opens the API view.
Multiple components can be grouped into a single component for reuse. This is useful when combining large flows into single components, for example RAG with a vector database, and saving space.
Hold Shift and drag to select components.
Select Group. The components merge into a single component.
Double-click the name and description to change them.
Save your grouped component to the sidebar for later use.
A component's initial state is stored in a database. As soon as you drag a component from the sidebar to the workspace, the two components are no longer in parity.
BroxiAI notifies you when a component's workspace version is behind the database version and an update is available. Click the Update Component icon to update the component to the latest
version. This will change the code of the component in place so you can validate that the component was updated by checking its Python code before and after updating it.
Components are listed in the sidebar by component type.
Classic components are still being tested and are not suitable for production workloads.
Exp components are available to use but no longer supported.