Flow components (nodes)
Flow Components are the building blocks used within Waterflai's flow builder to create AI-powered applications. Each component (node) serves a specific purpose and can be connected to form complex data processing and AI interaction flows.
Data Types
Before diving into specific components, it's important to understand the core data types used throughout the flows:
Basic Types
string
: Text valuesnumber
: Numeric valuesboolean
: True/false valuesobject
: JavaScript/JSON objectsany
: Any type of value
Array Types
string[]
: Array of text valuesnumber[]
: Array of numeric valuesboolean[]
: Array of boolean valuesobject[]
: Array of objectsany[]
: Array of any values
Special Types
Document
: Represents a text document with metadataDocument[]
: Array of documentsChatMessage[]
: Array of chat messages
Where ChatMessageContent (used mainly in multimodal cases) correspond to:
Tool
: Represents a tool that can be used by an agent
Component Structure
Each component in a flow has:
Input ports: Accept incoming connections
Output ports: Provide data to other nodes
Configuration panel: Settings and parameters
Documentation: Usage guidelines and examples
Best Practices
Flow Design
Keep flows modular and focused
Use meaningful node names (they should be unique when linked to a given other node, to allow variable reference)
Document complex configurations
Test flows incrementally
Data Management
Validate input data
Consider data volume
Performance
Optimize node configurations
Use appropriate batch sizes
Monitor execution times
Common Issues
Type mismatches between nodes
Memory limitations
Configuration errors
Connection issues
Resource constraints
Each component's detailed documentation provides specific configuration options, examples, and best practices for that particular node type.
Last updated