Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: v1.3 #7160

Merged
merged 48 commits into from
Mar 31, 2025
Merged
Show file tree
Hide file tree
Changes from 30 commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
03bca73
lint-plaintext
mendonk Mar 17, 2025
7fe579a
Squashed commit of the following:
mendonk Mar 17, 2025
2e533b2
s3-bucket-init
mendonk Mar 18, 2025
bc61d46
add-bundles-page
mendonk Mar 18, 2025
6d928ea
output-parser-component
mendonk Mar 18, 2025
4b5fab6
Merge branch 'main' into docs-v-1.3
mendonk Mar 18, 2025
60e4541
language-model-component
mendonk Mar 18, 2025
018785c
legacy-components
mendonk Mar 18, 2025
82e9c37
update-file-component
mendonk Mar 18, 2025
1a8887f
parser-component
mendonk Mar 18, 2025
a9c0477
publish-doc
mendonk Mar 18, 2025
dbce429
update-agent-starter-flows
mendonk Mar 19, 2025
c671375
voice-mode
mendonk Mar 19, 2025
7961486
webhook-component-update
mendonk Mar 19, 2025
3d31ef1
Merge branch 'main' into docs-v-1.3
mendonk Mar 19, 2025
ce050e0
file-management
mendonk Mar 19, 2025
3adb3a5
Merge branch 'main' into docs-v-1.3
mendonk Mar 19, 2025
9e2e224
update-env-vars
mendonk Mar 19, 2025
0b28233
make-env-var-table-more-readable
mendonk Mar 19, 2025
8a1d0bc
file-management-link
mendonk Mar 19, 2025
93d3e65
bump-version
mendonk Mar 26, 2025
81b2df3
Merge branch 'main' into docs-v-1.3
mendonk Mar 26, 2025
6c6d40a
add-graph-rag-component
mendonk Mar 26, 2025
2f4c179
docs-lambda-filter-component
mendonk Mar 26, 2025
0ecebe3
Merge branch 'main' into docs-v-1.3
mendonk Mar 27, 2025
37f25c1
docs-add-watsonx-model-component
mendonk Mar 27, 2025
a48db69
Merge branch 'main' into docs-v-1.3
mendonk Mar 28, 2025
f00408f
add-langchain-links-for-watson-package
mendonk Mar 28, 2025
159478c
remove-s3-bucket-data-component
mendonk Mar 28, 2025
4fab0a9
docs: publish-flows introduction
mendonk Mar 28, 2025
35b59ad
docs: update voice mode instructions for clarity and detail
mendonk Mar 28, 2025
06cef19
Merge branch 'main' into docs-v-1.3
mendonk Mar 28, 2025
9ac8070
Merge branch 'main' into docs-v-1.3
mendonk Mar 28, 2025
637e76a
Merge branch 'docs-v-1.3' of https://github.com/langflow-ai/langflow …
mendonk Mar 28, 2025
89653ef
Apply suggestions from code review
mendonk Mar 28, 2025
86c3cdd
Apply suggestions from code review
mendonk Mar 28, 2025
c203132
Apply suggestions from code review
mendonk Mar 28, 2025
94242a4
Apply suggestions from code review
mendonk Mar 28, 2025
670a92e
plurals
mendonk Mar 28, 2025
c017963
Merge branch 'docs-v-1.3' of https://github.com/langflow-ai/langflow …
mendonk Mar 28, 2025
4819e40
docs-review
mendonk Mar 28, 2025
b24c77e
Apply suggestions from code review
mendonk Mar 28, 2025
dbf7b92
steps-for-file-component
mendonk Mar 28, 2025
59cd06d
Merge branch 'main' into docs-v-1.3
mendonk Mar 31, 2025
18dd995
Merge branch 'main' into docs-v-1.3
mendonk Mar 31, 2025
0f524ec
parse-data-and-dataframe-in-legacy
mendonk Mar 31, 2025
5491ada
remove-beta-from-parser-component
mendonk Mar 31, 2025
3fb5a11
Merge branch 'main' into docs-v-1.3
mendonk Mar 31, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/docs/API-Reference/api-reference-api-examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ export LANGFLOW_URL="http://127.0.0.1:7860"
```

* Export the `flow-id` in your terminal.
The `flow-id` is found in the [API pane](/concepts-api) or in the flow's URL.
```bash
The `flow-id` is found in the [Publish pane](/concepts-publish) or in the flow's URL.
```plain
export FLOW_ID="359cd752-07ea-46f2-9d3b-a4407ef618da"
```

