diff --git a/docs/docs/Components/components-data.mdx b/docs/docs/Components/components-data.mdx
index 41b8942ca..fb24e8d86 100644
--- a/docs/docs/Components/components-data.mdx
+++ b/docs/docs/Components/components-data.mdx
@@ -13,7 +13,7 @@ They may perform some processing or type checking, like converting raw HTML data
## Use data components in a flow
-Components like [News search](#news-search), [RSS reader](#rss-reader), and [Web search](#web-search) all fetch data into Langflow, and connect to Langflow in the same way. They can output the retrieved data in [DataFrame](/concepts-objects#dataframe-object) format, or can be connected to an **Agent** component to be used as tools.
+Components like [News search](#news-search), [RSS reader](#rss-reader), and [Web search](#web-search) all fetch data into Langflow, and connect to Langflow in the same way. They can output the retrieved data in [DataFrame](/data-types#dataframe) format, or can be connected to an **Agent** component to be used as tools.
For example, to connect all three components to an Agent component, do the following:
@@ -110,7 +110,7 @@ This component recursively loads files from a directory, with options for file t
## File
-This component loads and parses files of various supported formats and converts the content into a [Data](/concepts-objects) object. It supports multiple file types and provides options for parallel processing and error handling.
+This component loads and parses files of various supported formats and converts the content into a [Data](/data-types#data) object. It supports multiple file types and provides options for parallel processing and error handling.
To load a document, follow these steps:
@@ -147,13 +147,13 @@ For more information, expand the following **Parameters** section, and then revi
The outputs change dynamically based on the number and type of files selected.
If a single file is selected:
-- **Structured Content** [DataFrame](/concepts-objects#dataframe-object): If a CSV or Excel file is selected, the component outputs tabular data.
-- **Structured Content** [Data](/concepts-objects#data-object): If a JSON file is selected, the component outputs parsed JSON data.
-- **Raw Content** [Message](/concepts-objects#message-object): Outputs the file's raw text content.
-- **File Path** [Message](/concepts-objects#message-object): Outputs the path to the file on the Langflow server.
+- **Structured Content** [DataFrame](/data-types#dataframe): If a CSV or Excel file is selected, the component outputs tabular data.
+- **Structured Content** [Data](/data-types#data): If a JSON file is selected, the component outputs parsed JSON data.
+- **Raw Content** [Message](/data-types#message): Outputs the file's raw text content.
+- **File Path** [Message](/data-types#message): Outputs the path to the file on the Langflow server.
If multiple files are selected:
-- **Files** [DataFrame](/concepts-objects#dataframe-object): A table containing the content and metadata of all selected files.
+- **Files** [DataFrame](/data-types#dataframe): A table containing the content and metadata of all selected files.
If no files are selected:
- No outputs are displayed.
@@ -329,7 +329,7 @@ It seems there are duplicate entries for the users.
## Web search
-This component performs web searches using DuckDuckGo's HTML interface, and returns the search results as a [DataFrame](/concepts-objects#dataframe-object) containing the key columns `title`, `links`, and `snippets`. The component can also be used in **Tool Mode** with a connected **Agent**.
+This component performs web searches using DuckDuckGo's HTML interface, and returns the search results as a [DataFrame](/data-types#dataframe) containing the key columns `title`, `links`, and `snippets`. The component can also be used in **Tool Mode** with a connected **Agent**.
To use this component in a flow, do the following:
@@ -420,9 +420,9 @@ The text contents of the URL are returned as unstructured raw text, which you ca
| Name | Display Name | Info |
|------|--------------|------|
-| data | Data | A list of [Data](/concepts-objects) objects containing fetched content and metadata. |
+| data | Data | A list of [Data](/data-types#data) objects containing fetched content and metadata. |
| text | Message | The fetched content as formatted text. |
-| dataframe | DataFrame | The content formatted as a [DataFrame](/concepts-objects#dataframe-object) object. |
+| dataframe | DataFrame | The content formatted as a [DataFrame](/data-types#dataframe) object. |
@@ -476,7 +476,7 @@ For more information, see [Trigger flows with webhooks](/webhook).
| Name | Display Name | Description |
|------|--------------|-------------|
-| output_data | Data | Outputs processed data from the webhook input, and returns an empty [Data](/concepts-objects) object if no input is provided. If the input is not valid JSON, the component wraps it in a `payload` object. |
+| output_data | Data | Outputs processed data from the webhook input, and returns an empty [Data](/data-types#data) object if no input is provided. If the input is not valid JSON, the component wraps it in a `payload` object. |
diff --git a/docs/docs/Components/components-io.mdx b/docs/docs/Components/components-io.mdx
index 69a3120e5..0628ed583 100644
--- a/docs/docs/Components/components-io.mdx
+++ b/docs/docs/Components/components-io.mdx
@@ -19,7 +19,7 @@ The **Chat Input** component provides an interactive chat interface in the **Pla
## Chat Input
-This component collects user input as `Text` strings from the chat and wraps it in a [Message](/concepts-objects#message-object) object that includes the input text, sender information, session ID, file attachments, and styling properties.
+This component collects user input as `Text` strings from the chat and wraps it in a [Message](/data-types#message) object that includes the input text, sender information, session ID, file attachments, and styling properties.
It can optionally store the message in a chat history.
@@ -93,12 +93,12 @@ The output does not appear in the **Playground**.
## Chat Output
-The **Chat Output** component creates a [Message](/concepts-objects#message-object) object that includes the input text, sender information, session ID, and styling properties.
+The **Chat Output** component creates a [Message](/data-types#message) object that includes the input text, sender information, session ID, and styling properties.
The component accepts the following input types.
-* [Data](/concepts-objects#data-object)
-* [DataFrame](/concepts-objects#dataframe-object)
-* [Message](/concepts-objects#message-object)
+* [Data](/data-types#data)
+* [DataFrame](/data-types#dataframe)
+* [Message](/data-types#message)
Parameters
@@ -128,7 +128,7 @@ The component accepts the following input types.
## Text Output
-The **Text Output** takes a single input of text and returns a [Message](/concepts-objects#message-object) object containing that text.
+The **Text Output** takes a single input of text and returns a [Message](/data-types#message) object containing that text.
The output does not appear in the **Playground**.
@@ -151,7 +151,7 @@ The output does not appear in the **Playground**.
## Chat components example flow
-1. To use the **Chat Input** and **Chat Output** components in a flow, connect them to components that accept or send the [Message](/concepts-objects#message-object) type.
+1. To use the **Chat Input** and **Chat Output** components in a flow, connect them to components that accept or send the [Message](/data-types#message) type.
For this example, connect a **Chat Input** component to an **OpenAI** model component's **Input** port, and then connect the **OpenAI** model component's **Message** port to the **Chat Output** component.
diff --git a/docs/docs/Components/components-logic.mdx b/docs/docs/Components/components-logic.mdx
index 6e43013f5..df2dac3b6 100644
--- a/docs/docs/Components/components-logic.mdx
+++ b/docs/docs/Components/components-logic.mdx
@@ -99,7 +99,7 @@ All options respect the `case_sensitive` setting except **regex**.
For another **Loop** component example, see the **Research Translation Loop** template.
:::
-This component iterates over a list of [Data](/concepts-objects#data-object) objects, outputting one item at a time and aggregating results from loop inputs.
+This component iterates over a list of [Data](/data-types#data) objects, outputting one item at a time and aggregating results from loop inputs.
In this example, the **Loop** component iterates over a CSV file through the **Item** port until there are no rows left to process. Then, the **Loop** component performs the actions connected to the **Done** port, which in this case is loading the structured data into **Chroma DB**.
diff --git a/docs/docs/Components/components-memories.mdx b/docs/docs/Components/components-memories.mdx
index 0a90689b3..44cdcb015 100644
--- a/docs/docs/Components/components-memories.mdx
+++ b/docs/docs/Components/components-memories.mdx
@@ -21,7 +21,7 @@ Memory components provide access to their respective external databases **as mem
This example flow stores and retrieves chat history with an **Redis Chat Memory** component connected to **Store Message** and **Message history** components.
-The **Store Message** helper component stores chat memories as [Data](/concepts-objects) objects, and the **Message History** helper component retrieves chat messages as [Data](/concepts-objects) objects or strings.
+The **Store Message** helper component stores chat memories as [Data](/data-types#data) objects, and the **Message History** helper component retrieves chat messages as [Data](/data-types#data) objects or strings.

diff --git a/docs/docs/Components/components-processing.mdx b/docs/docs/Components/components-processing.mdx
index 991c0c03e..051d6810a 100644
--- a/docs/docs/Components/components-processing.mdx
+++ b/docs/docs/Components/components-processing.mdx
@@ -9,7 +9,7 @@ Processing components process and transform data within a flow, like converting
## Batch Run
-The **Batch Run** component runs a language model over **each row** of a [DataFrame](/concepts-objects#dataframe-object) text column and returns a new DataFrame with the original text and an LLM response.
+The **Batch Run** component runs a language model over **each row** of a [DataFrame](/data-types#dataframe) text column and returns a new DataFrame with the original text and an LLM response.
The response contains the following columns:
@@ -64,10 +64,10 @@ record_number: {batch_index}, name: {text_input}, summary: {model_response}
## Data operations
-This component performs operations on [Data](/concepts-objects#data-object) objects, including selecting keys, evaluating literals, combining data, filtering values, appending/updating data, removing keys, and renaming keys.
+This component performs operations on [Data](/data-types#data) objects, including selecting keys, evaluating literals, combining data, filtering values, appending/updating data, removing keys, and renaming keys.
-1. To use this component in a flow, connect a component that outputs [Data](/concepts-objects#data-object) to the **Data Operations** component's input.
-All operations in the component require at least one [Data](/concepts-objects#data-object) input.
+1. To use this component in a flow, connect a component that outputs [Data](/data-types#data) to the **Data Operations** component's input.
+All operations in the component require at least one [Data](/data-types#data) input.
2. In the **Operations** field, select the operation you want to perform.
For example, send this request to the **Webhook** component.
Replace `FLOW_ID` and `LANGFLOW_API_KEY` with the values from your deployment.
@@ -115,7 +115,7 @@ To add additional keys, click **Add more
### Operations
The component supports the following operations.
-All operations in the **Data operations** component require at least one [Data](/concepts-objects#data-object) input.
+All operations in the **Data operations** component require at least one [Data](/data-types#data) input.
| Operation | Required Inputs | Info |
|-----------|----------------|-------------|
@@ -134,7 +134,7 @@ All operations in the **Data operations** component require at least one [Data](
| Name | Display Name | Info |
|------|--------------|------|
-| data | Data | The [Data](/concepts-objects#data-object) object to operate on. |
+| data | Data | The [Data](/data-types#data) object to operate on. |
| operations | Operations | The operation to perform on the data. |
| select_keys_input | Select Keys | A list of keys to select from the data. |
| filter_key | Filter Key | The key to filter by. |
@@ -156,7 +156,7 @@ All operations in the **Data operations** component require at least one [Data](
This component performs operations on [DataFrame](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html) rows and columns.
-To use this component in a flow, connect a component that outputs [DataFrame](/concepts-objects#dataframe-object) to the **DataFrame Operations** component.
+To use this component in a flow, connect a component that outputs [DataFrame](/data-types#dataframe) to the **DataFrame Operations** component.
This example fetches JSON data from an API. The **Smart Filter** component extracts and flattens the results into a tabular DataFrame. The **DataFrame Operations** component can then work with the retrieved data.
@@ -357,7 +357,7 @@ For an additional example of using the **Parser** component to format a DataFram
| Name | Display Name | Info |
|------|--------------|------|
-| parsed_text | Parsed Text | The resulting formatted text as a [Message](/concepts-objects#message-object) object. |
+| parsed_text | Parsed Text | The resulting formatted text as a [Message](/data-types#message) object. |
@@ -447,9 +447,9 @@ If you don't include the package imports in the chat, the Agent can still create
## Save file
-This component saves [DataFrames, Data, or Messages](/concepts-objects) to various file formats.
+This component saves [DataFrames, Data, or Messages](/data-types#data) to various file formats.
-1. To use this component in a flow, connect a component that outputs [DataFrames, Data, or Messages](/concepts-objects) to the **Save to File** component's input.
+1. To use this component in a flow, connect a component that outputs [DataFrames, Data, or Messages](/data-types#data) to the **Save to File** component's input.
The following example connects a **Webhook** component to two **Save to File** components to demonstrate the different outputs.

@@ -562,8 +562,8 @@ The connected LLM creates a filter based on the instructions, and successfully e
| Name | Display Name | Info |
|------|--------------|------|
-| filtered_data | Filtered Data | The filtered or transformed [Data object](/concepts-objects#data-object). |
-| dataframe | DataFrame | The filtered data as a [DataFrame](/concepts-objects#dataframe-object). |
+| filtered_data | Filtered Data | The filtered or transformed [Data object](/data-types#data). |
+| dataframe | DataFrame | The filtered data as a [DataFrame](/data-types#dataframe). |
@@ -575,7 +575,7 @@ The **Split Text** component outputs **Chunks** or **DataFrame**.
The **Chunks** output returns a list of individual text chunks.
The **DataFrame** output returns a structured data format, with additional `text` and `metadata` columns applied.
-1. To use this component in a flow, connect a component that outputs [Data or DataFrame](/concepts-objects) to the **Split Text** component's **Data** port.
+1. To use this component in a flow, connect a component that outputs [Data or DataFrame](/data-types#data) to the **Split Text** component's **Data** port.
This example uses the **URL** component, which is fetching JSON placeholder data.

@@ -625,7 +625,7 @@ Third chunk: "s of Artificial Intelligence and its applications"
| Name | Display Name | Info |
|------|--------------|------|
-| data_inputs | Input Documents | The data to split. The component accepts [Data](/concepts-objects#data-object) or [DataFrame](/concepts-objects#dataframe-object) objects. |
+| data_inputs | Input Documents | The data to split. The component accepts [Data](/data-types#data) or [DataFrame](/data-types#dataframe) objects. |
| chunk_overlap | Chunk Overlap | The number of characters to overlap between chunks. Default: `200`. |
| chunk_size | Chunk Size | The maximum number of characters in each chunk. Default: `1000`. |
| separator | Separator | The character to split on. Default: `newline`. |
@@ -635,8 +635,8 @@ Third chunk: "s of Artificial Intelligence and its applications"
| Name | Display Name | Info |
|------|--------------|------|
-| chunks | Chunks | A list of split text chunks as [Data](/concepts-objects#data-object) objects. |
-| dataframe | DataFrame | A list of split text chunks as [DataFrame](/concepts-objects#dataframe-object) objects. |
+| chunks | Chunks | A list of split text chunks as [Data](/data-types#data) objects. |
+| dataframe | DataFrame | A list of split text chunks as [DataFrame](/data-types#dataframe) objects. |
@@ -686,7 +686,7 @@ For example, the template `EBITDA: {EBITDA} , Net Income: {NET_INCOME} , GROSS
## Type convert
-This component converts data types between different formats. It can transform data between [Data](/concepts-objects#data-object), [DataFrame](/concepts-objects#dataframe-object), and [Message](/concepts-objects#message-object) objects.
+This component converts data types between different formats. It can transform data between [Data](/data-types#data), [DataFrame](/data-types#dataframe), and [Message](/data-types#message) objects.
* **Data**: A structured object that contains both text and metadata.
```json
@@ -772,7 +772,7 @@ This component is in **Legacy**, which means it is available for use but no long
Instead, use the [Data operations](#data-operations) component.
:::
-This component modifies metadata of input objects. It can add new metadata, update existing metadata, and remove specified metadata fields. The component works with both [Message](/concepts-objects#message-object) and [Data](/concepts-objects#data-object) objects, and can also create a new Data object from user-provided text.
+This component modifies metadata of input objects. It can add new metadata, update existing metadata, and remove specified metadata fields. The component works with both [Message](/data-types#message) and [Data](/data-types#data) objects, and can also create a new Data object from user-provided text.
Parameters
@@ -782,7 +782,7 @@ This component modifies metadata of input objects. It can add new metadata, upda
| Name | Display Name | Info |
|------|--------------|------|
| input_value | Input | Objects to which Metadata should be added. |
-| text_in | User Text | Text input; the value is contained in the 'text' attribute of the [Data](/concepts-objects#data-object) object. Empty text entries are ignored. |
+| text_in | User Text | Text input; the value is contained in the 'text' attribute of the [Data](/data-types#data) object. Empty text entries are ignored. |
| metadata | Metadata | Metadata to add to each object. |
| remove_fields | Fields to Remove | Metadata fields to remove. |
@@ -801,7 +801,7 @@ This component is in **Legacy**, which means it is available for use but no long
Prior to Langflow version 1.1.3, this component was named **Merge Data**.
:::
-This component combines multiple data sources into a single unified [Data](/concepts-objects#data-object) object.
+This component combines multiple data sources into a single unified [Data](/data-types#data) object.
The component iterates through the input list of data objects, merging them into a single data object. If the input list is empty, it returns an empty data object. If there's only one input data object, it returns that object unchanged. The merging process uses the addition operator to combine data objects.
@@ -818,7 +818,7 @@ The component iterates through the input list of data objects, merging them into
| Name | Display Name | Info |
|------|--------------|------|
-| merged_data | Merged Data | A single [Data](/concepts-objects#data-object) object containing the combined information from all input data objects. |
+| merged_data | Merged Data | A single [Data](/data-types#data) object containing the combined information from all input data objects. |
@@ -831,7 +831,7 @@ This component is in **Legacy**, which means it is available for use but no long
This component concatenates two text sources into a single text chunk using a specified delimiter.
-1. To use this component in a flow, connect two components that output [Messages](/concepts-objects#message-object) to the **Combine Text** component's **First Text** and **Second Text** inputs.
+1. To use this component in a flow, connect two components that output [Messages](/data-types#message) to the **Combine Text** component's **First Text** and **Second Text** inputs.
This example uses two **Text Input** components.

@@ -875,7 +875,7 @@ Here's the second part. We'll see how combining text works.
This component is in **Legacy**, which means it is available for use but no longer in active development.
:::
-This component dynamically creates a [Data](/concepts-objects#data-object) object with a specified number of fields.
+This component dynamically creates a [Data](/data-types#data) object with a specified number of fields.
Parameters
@@ -891,7 +891,7 @@ This component dynamically creates a [Data](/concepts-objects#data-object) objec
| Name | Display Name | Info |
|------|--------------|------|
-| data | Data | A [Data](/concepts-objects#data-object) object created with the specified fields and text key. |
+| data | Data | A [Data](/data-types#data) object created with the specified fields and text key. |
@@ -900,9 +900,9 @@ This component dynamically creates a [Data](/concepts-objects#data-object) objec
:::important
This component is in **Legacy**, which means it is available for use but no longer in active development.
:::
-This component converts one or multiple [Data](/concepts-objects#data-object) objects into a [DataFrame](/concepts-objects#dataframe-object). Each Data object corresponds to one row in the resulting DataFrame. Fields from the `.data` attribute become columns, and the `.text` field (if present) is placed in a 'text' column.
+This component converts one or multiple [Data](/data-types#data) objects into a [DataFrame](/data-types#dataframe). Each Data object corresponds to one row in the resulting DataFrame. Fields from the `.data` attribute become columns, and the `.text` field (if present) is placed in a 'text' column.
-1. To use this component in a flow, connect a component that outputs [Data](/concepts-objects#data-object) to the **Data to Dataframe** component's input.
+1. To use this component in a flow, connect a component that outputs [Data](/data-types#data) to the **Data to Dataframe** component's input.
This example connects a **Webhook** component to convert `text` and `data` into a DataFrame.
2. To view the flow's output, connect a **Chat Output** component to the **Data to Dataframe** component.
@@ -977,7 +977,7 @@ This component is in **Legacy**, which means it is available for use but no long
Instead, use the [Data operations](#data-operations) component.
:::
-This component filters a [Data](/concepts-objects#data-object) object based on a list of keys.
+This component filters a [Data](/data-types#data) object based on a list of keys.
Parameters
@@ -1055,7 +1055,7 @@ The JSON cleaner component cleans JSON strings to ensure they are fully complian
### Message to data
-This component converts [Message](/concepts-objects#message-object) objects to [Data](/concepts-objects#data-object) objects.
+This component converts [Message](/data-types#message) objects to [Data](/data-types#data) objects.
Parameters
@@ -1117,14 +1117,14 @@ This component converts and extracts JSON fields using JQ queries.
| Name | Display Name | Info |
|------|--------------|------|
-| input_value | Input | Data object to filter ([Message](/concepts-objects#message-object) or [Data](/concepts-objects#data-object)). |
+| input_value | Input | Data object to filter ([Message](/data-types#message) or [Data](/data-types#data)). |
| query | JQ Query | JQ Query to filter the data |
**Outputs**
| Name | Display Name | Info |
|------|--------------|------|
-| filtered_data | Filtered Data | Filtered data as list of [Data](/concepts-objects#data-object) objects. |
+| filtered_data | Filtered Data | Filtered data as list of [Data](/data-types#data) objects. |
@@ -1134,7 +1134,7 @@ This component converts and extracts JSON fields using JQ queries.
This component is in **Legacy**, which means it is available for use but no longer in active development.
:::
-This component extracts patterns from text using regular expressions. It can be used to find and extract specific patterns or information from text data.
+This component extracts patterns in text using regular expressions. It can be used to find and extract specific patterns or information in text.
To use this component in a flow:
@@ -1157,7 +1157,7 @@ Peruvian writer and Nobel Prize in Literature laureate Mario Vargas Llosa (pictu
This component is in **Legacy**, which means it is available for use but no longer in active development.
:::
-This component selects a single [Data](/concepts-objects#data-object) item from a list.
+This component selects a single [Data](/data-types#data) item from a list.
Parameters
@@ -1173,7 +1173,7 @@ This component selects a single [Data](/concepts-objects#data-object) item from
| Name | Display Name | Info |
|------|--------------|------|
-| selected_data | Selected Data | The selected [Data](/concepts-objects#data-object) object. |
+| selected_data | Selected Data | The selected [Data](/data-types#data) object. |
diff --git a/docs/docs/Components/components-tools.mdx b/docs/docs/Components/components-tools.mdx
index 9e2194cdb..001b719b0 100644
--- a/docs/docs/Components/components-tools.mdx
+++ b/docs/docs/Components/components-tools.mdx
@@ -121,7 +121,7 @@ The **Data** output is used when directly querying Astra DB, while the **Tool**
| Name | Type | Description |
|------|------|-------------|
-| Data | List[Data] | A list of [Data](/concepts-objects) objects containing the query results from Astra DB. Each `Data` object contains the document fields specified by the projection attributes. Limited by the `number_of_results` parameter. |
+| Data | List[Data] | A list of [Data](/data-types#data) objects containing the query results from Astra DB. Each `Data` object contains the document fields specified by the projection attributes. Limited by the `number_of_results` parameter. |
| Tool | StructuredTool | A LangChain `StructuredTool` object that can be used in agent workflows. Contains the tool name, description, argument schema based on tool parameters, and the query function. |
@@ -157,7 +157,7 @@ The `Astra DB CQL Tool` allows agents to query data from CQL tables in Astra DB.
| Name | Type | Description |
|------|------|-------------|
-| Data | List[Data] | A list of [Data](/concepts-objects) objects containing the query results from the Astra DB CQL table. Each Data object contains the document fields specified by the projection fields. Limited by the `number_of_results` parameter. |
+| Data | List[Data] | A list of [Data](/data-types#data) objects containing the query results from the Astra DB CQL table. Each Data object contains the document fields specified by the projection fields. Limited by the `number_of_results` parameter. |
| Tool | StructuredTool | A LangChain StructuredTool object that can be used in agent workflows. Contains the tool name, description, argument schema based on partition and clustering keys, and the query function. |
diff --git a/docs/docs/Components/components-vector-stores.mdx b/docs/docs/Components/components-vector-stores.mdx
index 4dabdd2a8..5aed910fb 100644
--- a/docs/docs/Components/components-vector-stores.mdx
+++ b/docs/docs/Components/components-vector-stores.mdx
@@ -22,7 +22,7 @@ This vector data can then be retrieved for workloads like Retrieval Augmented Ge

The user's chat input is embedded and compared to the vectors embedded during document ingestion for a similarity search.
-The results are output from the vector database component as a [Data](/concepts-objects) object and parsed into text.
+The results are output from the vector database component as a [Data](/data-types#data) object and parsed into text.
This text fills the `{context}` variable in the **Prompt** component, which informs the **Open AI model** component's responses.

@@ -63,7 +63,7 @@ For more information, see the [DataStax documentation](https://docs.datastax.com
| Name | Display Name | Info |
|------|--------------|------|
| vector_store | Vector Store | The Astra DB vector store instance configured with the specified parameters. |
-| search_results | Search Results | The results of the similarity search as a list of [Data](/concepts-objects#data-object) objects. |
+| search_results | Search Results | The results of the similarity search as a list of [Data](/data-types#data) objects. |
@@ -123,7 +123,7 @@ Avoid common keywords associated with the user's subject matter.
1. Keywords: features, data, attributes, characteristics
2. Question: What characteristics can be identified in my data?
```
-8. To view the [DataFrame](/concepts-objects#dataframe-object) generated from the **OpenAI** component's response, in the **Structured Output** component, click **Inspect output**.
+8. To view the [DataFrame](/data-types#dataframe) generated from the **OpenAI** component's response, in the **Structured Output** component, click **Inspect output**.
The DataFrame is passed to a **Parser** component, which parses the contents of the **Keywords** column into a string.
This string of comma-separated words is passed to the **Lexical Terms** port of the **Astra DB** component.
@@ -168,7 +168,7 @@ For more information, see the [Astra DB Serverless documentation](https://docs.d
| Name | Display Name | Info |
|------|--------------|------|
| vector_store | Vector Store | The Graph RAG vector store instance configured with the specified parameters. |
-| search_results | Search Results | The results of the similarity search as a list of [Data](/concepts-objects#data-object) objects. |
+| search_results | Search Results | The results of the similarity search as a list of [Data](/data-types#data) objects. |
@@ -244,7 +244,7 @@ This component implements a Cassandra Graph Vector Store with search capabilitie
| Name | Display Name | Info |
|------|--------------|------|
| vector_store | Vector Store | The Cassandra Graph vector store instance configured with the specified parameters. |
-| search_results | Search Results | The results of the similarity search as a list of [Data](/concepts-objects#data-object) objects. |
+| search_results | Search Results | The results of the similarity search as a list of [Data](/data-types#data) objects. |
@@ -299,7 +299,7 @@ For more information, see the [Chroma documentation](https://docs.trychroma.com/
| Name | Type | Description |
|----------------|---------------|--------------------------------|
| vector_store | Chroma | The Chroma vector store instance. |
-| search_results | List[Data] | The results of the similarity search as a list of [Data](/concepts-objects#data-object) objects. |
+| search_results | List[Data] | The results of the similarity search as a list of [Data](/data-types#data) objects. |
@@ -412,7 +412,7 @@ For more information, see the [Chroma documentation](https://docs.trychroma.com/
| Name | Type | Description |
|------|------|-------------|
| vector_store | Chroma | A local Chroma vector store instance configured with the specified parameters. |
-| search_results | List[Data](/concepts-objects#data-object) | The results of the similarity search as a list of [Data](/concepts-objects#data-object) objects. |
+| search_results | List[Data](/data-types#data) | The results of the similarity search as a list of [Data](/data-types#data) objects. |
@@ -444,7 +444,7 @@ For more information, see the [Elasticsearch documentation](https://www.elastic.
| Name | Type | Description |
|------|------|-------------|
| vector_store | ElasticsearchStore | The Elasticsearch vector store instance. |
-| search_results | List[Data] | The results of the similarity search as a list of [Data](/concepts-objects#data-object) objects. |
+| search_results | List[Data] | The results of the similarity search as a list of [Data](/data-types#data) objects. |
@@ -473,7 +473,7 @@ For more information, see the [FAISS documentation](https://faiss.ai/index.html)
| Name | Display Name | Info |
|------|--------------|------|
| vector_store | Vector Store | The FAISS vector store instance configured with the specified parameters. |
-| search_results | Search Results | The results of the similarity search as a list of [Data](/concepts-objects#data-object) objects. |
+| search_results | Search Results | The results of the similarity search as a list of [Data](/data-types#data) objects. |
@@ -502,7 +502,7 @@ For an example flow, see the **Graph RAG** template.
| Name | Type | Description |
|------|------|-------------|
-| search_results | List[Data] | Results of the graph-based document retrieval as a list of [Data](/concepts-objects#data-object) objects. |
+| search_results | List[Data] | Results of the graph-based document retrieval as a list of [Data](/data-types#data) objects. |
@@ -555,7 +555,7 @@ To use the HCD vector store for embeddings ingestion, connect it to an embedding
| Name | Type | Description |
|---------------|--------------|-------------------------------------------|
| vector_store | HyperConvergedDatabaseVectorStore | The HCD vector store instance. |
-| search_results| List[Data] | The results of the similarity search as a list of [Data](/concepts-objects#data-object) objects. |
+| search_results| List[Data] | The results of the similarity search as a list of [Data](/data-types#data) objects. |
@@ -627,7 +627,7 @@ For more information, see the [MongoDB Atlas documentation](https://www.mongodb.
| Name | Type | Description |
| ------------- | ---------------------- | ----------------------------------------- |
| vector_store | MongoDBAtlasVectorSearch| The MongoDB Atlas vector store instance. |
-| search_results| List[Data] | The results of the similarity search as a list of [Data](/concepts-objects#data-object) objects. |
+| search_results| List[Data] | The results of the similarity search as a list of [Data](/data-types#data) objects. |
@@ -661,7 +661,7 @@ For more information, see [Opensearch documentation](https://opensearch.org/plat
| Name | Type | Description |
| ------------- |------------------------|---------------------------------------------|
| vector_store | OpenSearchVectorSearch | OpenSearch vector store instance |
-| search_results| List[Data] | The results of the similarity search as a list of [Data](/concepts-objects#data-object) objects. |
+| search_results| List[Data] | The results of the similarity search as a list of [Data](/data-types#data) objects. |
@@ -689,7 +689,7 @@ For more information, see the [PGVector documentation](https://github.com/pgvect
| Name | Display Name | Info |
|------|--------------|------|
| vector_store | Vector Store | The PGVector vector store instance configured with the specified parameters. |
-| search_results | Search Results | The results of the similarity search as a list of [Data](/concepts-objects#data-object) objects. |
+| search_results | Search Results | The results of the similarity search as a list of [Data](/data-types#data) objects. |
@@ -720,7 +720,7 @@ For more information, see the [Pinecone documentation](https://docs.pinecone.io/
| Name | Display Name | Info |
|------|--------------|------|
| vector_store | Vector Store | The Pinecone vector store instance configured with the specified parameters. |
-| search_results | Search Results | The results of the similarity search as a list of [Data](/concepts-objects#data-object) objects. |
+| search_results | Search Results | The results of the similarity search as a list of [Data](/data-types#data) objects. |
@@ -758,7 +758,7 @@ For more information, see the [Qdrant documentation](https://qdrant.tech/documen
| Name | Type | Description |
| ------------- | -------- | ----------------------------------------- |
| vector_store | Qdrant | A Qdrant vector store instance. |
-| search_results| List[Data] | The results of the similarity search as a list of [Data](/concepts-objects#data-object) objects. |
+| search_results| List[Data] | The results of the similarity search as a list of [Data](/data-types#data) objects. |
@@ -788,7 +788,7 @@ For more information, see the [Redis documentation](https://redis.io/docs/latest
| Name | Type | Description |
| ------------- | -------- | ----------------------------------------- |
| vector_store | Redis | Redis vector store instance |
-| search_results| List[Data] | The results of the similarity search as a list of [Data](/concepts-objects#data-object) objects. |
+| search_results| List[Data] | The results of the similarity search as a list of [Data](/data-types#data) objects. |
@@ -818,7 +818,7 @@ For more information, see the [Supabase documentation](https://supabase.com/docs
| Name | Type | Description |
| ------------- | ------------------ | ----------------------------------------- |
| vector_store | SupabaseVectorStore | A Supabase vector store instance. |
-| search_results| List[Data] | The results of the similarity search as a list of [Data](/concepts-objects#data-object) objects. |
+| search_results| List[Data] | The results of the similarity search as a list of [Data](/data-types#data) objects. |
@@ -849,7 +849,7 @@ For more information, see the [Upstash documentation](https://upstash.com/docs/i
| Name | Type | Description |
| ------------- | ---------------- | ----------------------------------------- |
| vector_store | UpstashVectorStore| An Upstash vector store instance. |
-| search_results| List[Data] | The results of the similarity search as a list of [Data](/concepts-objects#data-object) objects. |
+| search_results| List[Data] | The results of the similarity search as a list of [Data](/data-types#data) objects. |
@@ -878,7 +878,7 @@ For more information, see the [Vectara documentation](https://docs.vectara.com/d
| Name | Type | Description |
| ------------- | ----------------- | ----------------------------------------- |
| vector_store | VectaraVectorStore | Vectara vector store instance. |
-| search_results| List[Data] | The results of the similarity search as a list of [Data](/concepts-objects#data-object) objects. |
+| search_results| List[Data] | The results of the similarity search as a list of [Data](/data-types#data) objects. |
@@ -905,7 +905,7 @@ For more information, see the [Vectara documentation](https://docs.vectara.com/d
| Name | Type | Description |
|----------------|------------|----------------------------|
-| search_results | List[Data] | The results of the similarity search as a list of [Data](/concepts-objects#data-object) objects. |
+| search_results | List[Data] | The results of the similarity search as a list of [Data](/data-types#data) objects. |
@@ -964,6 +964,6 @@ For more information, see the [Weaviate Documentation](https://weaviate.io/devel
| Name | Type | Description |
|----------------|------------|----------------------------|
-| search_results | List[Data] | The results of the similarity search as a list of [Data](/concepts-objects#data-object) objects. |
+| search_results | List[Data] | The results of the similarity search as a list of [Data](/data-types#data) objects. |
\ No newline at end of file
diff --git a/docs/docs/Concepts/concepts-components.mdx b/docs/docs/Concepts/concepts-components.mdx
index 74b227b97..cc399b828 100644
--- a/docs/docs/Concepts/concepts-components.mdx
+++ b/docs/docs/Concepts/concepts-components.mdx
@@ -76,10 +76,18 @@ To freeze a component, click the component in the **Workspace** to expose the co
## Component ports
-Circular port icons () on the border of a component indicate the types of inputs and outputs that can be connected to the component at that port.
+Around the border of each component, there are circular port icons like .
+These indicate a component _connection point_ or _port_.
+
+Ports either accept input or produce output of a specific data type.
+You can infer the data type from the field the port is attached to or from the [port's color](#port-colors).
+For example, the **System Message** field accepts [message data](#message), as illustrated by the blue port icon: .

+When building flows, connect output ports to input ports of the same type (color) to transfer that type of data between two components.
+For information about the programmatic representation of each data type, see [Langflow data types](/data-types).
+
### Dynamic ports
Some components have ports that are dynamically added or removed.
@@ -92,7 +100,7 @@ For example, the **Prompt** component accepts inputs within curly braces, and ne
Some components include dropdown menus to select the type of output sent to the next component.
For example, the **Language Model** component includes **Model Response** or **Language Model** outputs.
-The **Model Response** output sends a [Message](/concepts-objects#message-object) output on to another Message port.
+The **Model Response** output sends a [Message](/data-types#message) output on to another Message port.
The **Language Model** output can be connected to components like [Structured output](/components-processing#structured-output) to use the LLM to power the component's reasoning.
In the component code, `group_outputs` is set to `False` by default, which forces the outputs into the same dropdown menu, and only allows one output to be selected.
@@ -103,25 +111,24 @@ When `group_outputs=True`, outputs are displayed individually.
### Port colors
Component port colors indicate the data type ingested or emitted by the port.
-For example, a text port either accepts or emits text data.
+For example, a **Message** port either accepts or emits `message` data.
:::tip
Hover over a port to see connection details for that port.
:::
-The following table lists the component port colors and their corresponding input types:
+The following table lists the component data types and their corresponding port colors:
| Data type | Port color | Port icon example |
|-----------|--------------|----------|
-| Data | Red | |
-| DataFrame | Pink | |
-| Embeddings | Emerald | |
-| LanguageModel | Fuchsia | |
-| Memory | Orange | |
-| Message | Indigo | |
-| Text | Indigo | |
-| Tool | Cyan | |
-| Unknown | Gray | |
+| Data | Red | |
+| DataFrame | Pink | |
+| Embeddings | Emerald | |
+| LanguageModel | Fuchsia | |
+| Memory | Orange | |
+| Message | Indigo | |
+| Tool | Cyan | |
+| Unknown or multiple types | Gray | |
## Component code
@@ -193,7 +200,7 @@ For example, the `RecursiveCharacterTextSplitter` has two methods:
)
```
-The `get_data_input` method retrieves the text data to be split from the component's input, which makes the data available to the class.
+The `get_data_input` method retrieves the text to be split from the component's input, which makes the data available to the class.
The `build_text_splitter` method creates a `RecursiveCharacterTextSplitter` object by calling its parent class's `build` method. Then, the text is split with the created splitter and passed to the next component.
## Component versions
diff --git a/docs/docs/Concepts/concepts-objects.mdx b/docs/docs/Concepts/concepts-objects.mdx
deleted file mode 100644
index d93a6cd29..000000000
--- a/docs/docs/Concepts/concepts-objects.mdx
+++ /dev/null
@@ -1,210 +0,0 @@
----
-title: Langflow objects
-slug: /concepts-objects
----
-
-In Langflow, objects are [Pydantic](https://docs.pydantic.dev/latest/api/base_model/) models that serve as structured, functional representations of data.
-
-## Data object
-
-The `Data` object is a [Pydantic](https://docs.pydantic.dev/latest/api/base_model/) model that serves as a container for storing and manipulating data. It carries `data`—a dictionary that can be accessed as attributes—and uses `text_key` to specify which key in the dictionary should be considered the primary text content.
-
-- **Main Attributes:**
- - `text_key`: Specifies the key to retrieve the primary text data.
- - `data`: A dictionary to store additional data.
- - `default_value`: default value when the `text_key` is not present in the `data` dictionary.
-
-### Create a Data Object
-
-Create a `Data` object by directly assigning key-value pairs to it. For example:
-
-```python
-from langflow.schema import Data
-
-# Creating a Data object with specified key-value pairs
-data = Data(text="my_string", bar=3, foo="another_string")
-
-# Outputs:
-print(data.text) # Outputs: "my_string"
-print(data.bar) # Outputs: 3
-print(data.foo) # Outputs: "another_string"
-```
-
-The `text_key` specifies which key in the `data` dictionary should be considered the primary text content. The `default_value` provides a fallback if the `text_key` is not present.
-
-```python
-# Creating a Data object with a specific text_key and default_value
-data = Data(data={"title": "Hello, World!"}, text_key="content", default_value="No content available")
-
-# Accessing the primary text using text_key and default_value
-print(data.get_text()) # Outputs: "No content available" because "content" key is not in the data dictionary
-
-# Accessing data keys by calling the attribute directly
-print(data.title) # Outputs: "Hello, World!" because "title" key is in the data dictionary
-```
-
-The `Data` object is also convenient for visualization of outputs, since the output preview has visual elements to inspect data as a table and its cells as pop ups for basic types. The idea is to create a unified way to work and visualize complex information in Langflow.
-
-To receive `Data` objects in a component input, use the `DataInput` input type.
-
-```python
-inputs = [
- DataInput(name="data", display_name="Data", info="Helpful info about the incoming data object.", is_list=True),
-]
-```
-
-## Message object
-
-The `Message` object extends the functionality of `Data` and includes additional attributes and methods for chat interactions.
-
-- **Core message data:**
-
- - `text`: The main text content of the message
- - `sender`: Identifier for the sender ("User" or "AI")
- - `sender_name`: Name of the sender
- - `session_id`: Identifier for the chat session (`string` or `UUID`)
- - `timestamp`: Timestamp when the message was created (UTC)
- - `flow_id`: Identifier for the flow (`string` or `UUID`)
- - `id`: Unique identifier for the message
-
-- **Content and files:**
-
- - `files`: List of files or images associated with the message
- - `content_blocks`: List of structured content block objects
- - `properties`: Additional properties including visual styling and source information
-
-- **Message state:**
- - `error`: Boolean indicating if there was an error
- - `edit`: Boolean indicating if the message was edited
- - `category`: Message category ("message", "error", "warning", "info")
-
-The `Message` object can be used to send, store, and manipulate chat messages within Langflow.
-
-### Create a Message object
-
-You can create a `Message` object by directly assigning key-value pairs to it. For example:
-
-```python
-from langflow.schema.message import Message
-
-message = Message(text="Hello, AI!", sender="User", sender_name="John Doe")
-```
-
-To receive `Message` objects in a component input, you can use the `MessageInput` input type or `MessageTextInput` when the goal is to extract just the `text` field of the `Message` object.
-
-## ContentBlock object
-
-The `ContentBlock` object is a list of multiple `ContentTypes`. It allows you to include multiple types of content within a single `Message`, including images, videos, and text.
-
-Content types are Pydantic base classes constructed from the types in [content_types.py](https://github.com/langflow-ai/langflow/blob/main/src/backend/base/langflow/schema/content_types.py).
-
-Each content type has specific fields related to its data type. For example:
-
-* `TextContent` has a `text` field for storing strings of text
-* `MediaContent` has a `urls` field for storing media file URLs
-* `CodeContent` has `code` and `language` fields for code snippets
-* `JSONContent` has a `data` field for storing arbitrary JSON data
-* `ToolContent` has a `tool_input` field for storing input parameters for the tool
-
-### Create a ContentBlock object
-
-Create a `ContentBlock` object with a list of different content types.
-
-```python
-content_block = ContentBlock(
- title="Mixed Content Example",
- contents=[
- TextContent(text="This is a text content"),
- MediaContent(urls=["http://example.com/image.jpg"]),
- JSONContent(data={"key": "value"}),
- CodeContent(code="print('Hello')", language="python")
- ],
- media_url=["http://example.com/additional_image.jpg"]
-)
-```
-
-### Add ContentBlocks objects to a message
-
-In this example, a text and a media `ContentBlock` are added to a message.
-
-```python
-from langflow.schema.message import Message
-from langflow.schema.content_block import ContentBlock
-from langflow.schema.content_types import TextContent, MediaContent
-
-message = Message(
- text="Main message text",
- sender="User",
- sender_name="John Doe",
- content_blocks=[
- ContentBlock(
- title="Text Block",
- contents=[
- TextContent(type="text", text="This is some text content")
- ]
- ),
- ContentBlock(
- title="Media Block",
- contents=[
- MediaContent(type="media", urls=["http://example.com/image.jpg"])
- ]
- )
- ]
-)
-```
-
-## DataFrame object
-
-The `DataFrame` class is a custom extension of the Pandas [DataFrame](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html) class, specifically designed to work seamlessly with Langflow's `Data` objects. The class includes methods for converting between `DataFrame` and lists of `Data` objects.
-
-A `DataFrame` object accepts various input formats, including lists of `Data` objects, dictionaries, and existing `DataFrames`.
-
-### Create a DataFrame object
-
-You can create a DataFrame object using different data formats:
-
-```python
-from langflow.schema import Data
-from langflow.schema.data import DataFrame
-
-# From a list of Data objects
-data_list = [Data(data={"name": "John"}), Data(data={"name": "Jane"})]
-df = DataFrame(data_list)
-
-# From a list of dictionaries
-dict_list = [{"name": "John"}, {"name": "Jane"}]
-df = DataFrame(dict_list)
-
-# From a dictionary of lists
-data_dict = {"name": ["John", "Jane"], "age": [30, 25]}
-df = DataFrame(data_dict)
-Key Methods
-to_data_list(): Converts the DataFrame back to a list of Data objects.
-add_row(data): Adds a single row (either a Data object or a dictionary) to the DataFrame.
-add_rows(data): Adds multiple rows (list of Data objects or dictionaries) to the DataFrame.
-Usage Example
-python
-# Create a DataFrame
-df = DataFrame([Data(data={"name": "John"}), Data(data={"name": "Jane"})])
-
-# Add a new row
-df = df.add_row({"name": "Alice"})
-
-# Convert back to a list of Data objects
-data_list = df.to_data_list()
-
-# Use pandas functionality
-filtered_df = df[df["name"].str.startswith("J")]
-```
-
-To use DataFrame objects in a component input,use the DataFrameInput input type.
-
-```python
-DataFrameInput(
- name="dataframe_input", display_name="DataFrame Input", info="Input for DataFrame objects.", tool_mode=True
-),
-```
-
-## See also
-
-- [Session ID](/session-id)
\ No newline at end of file
diff --git a/docs/docs/Concepts/data-types.mdx b/docs/docs/Concepts/data-types.mdx
new file mode 100644
index 000000000..ebf93b29c
--- /dev/null
+++ b/docs/docs/Concepts/data-types.mdx
@@ -0,0 +1,298 @@
+---
+title: Langflow data types
+slug: /data-types
+---
+
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+import Icon from "@site/src/components/icon";
+
+Langflow components are designed to accept and produce specific types of inputs and outputs.
+Input and output data types define the structure and flow of information between components.
+Understanding these structures helps you build applications that provide valid input and correctly anticipate the output format.
+
+[Component ports](/concepts-components#component-ports) represent the data types that each component can send and receive.
+Some data types are self-evident from the fields they are attached to; for example, a **System Message** field accepts [message data](#message).
+[Port colors](/concepts-components#port-colors) also indicate the port's data type.
+For example **Data** ports, represented by , either accept or emit [structured data objects](#data).
+
+When building flows, connect output ports to input ports of the same type (color) to transfer that type of data between two components.
+
+:::tip
+In the visual editor, hover over a port to see connection details for that port.
+:::
+
+## Data
+
+**Data** ports accept or produce the `Data` type, which is a structured data object, like a JSON payload that you might send to an API.
+This data type is used to pass key-value pairs between components, such as user profiles, settings, or other structured information.
+
+`Data` objects include a primary text field, indicated by a `text_key`, and additional metadata.
+
+### Schema and attributes
+
+The schema is defined in [`data.py`](https://github.com/langflow-ai/langflow/blob/main/src/backend/base/langflow/schema/data.py).
+
+The following attributes are available:
+
+- `data`: A dictionary that stores key-value pairs.
+- `text_key`: The key in `data` that is considered the primary text value.
+- `default_value`: Fallback if `text_key` is missing. The default `text_key` is `"text"`.
+
+### Data structure
+
+A `Data` object stores key-value pairs within the `.data` attribute, where each key is a field name and its value can be any supported data type. `text_key` tells Langflow which key in the data dictionary is the primary text value for that object.
+
+```python
+data_obj = Data(
+ text_key="text", # Field 1
+ data={ # Field 2 (the actual dict)
+ "text": "Hello world",
+ "name": "Charlie",
+ "age": 28
+ },
+ default_value="" # Field 3
+)
+```
+
+`Data` objects can be serialized to JSON, created from JSON, or created from other dictionary data.
+However, the resulting `Data` object is a structured object with validation and methods, not a plain dictionary.
+
+For example, when serialized into JSON, the previous example becomes the following JSON object:
+
+```json
+{
+ "text_key": "text",
+ "data": {
+ "text": "User Profile",
+ "name": "Charlie Lastname",
+ "age": 28,
+ "email": "charlie.lastname@example.com"
+ },
+ "default_value": ""
+}
+```
+
+## DataFrame
+
+**DataFrame** ports accept or produce [pandas DataFrames](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html), which are similar to the tabular CSV data.
+
+Use the `DataFrame` type to work with data containing multiple rows or records.
+
+### Schema and attributes
+
+The schema is defined in [`dataframe.py`](https://github.com/langflow-ai/langflow/blob/main/src/backend/base/langflow/schema/dataframe.py).
+
+The following attributes are available:
+
+- **Full pandas compatibility**: All pandas DataFrame methods and functionality are supported
+
+- **Langflow integration**: Accepts lists of [`Data` objects](#data), dictionaries, or existing DataFrames.
+
+- **Convenience methods**:
+ - `to_data_list()`
+ - `add_row()`
+ - `add_rows()`
+ - `to_lc_documents()`
+ - `to_data()`
+ - `to_message()`
+
+- **Text key support**: Maintains `text_key` and `default_value` attributes for [`Data` object](#data) compatibility.
+
+### DataFrame structure
+
+A DataFrame has a tabular data structure with rows and columns.
+Keys are columns, and each object in the array is a row.
+
+```json
+[
+ {
+ "name": "Charlie Lastname",
+ "age": 28,
+ "email": "charlie.lastname@example.com"
+ },
+ {
+ "name": "Alexandra Example",
+ "age": 34,
+ "email": "alexandra@example.com"
+ }
+]
+```
+
+When represented as tabular data, the preceding DataFrame object is structured as follows:
+
+```text
+| name | age | email |
+|------|-----|-------|
+| Charlie Lastname | 28 | charlie.lastname@example.com |
+| Alexandra Example | 34 | alexandra@example.com |
+```
+
+## Embeddings
+
+**Embeddings** ports handle vector embeddings to support functions like similarity search.
+
+For example, the **Embedding Model** component outputs `embeddings` data that you can connect to an **Embedding** input port on a vector store component.
+
+## LanguageModel
+
+`LanguageModel` output is a specific type of output that can be produced by **Language Model** components.
+When enabled, the component's output port changes from a **Message** port to a **Language Model** port
+For more information, see [Use the LanguageModel output](/components-models#use-the-languagemodel-output).
+
+## Memory
+
+**Memory** ports are available for components that store or retrieve chat memory.
+
+## Message
+
+**Message** ports accept or produce `Message` data, which extends the [`Data` type](#data) with additional fields and methods for text input typically used in chat flows.
+
+The `Message` data type provides a consistent structure for chat interactions, and it is ideal for flows like chatbots, conversational analysis, and other LLM input and output.
+
+### Schema and attributes
+
+The schema is defined in [`message.py`](https://github.com/langflow-ai/langflow/blob/main/src/backend/base/langflow/schema/message.py).
+
+The following attributes are available:
+
+- `text`: Main message content
+- `sender`: `"User"` or `"AI"`
+- `sender_name`: Display name for sender
+- `session_id`: Chat session identifier
+- `timestamp`: UTC timestamp of the message
+- `files`: List of file paths or images included with the message
+- `content_blocks`: Handles rich content input, such as text, media, or code
+- `category`: `"message"`, `"error"`, `"warning"`, or `"info"`.
+
+### Message structure
+
+`Message` content appears in Langflow logs, GUI outputs, and the **Playground** as the `text` string alone, but this text is actually extracted from the complete structured `Message` object.
+
+For example, the output string `"Name: Charlie Lastname, Age: 28, Email: charlie.lastname@example.com"` is extracted from the following `Message` object:
+
+```json
+{
+ "text": "Name: Charlie Lastname, Age: 28, Email: charlie.lastname@example.com",
+ "sender": "User",
+ "sender_name": "Charlie Lastname",
+ "session_id": "some-session-id",
+ "timestamp": "2024-06-01T12:00:00Z",
+ "files": [],
+ "content_blocks": [],
+ "category": "message"
+}
+```
+
+### Text I/O components don't treat Message data as conversations
+
+[**Text Input**](/components-io#text-input) and [**Text Output**](/components-io#text-output) components have `Message` ports, but they _don't_ support conversational chat in the same way as **Chat Input** components.
+
+When a **Text Input** component receives `Message` data, the input isn't handled in the same way that it is when passed to a **Chat Input** component in a chat flow.
+Instead, the text is treated as a static string input, not as part of an ongoing conversation.
+
+The same is true for the **Text Output** component, which produces simple string output, rather than a response to a conversation.
+
+## Tool
+
+**Tool** ports connect tools to an **Agent** component.
+
+Tools can be other components where you enabled **Tool Mode** or they can be the dedicated **MCP Tools** component.
+
+For more information, see [Configure tools for agents](/agents-tools) and [Use Langflow as an MCP client](/mcp-client).
+
+## Unknown or multiple types
+
+If a port can accept or produce multiple data types, it is represented by the gray port icon .
+
+Hover over the port to see the accepted or produced data types.
+
+## View data types in flows
+
+In Langflow, you can use **Inspect output** to view the output of individual components.
+This can help you learn about the different data type and debug problems with invalid or malformed inputs and output.
+
+The following example shows how to inspect the output of a **Type Convert** component, which can convert `Message`, `Data`, or `DataFrame` input into `Message`, `Data`, or `DataFrame` output:
+
+1. Create a flow, and then connect a **Chat Input** component to a **Type Convert** component.
+
+2. In the **Chat Input** component, enter some text for the type converter to process.
+
+3. On the **Type Convert** component, click **Run component**, and then click **Inspect output**.
+
+ The default output is `Message` data, which is the same as the input coming from the **Chat Input** component.
+ To see the `Message` data converted to `Data` or `DataFrame`, change the **Output Type** on the **Type Convert** component, and then rerun the component.
+
+
+
+
+ ```text
+ Input text
+ ```
+
+
+
+
+ ```json
+ {
+ "timestamp": "2025-07-15 20:56:20 UTC",
+ "sender": "User",
+ "sender_name": "User",
+ "session_id": "a0c7e888-4fd6-4242-b8c8-e761ad690aeb",
+ "text": "",
+ "files": [],
+ "error": false,
+ "edit": false,
+ "properties": {
+ "text_color": "",
+ "background_color": "",
+ "edited": false,
+ "source": {
+ "id": null,
+ "display_name": null,
+ "source": null
+ },
+ "icon": "",
+ "allow_markdown": false,
+ "positive_feedback": null,
+ "state": "complete",
+ "targets": []
+ },
+ "category": "message",
+ "content_blocks": [],
+ "id": "9da72da2-efbb-4ccd-90ad-b32429b0418e",
+ "flow_id": "a0c7e888-4fd6-4242-b8c8-e761ad690aeb",
+ "duration": null
+ }
+ ```
+
+
+
+
+ ```text
+ | Field | Value |
+ |-------|-------|
+ | timestamp | 2025-07-15 20:56:11 UTC |
+ | sender | User |
+ | sender_name | User |
+ | session_id | a0c7e888-4fd6-4242-b8c8-e761ad690aeb |
+ | text | (empty) |
+ | files | [] |
+ | error | False |
+ | edit | False |
+ | properties | text_color: '', background_color: '', edited: False, source: {id: None, display_name: None, source: None}, icon: '', allow_markdown: False, positive_feedback: None, state: 'complete', targets: [] |
+ | category | message |
+ | content_blocks | [] |
+ | id | 341686eb-7a39-4b80-a90a-d8bf267815ef |
+ | flow_id | a0c7e888-4fd6-4242-b8c8-e761ad690aeb |
+ | duration | (empty) |
+ ```
+
+
+
+
+## See also
+
+- [Custom Components](/components-custom-components)
+- [Pydantic Models](https://docs.pydantic.dev/latest/api/base_model/)
+- [pandas.DataFrame](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html)
\ No newline at end of file
diff --git a/docs/docs/Develop/memory.mdx b/docs/docs/Develop/memory.mdx
index 7910eddd6..e8fad3fbd 100644
--- a/docs/docs/Develop/memory.mdx
+++ b/docs/docs/Develop/memory.mdx
@@ -27,7 +27,7 @@ The following tables are stored in `langflow.db`:
• **Flow** - Contains flow configurations. For more information, see [Build flows](/concepts-flows).
-• **Message** - Stores chat messages and interactions that occur between components. For more information, see [Message objects](/concepts-objects#message-object).
+• **Message** - Stores chat messages and interactions that occur between components. For more information, see [Message objects](/data-types#message).
• **Transaction** - Records execution history and results of flow runs. This information is used for [logging](/logging).
diff --git a/docs/docs/Integrations/Docling/integrations-docling.mdx b/docs/docs/Integrations/Docling/integrations-docling.mdx
index f3578aef8..7ce05fd9a 100644
--- a/docs/docs/Integrations/Docling/integrations-docling.mdx
+++ b/docs/docs/Integrations/Docling/integrations-docling.mdx
@@ -24,7 +24,7 @@ This example demonstrates how to use Docling components to split a PDF in a flow
The **Docling** component loads the document, and the **ExportDoclingDocument** component converts the DoclingDocument into the format you select. This example converts the document to Markdown, with images represented as placeholders.
The **Split Text** component will split the Markdown into chunks for the vector database to store in the next part of the flow.
2. Connect a [**Chroma DB**](/components-vector-stores#chroma-db) component to the **Split text** component's **Chunks** output.
-3. Connect an [**Embedding Model**](/components-embedding-models) to Chroma's **Embedding** port, and a **Chat Output** component to view the extracted [DataFrame](/concepts-objects#dataframe-object).
+3. Connect an [**Embedding Model**](/components-embedding-models) to Chroma's **Embedding** port, and a **Chat Output** component to view the extracted [DataFrame](/data-types#dataframe).
4. Add your OpenAI API key to the Embedding Model.
The flow looks like this:
diff --git a/docs/docs/Integrations/Nvidia/integrations-nvidia-g-assist.mdx b/docs/docs/Integrations/Nvidia/integrations-nvidia-g-assist.mdx
index 822150dd5..80ef20815 100644
--- a/docs/docs/Integrations/Nvidia/integrations-nvidia-g-assist.mdx
+++ b/docs/docs/Integrations/Nvidia/integrations-nvidia-g-assist.mdx
@@ -32,6 +32,6 @@ The **NVIDIA G-Assist** component accepts a single input:
### Outputs
-The **NVIDIA G-Assist** component outputs a [Message](/concepts-objects#message-object) object that contains:
+The **NVIDIA G-Assist** component outputs a [Message](/data-types#message) object that contains:
- `text`: The response from NVIDIA G-Assist containing the completed operation result.
-- The NVIDIA G-Assist message response is wrapped in a Langflow [Message](/concepts-objects#message-object) object.
\ No newline at end of file
+- The NVIDIA G-Assist message response is wrapped in a Langflow [Message](/data-types#message) object.
\ No newline at end of file
diff --git a/docs/docs/Integrations/Nvidia/integrations-nvidia-ingest.mdx b/docs/docs/Integrations/Nvidia/integrations-nvidia-ingest.mdx
index d7ca879c3..897e635c4 100644
--- a/docs/docs/Integrations/Nvidia/integrations-nvidia-ingest.mdx
+++ b/docs/docs/Integrations/Nvidia/integrations-nvidia-ingest.mdx
@@ -11,7 +11,7 @@ The **NVIDIA Retriever Extraction** component integrates with the [NVIDIA nv-ing
The `nv-ingest` service supports multiple extraction methods for PDF, DOCX, and PPTX file types, and includes pre- and post-processing services like splitting, chunking, and embedding generation. The extractor service's High Resolution mode uses the `nemoretriever-parse` extraction method for better quality extraction from scanned PDF documents. This feature is only available for PDF files.
-The **NVIDIA Retriever Extraction** component imports the NVIDIA `Ingestor` client, ingests files with requests to the NVIDIA ingest endpoint, and outputs the processed content as a list of [Data](/concepts-objects#data-object) objects. `Ingestor` accepts additional configuration options for data extraction from other text formats. To configure these options, see the [component parameters](/integrations-nvidia-ingest#parameters).
+The **NVIDIA Retriever Extraction** component imports the NVIDIA `Ingestor` client, ingests files with requests to the NVIDIA ingest endpoint, and outputs the processed content as a list of [Data](/data-types#data) objects. `Ingestor` accepts additional configuration options for data extraction from other text formats. To configure these options, see the [component parameters](/integrations-nvidia-ingest#parameters).
## Prerequisites
@@ -92,7 +92,7 @@ For more information, see the [NV-Ingest documentation](https://nvidia.github.io
### Outputs
-The **NVIDIA Retriever Extraction** component outputs a list of [Data](/concepts-objects#data-object) objects where each object contains:
+The **NVIDIA Retriever Extraction** component outputs a list of [Data](/data-types#data) objects where each object contains:
- `text`: The extracted content.
- For text documents: The extracted text content.
- For tables and charts: The extracted table/chart content.
diff --git a/docs/docs/Templates/financial-report-parser.mdx b/docs/docs/Templates/financial-report-parser.mdx
index 1d0e3dd6f..58fbdfcd7 100644
--- a/docs/docs/Templates/financial-report-parser.mdx
+++ b/docs/docs/Templates/financial-report-parser.mdx
@@ -44,7 +44,7 @@ EBITDA: $900 million , Net Income: $500 million , GROSS_PROFIT: $1.2 billion
Inspect the flow to understand how this information was extracted.
3. To inspect the output schema table, in the **Structured Output** component, click **Open table**.
-The **Structured Output** component uses the attached **OpenAI** model component as its "brain" to extract financial data into a [DataFrame](/concepts-objects#dataframe-object) with this defined schema.
+The **Structured Output** component uses the attached **OpenAI** model component as its "brain" to extract financial data into a [DataFrame](/data-types#dataframe) with this defined schema.
```text
| Name | Description | Type | Multiple |
|--------------|-----------------------|------|----------|
diff --git a/docs/docs/Templates/simple-agent.mdx b/docs/docs/Templates/simple-agent.mdx
index b1165d18f..7cca039bf 100644
--- a/docs/docs/Templates/simple-agent.mdx
+++ b/docs/docs/Templates/simple-agent.mdx
@@ -44,7 +44,7 @@ The **Simple Agent** flow is created.
I have access to the following tools:
Calculator: Perform basic arithmetic operations.
fetch_content: Load and retrieve data from specified URLs.
- fetch_content_text: Load and retrieve text data from specified URLs.
+ fetch_content_text: Load and retrieve text from specified URLs.
as_dataframe: Load and retrieve data in a structured format (dataframe) from specified URLs.
get_current_date: Returns the current date and time in a selected timezone.
```
diff --git a/docs/docs/Tutorials/agent.mdx b/docs/docs/Tutorials/agent.mdx
index f5d8b7629..ada54ee54 100644
--- a/docs/docs/Tutorials/agent.mdx
+++ b/docs/docs/Tutorials/agent.mdx
@@ -45,7 +45,7 @@ When connected to an **Agent** component as tools, the agent has the option to u
Given the example prompt, the LLM would respond with recommendations and web links for items based on previous orders in `customer_orders.csv`.
The **Playground** prints the agent's chain of thought as it selects tools to use and interacts with functionality provided by those tools.
- For example, the agent can use the **Directory** component's `as_dataframe` tool to retrieve a [DataFrame](/concepts-objects#dataframe-object), and the **Web search** component's `perform_search` tool to find links to related items.
+ For example, the agent can use the **Directory** component's `as_dataframe` tool to retrieve a [DataFrame](/data-types#dataframe), and the **Web search** component's `perform_search` tool to find links to related items.
## Add a prompt component to the flow
diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js
index 16e782d6e..885ce2d82 100644
--- a/docs/docusaurus.config.js
+++ b/docs/docusaurus.config.js
@@ -203,7 +203,7 @@ const config = {
],
},
{
- to: "/concepts-objects",
+ to: "/data-types",
from: ["/guides-data-message", "/configuration-objects"],
},
{
@@ -322,6 +322,10 @@ const config = {
to: "/components-data",
from: "/integrations-setup-google-oauth-langflow",
},
+ {
+ to: "/data-types",
+ from: "/concepts-objects",
+ },
// add more redirects like this
// {
// to: '/docs/anotherpage',
diff --git a/docs/sidebars.js b/docs/sidebars.js
index 459862734..3f93c4f7a 100644
--- a/docs/sidebars.js
+++ b/docs/sidebars.js
@@ -83,8 +83,8 @@ module.exports = {
},
{
type: "doc",
- id: "Concepts/concepts-objects",
- label: "Langflow objects"
+ id: "Concepts/data-types",
+ label: "Langflow data types"
},
{
type: "doc",