Helper components in NebulaAIFlow
Helper components provide utility functions to help manage data, tasks, and other components in your flow.
Use a helper component in a flow
Chat memory in NebulaAIFlow is stored either in local NebulaAIFlow tables with LCBufferMemory
, or connected to an external database.
The Store Message helper component stores chat memories as Data objects, and the Message History helper component retrieves chat messages as data objects or strings.
This example flow stores and retrieves chat history from an AstraDBChatMemory component with Store Message and Chat Memory components.
Batch Run Component
The Batch Run component runs a language model over each row of a DataFrame text column and returns a new DataFrame with the original text and the model's response.
Inputs
Name | Display Name | Type | Info | Required |
---|---|---|---|---|
model | Language Model | HandleInput | Connect the 'Language Model' output from your LLM component here. | Yes |
system_message | System Message | MultilineInput | Multi-line system instruction for all rows in the DataFrame. | No |
df | DataFrame | DataFrameInput | The DataFrame whose column (specified by 'column_name') will be treated as text messages. | Yes |
column_name | Column Name | StrInput | The name of the DataFrame column to treat as text messages. Default='text'. | Yes |
Outputs
Name | Display Name | Method | Info |
---|---|---|---|
batch_results | Batch Results | run_batch | A DataFrame with two columns: 'text_input' and 'model_response'. |
Current date
The Current Date component returns the current date and time in a selected timezone. This component provides a flexible way to obtain timezone-specific date and time information within a NebulaAIFlow pipeline.
Inputs
Name | Display Name | Info |
---|---|---|
timezone | Timezone | Select the timezone for the current date and time. |
Outputs
Name | Display Name | Info |
---|---|---|
current_date | Current Date | The resulting current date and time in the selected timezone. |
ID Generator
This component generates a unique ID.
Inputs
Name | Display Name | Info |
---|---|---|
unique_id | Value | The generated unique ID. |
Outputs
Name | Display Name | Info |
---|---|---|
id | ID | The generated unique ID. |
Message history
This component retrieves and manages chat messages from NebulaAIFlow tables or an external memory.
Inputs
Name | Display Name | Info |
---|---|---|
memory | External Memory | Retrieve messages from an external memory. If empty, it will use the NebulaAIFlow tables. |
sender | Sender Type | Filter by sender type. |
sender_name | Sender Name | Filter by sender name. |
n_messages | Number of Messages | Number of messages to retrieve. |
session_id | Session ID | The session ID of the chat. If empty, the current session ID parameter will be used. |
order | Order | Order of the messages. |
template | Template | The template to use for formatting the data. It can contain the keys {text} , {sender} or any other key in the message data. |
Outputs
Name | Display Name | Info |
---|---|---|
messages | Messages (Data) | Retrieved messages as Data objects. |
messages_text | Messages (Text) | Retrieved messages formatted as text. |
lc_memory | Memory | A constructed Langchain ConversationBufferMemory object |
Message store
This component stores chat messages or text into NebulaAIFlow tables or an external memory.
It provides flexibility in managing message storage and retrieval within a chat system.
Inputs
Name | Display Name | Info |
---|---|---|
message | Message | The chat message to be stored. (Required) |
memory | External Memory | The external memory to store the message. If empty, it will use the NebulaAIFlow tables. |
sender | Sender | The sender of the message. Can be Machine or User. If empty, the current sender parameter will be used. |
sender_name | Sender Name | The name of the sender. Can be AI or User. If empty, the current sender parameter will be used. |
session_id | Session ID | The session ID of the chat. If empty, the current session ID parameter will be used. |