Expand Down
10 changes: 10 additions & 0 deletions docs/docs/Components/components-bundles.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: Bundles
slug: /components-bundle-components
---

**Bundles** are third-party components grouped by provider.

For more information on bundled components, see the component provider's documentation.


99 changes: 79 additions & 20 deletions docs/docs/Components/components-data.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,25 +75,67 @@ This component recursively loads files from a directory, with options for file t

## File

The FileComponent is a class that loads and parses text files of various supported formats, converting the content into a Data object. It supports multiple file types and provides an option for silent error handling.
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.

To select a document to load, click the **Select files** button. Select a local file or a file loaded with [File management](/concepts-file-management), and then click **Select file**. The loaded file name appears in the component.

The maximum supported file size is 100 MB.

### Inputs

| Name | Display Name | Info |
| ------------- | ------------- | -------------------------------------------- |
| path | Path | File path to load. |
| Name | Display Name | Info |
|------|--------------|------|
| path | Files | Path to file(s) to load. Supports individual files or bundled archives. |
| file_path | Server File Path | Data object with a `file_path` property pointing to server file or a Message object with a path to the file. Supercedes 'Path' but supports the same file types. |
| separator | Separator | Specify the separator to use between multiple outputs in Message format. |
| silent_errors | Silent Errors | If true, errors do not raise an exception. |
| delete_server_file_after_processing | Delete Server File After Processing | If true, the Server File Path is deleted after processing. |
| ignore_unsupported_extensions | Ignore Unsupported Extensions | If true, files with unsupported extensions are not processed. |
| ignore_unspecified_files | Ignore Unspecified Files | If true, `Data` with no `file_path` property is ignored. |
| use_multithreading | [Deprecated] Use Multithreading | Set 'Processing Concurrency' greater than `1` to enable multithreading. This option is deprecated. |
| concurrency_multithreading | Processing Concurrency | When multiple files are being processed, the number of files to process concurrently. Default is 1. Values greater than 1 enable parallel processing for 2 or more files. |

### Outputs

| Name | Display Name | Info |
| ---- | ------------ | -------------------------------------------- |
| data | Data | Parsed content of the file as a Data object. |
| Name | Display Name | Info |
|------|--------------|------|
| data | Data | Parsed content of the file as a [Data](/concepts-objects) object. |
| dataframe | DataFrame | File content as a [DataFrame](/concepts-objects#dataframe-object) object. |
| message | Message | File content as a [Message](/concepts-objects#message-object) object. |


### Supported File Types

Text files:
- `.txt` - Text files
- `.md`, `.mdx` - Markdown files
- `.csv` - CSV files
- `.json` - JSON files
- `.yaml`, `.yml` - YAML files
- `.xml` - XML files
- `.html`, `.htm` - HTML files
- `.pdf` - PDF files
- `.docx` - Word documents
- `.py` - Python files
- `.sh` - Shell scripts
- `.sql` - SQL files
- `.js` - JavaScript files
- `.ts`, `.tsx` - TypeScript files

Archive formats (for bundling multiple files):
- `.zip` - ZIP archives
- `.tar` - TAR archives
- `.tgz` - Gzipped TAR archives
- `.bz2` - Bzip2 compressed files
- `.gz` - Gzip compressed files

## Gmail Loader

:::info
Google components are available in the **Components** menu under **Bundles**.
For more information, see [Integrate Google OAuth with Langflow](/integrations-setup-google-oauth-langflow).
:::

This component loads emails from Gmail using provided credentials and filters.

For more on creating a service account JSON, see [Service Account JSON](https://developers.google.com/identity/protocols/oauth2/service-account).
Expand All @@ -114,6 +156,11 @@ For more on creating a service account JSON, see [Service Account JSON](https://

## Google Drive Loader

:::info
Google components are available in the **Components** menu under **Bundles**.
For more information, see [Integrate Google OAuth with Langflow](/integrations-setup-google-oauth-langflow).
:::

This component loads documents from Google Drive using provided credentials and a single document ID.

For more on creating a service account JSON, see [Service Account JSON](https://developers.google.com/identity/protocols/oauth2/service-account).
Expand All @@ -133,6 +180,11 @@ For more on creating a service account JSON, see [Service Account JSON](https://

## Google Drive Search

:::info
Google components are available in the **Components** menu under **Bundles**.
For more information, see [Integrate Google OAuth with Langflow](/integrations-setup-google-oauth-langflow).
:::

This component searches Google Drive files using provided credentials and query parameters.

For more on creating a service account JSON, see [Service Account JSON](https://developers.google.com/identity/protocols/oauth2/service-account).
Expand Down Expand Up @@ -178,19 +230,24 @@ This component executes SQL queries on a specified database.

## URL

This component fetches content from one or more URLs, processes the content, and returns it as a list of [Data](/concepts-objects) objects.
This component fetches content from one or more URLs, processes the content, and returns it in various formats. It supports output in plain text, raw HTML, or JSON, with options for cleaning and separating multiple outputs.

### Inputs

| Name | Display Name | Info |
| ---- | ------------ | ---------------------- |
| urls | URLs | Enter one or more URLs |
| Name | Display Name | Info |
|------|--------------|------|
| urls | URLs | Enter one or more URLs. URLs are automatically validated and cleaned. |
| format | Output Format | Output Format. Use **Text** to extract text from the HTML, **Raw HTML** for the raw HTML content, or **JSON** to extract JSON from the HTML. |
| separator | Separator | Specify the separator to use between multiple outputs. Default for **Text** is `\n\n`. Default for **Raw HTML** is `\n<!-- Separator -->\n`. |
| clean_extra_whitespace | Clean Extra Whitespace | Whether to clean excessive blank lines in the text output. Only applies to `Text` format. |

### Outputs

| Name | Display Name | Info |
| ---- | ------------ | ------------------------------------------------------------ |
| data | Data | List of Data objects containing fetched content and metadata |
| Name | Display Name | Info |
|------|--------------|------|
| data | Data | List of [Data](/concepts-objects) objects containing fetched content and metadata. |
| text | Text | Fetched content as formatted text, with applied separators and cleaning. |
| dataframe | DataFrame | Content formatted as a [Data](/concepts-objects#dataframe-object) object. |

## Webhook

Expand Down Expand Up @@ -219,12 +276,14 @@ Your JSON data is posted to the **Chat Output** component, which indicates that

### Inputs

| Name | Type | Description |
| ---- | ------ | ---------------------------------------------- |
| data | String | JSON payload for testing the webhook component |
| Name | Display Name | Description |
|------|--------------|-------------|
| data | Payload | Receives a payload from external systems through HTTP POST requests. |
| curl | cURL | The cURL command template for making requests to this webhook. |
| endpoint | Endpoint | The endpoint URL where this webhook receives requests. |

### Outputs

| Name | Type | Description |
| ----------- | ---- | ------------------------------------- |
| output_data | Data | Processed data from the webhook input |
| 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. |
46 changes: 46 additions & 0 deletions docs/docs/Components/components-helpers.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,10 @@ The Batch Run component runs a language model over each row of a [DataFrame](/co

## Create List

:::important
This component is in **Legacy**, which means it is no longer in active development as of Langflow version 1.3.
:::

This component dynamically creates a record with a specified number of fields.

### Inputs
Expand Down Expand Up @@ -135,6 +139,48 @@ It provides flexibility in managing message storage and retrieval within a chat
|------|--------------|------|
| stored_messages | Stored Messages | The list of stored messages after the current message has been added. |

## Output Parser

:::important
This component is in **Legacy**, which means it is no longer in active development as of Langflow version 1.3.
:::

This component transforms the output of a language model into a specified format. It supports CSV format parsing, which converts LLM responses into comma-separated lists using Langchain's `CommaSeparatedListOutputParser`.

:::note
This component only provides formatting instructions and parsing functionality - it does not include a prompt. You'll need to connect it to a separate Prompt component to create the actual prompt template for the LLM to use.
:::

Both the **Output Parser** and **Structured Output** components format LLM responses, but they have different use cases.
The **Output Parser** is simpler and focused on converting responses into comma-separated lists. Use this when you just need a list of items, for example `["item1", "item2", "item3"]`.
The **Structured Output** is more complex and flexible, and allows you to define custom schemas with multiple fields of different types. Use this when you need to extract structured data with specific fields and types.

To use this component:

1. Create a Prompt component and connect the Output Parser's `format_instructions` output to it. This ensures the LLM knows how to format its response.
2. Write your actual prompt text in the Prompt component, including the `{format_instructions}` variable.
For example, in your Prompt component, the template might look like:
```
{format_instructions}
Please list three fruits.
```
3. Connect the `output_parser` output to your LLM model.

4. The output parser converts this into a Python list: `["apple", "banana", "orange"]`.

### Inputs

| Name | Display Name | Info |
|------|--------------|------|
| parser_type | Parser | Select the parser type. Currently supports "CSV". |

### Outputs

| Name | Display Name | Info |
|------|--------------|------|
| format_instructions | Format Instructions | Pass to a prompt template to include formatting instructions for LLM responses. |
| output_parser | Output Parser | The constructed output parser that can be used to parse LLM responses. |

## Structured output

This component transforms LLM responses into structured data formats.
Expand Down
60 changes: 47 additions & 13 deletions docs/docs/Components/components-logic.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,21 +36,19 @@ It includes code examples of REST and gRPC implementations to demonstrate integr

## Conditional router (If-Else component)

This component routes an input message to a corresponding output based on text comparison.

The ConditionalRouterComponent routes messages based on text comparison. It evaluates a condition by comparing two text inputs using a specified operator and routes the message accordingly.
This component routes messages by comparing two strings. It evaluates a condition by comparing two text inputs using the specified operator and routes the message to `true_result` or `false_result`.

### Inputs

| Name | Type | Description |
|----------------|----------|-------------------------------------------------------------------|
| input_text | String | The primary text input for the operation. |
| match_text | String | The text input to compare against. |
| operator | Dropdown | The operator to apply for comparing the texts. |
| case_sensitive | Boolean | If true, the comparison will be case sensitive. |
| operator | Dropdown | The operator to compare texts. Options: "equals", "not equals", "contains", "starts with", "ends with", "regex". Default: "equals". |
| case_sensitive | Boolean | If true, the comparison is case sensitive. This setting is ignored for regex comparison. Default: false. |
| message | Message | The message to pass through either route. |
| max_iterations | Integer | The maximum number of iterations for the conditional router. |
| default_route | Dropdown | The default route to take when max iterations are reached. |
| max_iterations | Integer | (Advanced) The maximum number of iterations for the conditional router. Default: 10. |
| default_route | Dropdown | (Advanced) The default route to take when max iterations are reached. Options: "true_result" or "false_result". Default: "false_result". |

### Outputs

Expand All @@ -59,20 +57,37 @@ The ConditionalRouterComponent routes messages based on text comparison. It eval
| true_result | Message | The output when the condition is true. |
| false_result | Message | The output when the condition is false. |

## Data conditional router
### Operator Behavior

The **If-else** component includes a comparison operator to compare the values in `input_text` and `match_text`.

All options respect the `case_sensitive` setting except **regex**.

- **equals**: Exact match comparison
- **not equals**: Inverse of exact match
- **contains**: Checks if match_text is found within input_text
- **starts with**: Checks if input_text begins with match_text
- **ends with**: Checks if input_text ends with match_text
- **regex**: Performs regular expression matching (always case sensitive, ignores case_sensitive setting)

## Data Conditional Router

:::important
This component is in **Legacy**, which means it is no longer in active development as of Langflow version 1.3.
:::

This component routes `Data` objects based on a condition applied to a specified key, including boolean validation.
This component routes `Data` objects based on a condition applied to a specified key, including boolean validation. It can process either a single Data object or a list of Data objects.

This component is particularly useful in workflows that require conditional routing of complex data structures, enabling dynamic decision-making based on data content.

### Inputs

| Name | Type | Description |
|---------------|----------|-----------------------------------------------------------------------------------|
| data_input | Data | The data object or list of data objects to process. |
| key_name | String | The name of the key in the data object to check. |
| operator | Dropdown | The operator to apply for comparing the values. |
| compare_value | String | The value to compare against (not used for boolean validator). |
| data_input | Data | The Data object or list of Data objects to process. Can handle both single items and lists. |
| key_name | String | The name of the key in the Data object to check. |
| operator | Dropdown | The operator to apply. Options: "equals", "not equals", "contains", "starts with", "ends with", "boolean validator". Default: "equals". |
| compare_value | String | The value to compare against. Not shown/used when operator is "boolean validator". |

### Outputs

Expand All @@ -81,6 +96,25 @@ This component is particularly useful in workflows that require conditional rout
| true_output | Data/List | Output when the condition is met. |
| false_output | Data/List | Output when the condition is not met. |

### Operator Behavior

- **equals**: Exact match comparison between the key's value and compare_value
- **not equals**: Inverse of exact match
- **contains**: Checks if compare_value is found within the key's value
- **starts with**: Checks if the key's value begins with compare_value
- **ends with**: Checks if the key's value ends with compare_value
- **boolean validator**: Treats the key's value as a boolean. The following values are considered true:
- Boolean `true`
- Strings: "true", "1", "yes", "y", "on" (case-insensitive)
- Any other value is converted using Python's `bool()` function

### List Processing

When processing a list of Data objects:
- Each object in the list is evaluated individually
- Objects meeting the condition go to true_output
- Objects not meeting the condition go to false_output
- If all objects go to one output, the other output will be empty

## Flow as tool {#flow-as-tool}

Expand Down
Loading
Loading