diff --git a/docs/docs/Agents/agent-tool-calling-agent-component.md b/docs/docs/Agents/agent-tool-calling-agent-component.md index 52d401505..7236a41c9 100644 --- a/docs/docs/Agents/agent-tool-calling-agent-component.md +++ b/docs/docs/Agents/agent-tool-calling-agent-component.md @@ -174,14 +174,15 @@ inputs = [ ] ``` -## Add flows as tools +## Use the Run Flow component as a tool -An agent can use flows that are saved in your workspace as tools with the [Flow as Tool](/components-logic#flow-as-tool) component. +An agent can use flows that are saved in your workspace as tools with the [Run flow](/components-logic#run-flow) component. -1. To add a **Flow as Tool** component, click and drag a **Flow as Tool** component to your workspace. +1. To add a **Run flow** component, click and drag a **Run flow** component to your workspace. 2. Select the flow you want the agent to use as a tool. +3. Enable **Tool Mode** in the component. 3. Connect the tool output to the agent's tools input. 4. Ask the agent, `What tools are you using to answer my questions?` -Your **Flow as Tool** flow should be visible in the response. +Your flow should be visible in the response. diff --git a/docs/docs/Components/components-data.md b/docs/docs/Components/components-data.md index c04c05faa..5d63206ad 100644 --- a/docs/docs/Components/components-data.md +++ b/docs/docs/Components/components-data.md @@ -24,20 +24,30 @@ In this example of a document ingestion pipeline, the URL component outputs raw ## API Request -This component sends HTTP requests to the specified URLs. - -Use this component to interact with external APIs or services and retrieve data. Ensure that the URLs are valid and that you configure the method, headers, body, and timeout correctly. +This component makes HTTP requests using URLs or cURL commands. ### Inputs -| Name | Display Name | Info | -| ------- | ------------ | -------------------------------------------------------------------------- | -| URLs | URLs | The URLs to target | -| curl | curl | Paste a curl command to fill in the dictionary fields for headers and body | -| Method | HTTP Method | The HTTP method to use, such as GET or POST | -| Headers | Headers | The headers to include with the request | -| Body | Request Body | The data to send with the request (for methods like POST, PATCH, PUT) | -| Timeout | Timeout | The maximum time to wait for a response | +| Name | Display Name | Info | +|------|--------------|------| +| urls | URLs | Enter one or more URLs, separated by commas. | +| curl | cURL | Paste a curl command to populate the dictionary fields for headers and body. | +| method | Method | The HTTP method to use. | +| use_curl | Use cURL | Enable cURL mode to populate fields from a cURL command. | +| query_params | Query Parameters | The query parameters to append to the URL. | +| body | Body | The body to send with the request as a dictionary (for `POST`, `PATCH`, `PUT`). | +| headers | Headers | The headers to send with the request as a dictionary. | +| timeout | Timeout | The timeout to use for the request. | +| follow_redirects | Follow Redirects | Whether to follow http redirects. | +| save_to_file | Save to File | Save the API response to a temporary file | +| include_httpx_metadata | Include HTTPx Metadata | Include properties such as `headers`, `status_code`, `response_headers`, and `redirection_history` in the output. | + +### Outputs + +| Name | Display Name | Info | +|------|--------------|------| +| data | Data | The result of the API requests. | + ## Directory @@ -51,10 +61,10 @@ This component recursively loads files from a directory, with options for file t | types | MessageTextInput | File types to load (leave empty to load all types) | | depth | IntInput | Depth to search for files | | max_concurrency | IntInput | Maximum concurrency for loading files | -| load_hidden | BoolInput | If true, hidden files will be loaded | -| recursive | BoolInput | If true, the search will be recursive | -| silent_errors | BoolInput | If true, errors will not raise an exception | -| use_multithreading | BoolInput | If true, multithreading will be used | +| load_hidden | BoolInput | If true, hidden files are loaded | +| recursive | BoolInput | If true, the search is recursive | +| silent_errors | BoolInput | If true, errors do not raise an exception | +| use_multithreading | BoolInput | If true, multithreading is used | ### Outputs @@ -67,12 +77,14 @@ This component recursively loads files from a directory, with options for file t 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. +The maximum supported file size is 100 MB. + ### Inputs | Name | Display Name | Info | | ------------- | ------------- | -------------------------------------------- | | path | Path | File path to load. | -| silent_errors | Silent Errors | If true, errors will not raise an exception. | +| silent_errors | Silent Errors | If true, errors do not raise an exception. | ### Outputs @@ -80,22 +92,6 @@ The FileComponent is a class that loads and parses text files of various support | ---- | ------------ | -------------------------------------------- | | data | Data | Parsed content of the file as a Data object. | -## URL - -The URLComponent is a class that fetches content from one or more URLs, processes the content, and returns it as a list of Data objects. It ensures that the provided URLs are valid and uses WebBaseLoader to fetch the content. - -### Inputs - -| Name | Display Name | Info | -| ---- | ------------ | ---------------------- | -| urls | URLs | Enter one or more URLs | - -### Outputs - -| Name | Display Name | Info | -| ---- | ------------ | ------------------------------------------------------------ | -| data | Data | List of Data objects containing fetched content and metadata | - ## Gmail Loader This component loads emails from Gmail using provided credentials and filters. @@ -160,11 +156,47 @@ For more on creating a service account JSON, see [Service Account JSON](https:// | doc_titles | List[str] | Titles of the found documents | | Data | Data | Document titles and URLs in a structured format | +## SQL Query + +This component executes SQL queries on a specified database. + +### Inputs + +| Name | Display Name | Info | +|------|--------------|------| +| query | Query | The SQL query to execute. | +| database_url | Database URL | The URL of the database. | +| include_columns | Include Columns | Include columns in the result. | +| passthrough | Passthrough | If an error occurs, return the query instead of raising an exception. | +| add_error | Add Error | Add the error to the result. | + +### Outputs + +| Name | Display Name | Info | +|------|--------------|------| +| result | Result | The result of the SQL query execution. | + +## URL + +This component fetches content from one or more URLs, processes the content, and returns it as a list of [Data](/concepts-objects) objects. + +### Inputs + +| Name | Display Name | Info | +| ---- | ------------ | ---------------------- | +| urls | URLs | Enter one or more URLs | + +### Outputs + +| Name | Display Name | Info | +| ---- | ------------ | ------------------------------------------------------------ | +| data | Data | List of Data objects containing fetched content and metadata | + ## Webhook This component defines a webhook input for the flow. The flow can be triggered by an external HTTP POST request (webhook) sending a JSON payload. -If the input is not valid JSON, the component will wrap it in a "payload" field. The component's status will reflect any errors or the processed data. +If the input is not valid JSON, the component wraps it in a "payload" field. The component's status reflects any errors on the processed data. ### Inputs diff --git a/docs/docs/Components/components-embedding-models.md b/docs/docs/Components/components-embedding-models.md index 2f71233cc..5f6bfb2a8 100644 --- a/docs/docs/Components/components-embedding-models.md +++ b/docs/docs/Components/components-embedding-models.md @@ -55,6 +55,11 @@ This component is used to load embedding models from [Amazon Bedrock](https://aw ## Astra DB vectorize +:::important +This component is deprecated as of Langflow version 1.1.2. +Instead, use the [Astra DB vector store component](/components-vector-stores#astra-db-vector-store) +::: + Connect this component to the **Embeddings** port of the [Astra DB vector store component](/components-vector-stores#astra-db-vector-store) to generate embeddings. This component requires that your Astra DB database has a collection that uses a vectorize embedding provider integration. @@ -96,6 +101,28 @@ This component generates embeddings using Azure OpenAI models. |------|------|-------------| | embeddings | Embeddings | An instance for generating embeddings using Azure OpenAI | +## Cloudflare Workers AI Embeddings + +This component generates embeddings using [Cloudflare Workers AI models](https://developers.cloudflare.com/workers-ai/). + +### Inputs + +| Name | Display Name | Info | +|------|--------------|------| +| account_id | Cloudflare account ID |[Find your Cloudflare account ID](https://developers.cloudflare.com/fundamentals/setup/find-account-and-zone-ids/#find-account-id-workers-and-pages) | +| api_token | Cloudflare API token | [Create an API token](https://developers.cloudflare.com/fundamentals/api/get-started/create-token/) | +| model_name | Model Name | [List of supported models](https://developers.cloudflare.com/workers-ai/models/#text-embeddings) | +| strip_new_lines | Strip New Lines | Whether to strip new lines from the input text | +| batch_size | Batch Size | Number of texts to embed in each batch | +| api_base_url | Cloudflare API base URL | Base URL for the Cloudflare API | +| headers | Headers | Additional request headers | + +### Outputs + +| Name | Display Name | Info | +|------|--------------|------| +| embeddings | Embeddings | An instance for generating embeddings using Cloudflare Workers | + ## Cohere Embeddings This component is used to load embedding models from [Cohere](https://cohere.com/). @@ -169,11 +196,17 @@ Use this component to generate embeddings using locally downloaded Hugging Face | Model Name | Model Name | Name of the HuggingFace model to use | | Multi Process | Multi-Process | Whether to use multiple processes | +### Outputs + +| Name | Display Name | Info | +|------|--------------|------| +| embeddings | Embeddings | The generated embeddings | + ## Hugging Face embeddings Inference API -This component generates embeddings using Hugging Face Inference API models. +This component generates embeddings using [Hugging Face Inference API models](https://huggingface.co/). -Use this component to create embeddings with Hugging Face's hosted models. Ensure you have a valid Hugging Face API key. +Use this component to create embeddings with Hugging Face's hosted models. ### Inputs @@ -187,9 +220,35 @@ Use this component to create embeddings with Hugging Face's hosted models. Ensur | Model Kwargs | Model Arguments | Additional arguments for the model | | Multi Process | Multi-Process | Whether to use multiple processes | +### Outputs + +| Name | Display Name | Info | +|------|--------------|------| +| embeddings | Embeddings | The generated embeddings | + +## LM Studio Embeddings + +This component generates embeddings using [LM Studio](https://lmstudio.ai/docs) models. + +### Inputs + +| Name | Display Name | Info | +|------|--------------|------| +| model | Model | The LM Studio model to use for generating embeddings | +| base_url | LM Studio Base URL | The base URL for the LM Studio API | +| api_key | LM Studio API Key | API key for authentication with LM Studio | +| temperature | Model Temperature | Temperature setting for the model | + +### Outputs + +| Name | Display Name | Info | +|------|--------------|------| +| embeddings | Embeddings | The generated embeddings | + + ## MistralAI -This component generates embeddings using MistralAI models. +This component generates embeddings using [MistralAI](https://docs.mistral.ai/) models. ### Inputs @@ -210,7 +269,7 @@ This component generates embeddings using MistralAI models. ## NVIDIA -This component generates embeddings using NVIDIA models. +This component generates embeddings using [NVIDIA models](https://docs.nvidia.com). ### Inputs @@ -229,7 +288,7 @@ This component generates embeddings using NVIDIA models. ## Ollama Embeddings -This component generates embeddings using Ollama models. +This component generates embeddings using [Ollama models](https://ollama.com/). ### Inputs diff --git a/docs/docs/Components/components-helpers.md b/docs/docs/Components/components-helpers.md index 4c6a4ca9f..b17f333bf 100644 --- a/docs/docs/Components/components-helpers.md +++ b/docs/docs/Components/components-helpers.md @@ -17,6 +17,25 @@ This example flow stores and retrieves chat history from an [AstraDBChatMemory]( ![Sample Flow storing Chat Memory in AstraDB](/img/astra_db_chat_memory_rounded.png) +## Batch Run Component + +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 the model's response. + +### Inputs + +| Name | Display Name | Type | Info | Required | +|------|--------------|------|------|----------| +| model | Language Model | HandleInput | Connect the 'Language Model' output from your LLM component here. | Yes | +| system_message | System Message | MultilineInput | Multi-line system instruction for all rows in the DataFrame. | No | +| df | DataFrame | DataFrameInput | The DataFrame whose column (specified by 'column_name') will be treated as text messages. | Yes | +| column_name | Column Name | StrInput | The name of the DataFrame column to treat as text messages. Default='text'. | Yes | + +### Outputs + +| Name | Display Name | Method | Info | +|------|--------------|--------|------| +| batch_results | Batch Results | run_batch | A DataFrame with two columns: 'text_input' and 'model_response'. | + ## Create List This component dynamically creates a record with a specified number of fields. @@ -28,6 +47,12 @@ This component dynamically creates a record with a specified number of fields. | n_fields | Number of Fields | Number of fields to be added to the record. | | text_key | Text Key | Key used as text. | +### Outputs + +| Name | Display Name | Info | +|------|--------------|------| +| list | List | The dynamically created list with the specified number of fields. | + ## Current date The Current Date component returns the current date and time in a selected timezone. This component provides a flexible way to obtain timezone-specific date and time information within a Langflow pipeline. @@ -48,11 +73,17 @@ The Current Date component returns the current date and time in a selected timez This component generates a unique ID. +### Inputs + +| Name | Display Name | Info | +|------|--------------|------| +| unique_id| Value | The generated unique ID. | + ### Outputs | Name | Display Name | Info | |------|--------------|------| -| value | Value | Unique ID generated. | +| id | ID | The generated unique ID. | ## Message history @@ -82,7 +113,7 @@ This component retrieves and manages chat messages from Langflow tables or an ex | messages_text | Messages (Text) | Retrieved messages formatted as text. | | lc_memory | Memory | A constructed Langchain [ConversationBufferMemory](https://api.python.langchain.com/en/latest/memory/langchain.memory.buffer.ConversationBufferMemory.html) object | -## Store Message +## Message store This component stores chat messages or text into Langflow tables or an external memory. @@ -120,4 +151,7 @@ This component transforms LLM responses into structured data formats. ### Output -| structured_output | Structured Output | The resulting structured output based on the defined schema. | +| Name | Display Name | Info | +|------|--------------|------| +| stored_messages | Stored Messages | structured output based on the defined schema. | + diff --git a/docs/docs/Components/components-logic.md b/docs/docs/Components/components-logic.md index 7b674491d..6e4b86968 100644 --- a/docs/docs/Components/components-logic.md +++ b/docs/docs/Components/components-logic.md @@ -34,7 +34,7 @@ The use of asynchronous messaging patterns is recommended for system scalability It includes code examples of REST and gRPC implementations to demonstrate integration approaches. ``` -## Conditional router +## Conditional router (If-Else component) This component routes an input message to a corresponding output based on text comparison. @@ -82,7 +82,12 @@ This component is particularly useful in workflows that require conditional rout | false_output | Data/List | Output when the condition is not met. | -## Flow as Tool {#flow-as-tool} +## Flow as tool {#flow-as-tool} + +:::important +This component is deprecated as of Langflow version 1.1.2. +Instead, use the [Run flow component](/components-logic#run-flow) +::: This component constructs a tool from a function that runs a loaded flow. @@ -153,6 +158,23 @@ This component generates a notification for the Listen component to use. |--------|------|-----------------------------------------| | output | Data | The data stored in the notification. | +## Pass message + +This component forwards the input message, unchanged. + +### Inputs + +| Name | Display Name | Info | +|------|--------------|------| +| input_message | Input Message | The message to be passed forward. | +| ignored_message | Ignored Message | A second message to be ignored. Used as a workaround for continuity. | + +### Outputs + +| Name | Display Name | Info | +|------|--------------|------| +| output_message | Output Message | The forwarded input message. | + ## Run flow This component allows you to run a specified flow with given inputs and tweaks. @@ -173,7 +195,12 @@ The RunFlowComponent executes a specified flow within a larger workflow. It prov |-------------|-------------|------------------------------------------------| | run_outputs | List[Data] | The results generated from running the flow. | -## Sub Flow +## Sub flow + +:::important +This component is deprecated as of Langflow version 1.1.2. +Instead, use the [Run flow component](/components-logic#run-flow) +::: This `SubFlowComponent` generates a component from a flow with all of its inputs and outputs. diff --git a/docs/docs/Components/components-memories.md b/docs/docs/Components/components-memories.md index eeb16d8f3..a370273ad 100644 --- a/docs/docs/Components/components-memories.md +++ b/docs/docs/Components/components-memories.md @@ -61,6 +61,53 @@ This component creates a `CassandraChatMessageHistory` instance, enabling storag |-----------------|-------------------------|--------------------------------------------------------------| | message_history | BaseChatMessageHistory | An instance of CassandraChatMessageHistory for the session. | +## Mem0 Chat Memory + +The Mem0 Chat Memory component retrieves and stores chat messages using Mem0 memory storage. + +### Inputs + +| Name | Display Name | Info | +|------|--------------|------| +| mem0_config | Mem0 Configuration | Configuration dictionary for initializing Mem0 memory instance. | +| ingest_message | Message to Ingest | The message content to be ingested into Mem0 memory. | +| existing_memory | Existing Memory Instance | Optional existing Mem0 memory instance. | +| user_id | User ID | Identifier for the user associated with the messages. | +| search_query | Search Query | Input text for searching related memories in Mem0. | +| mem0_api_key | Mem0 API Key | API key for Mem0 platform (leave empty to use the local version). | +| metadata | Metadata | Additional metadata to associate with the ingested message. | +| openai_api_key | OpenAI API Key | API key for OpenAI. This item is required if you use OpenAI embeddings without a provided configuration. | + +### Outputs + +| Name | Display Name | Info | +|------|--------------|------| +| memory | Mem0 Memory | The resulting Mem0 Memory object after ingesting data. | +| search_results | Search Results | The search results from querying Mem0 memory. | + + +## Redis Chat Memory + +This component retrieves and stores chat messages from Redis. + +### Inputs + +| Name | Display Name | Info | +|------|--------------|------| +| host | hostname | IP address or hostname. | +| port | port | Redis Port Number. | +| database | database | Redis database. | +| username | Username | The Redis user name. | +| password | Password | The password for username. | +| key_prefix | Key prefix | Key prefix. | +| session_id | Session ID | Session ID for the message. | + +### Outputs + +| Name | Display Name | Info | +|------|--------------|------| +| memory | Memory | The Redis chat message history object | + ## ZepChatMemory Component This component creates a `ZepChatMessageHistory` instance, enabling storage and retrieval of chat messages using Zep, a memory server for Large Language Models (LLMs). diff --git a/docs/docs/Components/components-processing.md b/docs/docs/Components/components-processing.md index 8bb0d9251..783db21ab 100644 --- a/docs/docs/Components/components-processing.md +++ b/docs/docs/Components/components-processing.md @@ -9,12 +9,31 @@ Processing components process and transform data within a flow. ## Use a processing component in a flow -The **Split Text** processing component in this flow splits the incoming [data](/concepts-objects) into chunks to be embedded into the vector store component. +The **Split Text** processing component in this flow splits the incoming [Data](/concepts-objects) into chunks to be embedded into the vector store component. The component offers control over chunk size, overlap, and separator, which affect context and granularity in vector store retrieval results. ![](/img/vector-store-document-ingestion.png) +## Alter Metadata + +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) and [Data](/concepts-objects) objects, and can also create a new Data object from user-provided text. + +### Inputs + +| Name | Display Name | Info | +|------|--------------|------| +| input_value | Input | Objects to which Metadata should be added | +| text_in | User Text | Text input; value will be in 'text' attribute of Data object. Empty text entries are ignored. | +| metadata | Metadata | Metadata to add to each object | +| remove_fields | Fields to Remove | Metadata Fields to Remove | + +### Outputs + +| Name | Display Name | Info | +|------|--------------|------| +| data | Data | List of Input objects, each with added Metadata | + ## Combine Text This component concatenates two text sources into a single text chunk using a specified delimiter. @@ -153,3 +172,166 @@ This component splits text into chunks of a specified length. | max_chunk_size | Max Chunk Size | The maximum length, in characters, of each chunk. | | chunk_overlap | Chunk Overlap | The amount of character overlap between chunks. | | recursive | Recursive | Whether to split recursively. | + +## LLM Router + +This component routes requests to the most appropriate LLM based on OpenRouter model specifications. + +### Inputs + +| Name | Display Name | Info | +|------|--------------|------| +| models | Language Models | List of LLMs to route between | +| input_value | Input | The input message to be routed | +| judge_llm | Judge LLM | LLM that will evaluate and select the most appropriate model | +| optimization | Optimization | Optimization preference (quality/speed/cost/balanced) | + +### Outputs + +| Name | Display Name | Info | +|------|--------------|------| +| output | Output | The response from the selected model | +| selected_model | Selected Model | Name of the chosen model | + +## Merge Data (Data Combiner) + +This component combines data using different operations. + +### Inputs + +| Name | Display Name | Info | +|------|--------------|------| +| data_inputs | Data Inputs | Data to combine (minimum 2 inputs required) | +| operation | Operation Type | Operation to perform (Concatenate/Append/Merge/Join) | + +### Outputs + +| Name | Display Name | Info | +|------|--------------|------| +| combined_data | DataFrame | The combined data result | + +## Message to Data + +This component converts Message objects to Data objects. + +### Inputs + +| Name | Display Name | Info | +|------|--------------|------| +| message | Message | The Message object to convert to a Data object | + +### Outputs + +| Name | Display Name | Info | +|------|--------------|------| +| data | Data | The converted Data object | + +## Parse Data (Data to Message) + +This component converts Data objects into Messages using templated formatting. + +### Inputs + +| Name | Display Name | Info | +|------|--------------|------| +| data | Data | The data to convert to text (can be list) | +| template | Template | Template for formatting (`{text}`, `{data`, or any key in Data) | +| sep | Separator | Separator between multiple data items | + +### Outputs + +| Name | Display Name | Info | +|------|--------------|------| +| text | Message | Data as a single Message | +| data_list | Data List | Data as list of new Data objects | + +## Parse DataFrame + +This component converts DataFrames into plain text using templates. + +### Inputs + +| Name | Display Name | Info | +|------|--------------|------| +| df | DataFrame | The DataFrame to convert to text rows | +| template | Template | Template for formatting (use `{column_name}` placeholders) | +| sep | Separator | String to join rows in output | + +### Outputs + +| Name | Display Name | Info | +|------|--------------|------| +| text | Text | All rows combined into single text | + +## Parse JSON Data + +This component converts and extracts JSON fields using JQ queries. + +### Inputs + +| Name | Display Name | Info | +|------|--------------|------| +| input_value | Input | Data object to filter (Message or 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 objects | + +## Select Data + +This component selects a single data item from a list. + +### Inputs + +| Name | Display Name | Info | +|------|--------------|------| +| data_list | Data List | List of data to select from | +| data_index | Data Index | Index of the data to select | + +### Outputs + +| Name | Display Name | Info | +|------|--------------|------| +| selected_data | Selected Data | The selected Data object | + +## Split Text + +This component splits text into chunks based on specified criteria. + +### Inputs + +| Name | Display Name | Info | +|------|--------------|------| +| data_inputs | Data Inputs | The data to split | +| chunk_overlap | Chunk Overlap | Number of characters to overlap between chunks | +| chunk_size | Chunk Size | Maximum number of characters in each chunk | +| separator | Separator | Character to split on (defaults to newline) | + +### Outputs + +| Name | Display Name | Info | +|------|--------------|------| +| chunks | Chunks | List of split text chunks as Data objects | +| dataframe | DataFrame | The chunks as a DataFrame | + +## Update Data + +This component dynamically updates or appends data with specified fields. + +### Inputs + +| Name | Display Name | Info | +|------|--------------|------| +| old_data | Data | The records to update | +| number_of_fields | Number of Fields | Number of fields to add (max 15) | +| text_key | Text Key | Key for text content | +| text_key_validator | Text Key Validator | Validates text key presence | + +### Outputs + +| Name | Display Name | Info | +|------|--------------|------| +| data | Data | Updated Data objects | diff --git a/docs/docs/Components/components-tools.md b/docs/docs/Components/components-tools.md index 97c1075c4..26182fd43 100644 --- a/docs/docs/Components/components-tools.md +++ b/docs/docs/Components/components-tools.md @@ -25,6 +25,25 @@ To make a component into a tool that an agent can use, enable **Tool mode** in t If the component you want to connect to an agent doesn't have a **Tool mode** option, you can modify the component's inputs to become a tool. For an example, see [Make any component a tool](/agents-tool-calling-agent-component#make-any-component-a-tool). +## arXiv + +This component searches and retrieves papers from [arXiv.org](https://arXiv.org). + +### Inputs + +| Name | Display Name | Info | +|------|--------------|------| +| search_query | Search Query | The search query for arXiv papers (for example, `quantum computing`) | +| search_type | Search Field | The field to search in | +| max_results | Max Results | Maximum number of results to return | + +### Outputs + +| Name | Display Name | Info | +|------|--------------|------| +| papers | Papers | List of retrieved arXiv papers | + + ## Astra DB Tool The `Astra DB Tool` allows agents to connect to and query data from Astra DB collections. @@ -110,7 +129,7 @@ This component creates a tool for performing basic arithmetic operations on a gi | Name | Type | Description | |------------|--------|--------------------------------------------------------------------| -| expression | String | The arithmetic expression to evaluate (e.g., `4*4*(33/22)+12-20`). | +| expression | String | The arithmetic expression to evaluate (for example, `4*4*(33/22)+12-20`). | ### Outputs @@ -141,6 +160,42 @@ This component runs Icosa's Combinatorial Reasoning (CR) pipeline on an input to | optimized_prompt | Optimized Prompt| A message object containing the optimized prompt | | reasons | Selected Reasons| A list of the selected reasons that are embedded in the optimized prompt| +## DuckDuckGo search + +This component performs web searches using the [DuckDuckGo](https://www.duckduckgo.com) search engine with result-limiting capabilities. + +### Inputs + +| Name | Display Name | Info | +|------|--------------|------| +| input_value | Search Query | The search query to be used for the DuckDuckGo search | +| max_results | Max Results | Maximum number of results to return | +| max_snippet_length | Max Snippet Length | Maximum length of each result snippet | + +### Outputs + +| Name | Display Name | Info | +|------|--------------|------| +| data | Data | List of search results as Data objects | + +## Exa Search + +This component provides an [https://exa.ai/](Exa Search) toolkit for search and content retrieval. + +### Inputs + +| Name | Display Name | Info | +|------|--------------|------| +| metaphor_api_key | Exa Search API Key | API key for Exa Search (entered as a password) | +| use_autoprompt | Use Autoprompt | Whether to use autoprompt feature (default: true) | +| search_num_results | Search Number of Results | Number of results to return for search (default: 5) | +| similar_num_results | Similar Number of Results | Number of similar results to return (default: 5) | + +### Outputs + +| Name | Display Name | Info | +|------|--------------|------| +| tools | Tools | List of search tools provided by the toolkit | ## Glean Search API This component allows you to call the Glean Search API. @@ -353,6 +408,47 @@ This component creates a tool for searching using the Serp API. | results | List[Data]| List of search results | | tool | Tool | Serp API search tool for use in LangChain | +## Tavily AI Search + +This component performs searches using the Tavily AI search engine, which is optimized for LLMs and RAG applications. + +### Inputs + +| Name | Display Name | Info | +|------|--------------|------| +| api_key | Tavily API Key | Your Tavily API Key. | +| query | Search Query | The search query you want to execute with Tavily. | +| search_depth | Search Depth | The depth of the search. | +| topic | Search Topic | The category of the search. | +| max_results | Max Results | The maximum number of search results to return. | +| include_images | Include Images | Include a list of query-related images in the response. | +| include_answer | Include Answer | Include a short answer to original query. | + +### Outputs + +| Name | Display Name | Info | +|------|--------------|------| +| data | Data | The search results as a list of Data objects. | +| text | Text | The search results formatted as a text string. | + +## Wikidata + +This component performs a search using the Wikidata API. + +### Inputs + +| Name | Display Name | Info | +|------|--------------|------| +| query | Query | The text query for similarity search on Wikidata. | + +### Outputs + +| Name | Display Name | Info | +|------|--------------|------| +| data | Data | The search results from Wikidata API as a list of Data objects. | +| text | Message | The search results formatted as a text message. | + + ## Wikipedia API This component creates a tool for searching and retrieving information from Wikipedia. diff --git a/docs/docs/Components/components-vector-stores.md b/docs/docs/Components/components-vector-stores.md index 113e24f00..c989ddaeb 100644 --- a/docs/docs/Components/components-vector-stores.md +++ b/docs/docs/Components/components-vector-stores.md @@ -13,10 +13,6 @@ Vector database components are distinct from [memory components](/components-mem ## Use a vector store component in a flow -Vector databases can be populated from within Langflow with document ingestion pipelines, like the following - -![](/img/vector-store-document-ingestion.png) - This example uses the **Astra DB vector store** component. Your vector store component's parameters and authentication may be different, but the document ingestion workflow is the same. A document is loaded from a local machine and chunked. The Astra DB vector store generates embeddings with the connected [model](/components-models) component, and stores them in the connected Astra DB database. This vector data can then be retrieved for workloads like Retrieval Augmented Generation. @@ -63,8 +59,42 @@ For more information, see the [DataStax documentation](https://docs.datastax.com | Name | Display Name | Info | |------|--------------|------| -| vector_store | Vector Store | Built Astra DB vector store | -| search_results | Search Results | Results of the similarity search as a list of Data objects | +| vector_store | Vector Store | 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` objects. | + + +## AstraDB Graph vector store + +This component implements a Vector Store using AstraDB with graph capabilities. +For more information, see the [Astra DB Serverless documentation](https://docs.datastax.com/en/astra-db-serverless/tutorials/graph-rag.html). + +### Inputs + +| Name | Display Name | Info | +|------|--------------|------| +| collection_name | Collection Name | The name of the collection within AstraDB where the vectors will be stored (required) | +| token | Astra DB Application Token | Authentication token for accessing AstraDB (required) | +| api_endpoint | API Endpoint | API endpoint URL for the AstraDB service (required) | +| search_input | Search Input | Query string for similarity search | +| ingest_data | Ingest Data | Data to be ingested into the vector store | +| namespace | Namespace | Optional namespace within AstraDB to use for the collection | +| embedding | Embedding Model | Embedding model to use | +| metric | Metric | Distance metric for vector comparisons (options: "cosine", "euclidean", "dot_product") | +| setup_mode | Setup Mode | Configuration mode for setting up the vector store (options: "Sync", "Async", "Off") | +| pre_delete_collection | Pre Delete Collection | Boolean flag to determine whether to delete the collection before creating a new one | +| number_of_results | Number of Results | Number of results to return in similarity search (default: 4) | +| search_type | Search Type | Search type to use (options: "Similarity", "Graph Traversal", "Hybrid") | +| traversal_depth | Traversal Depth | Maximum depth for graph traversal searches (default: 1) | +| search_score_threshold | Search Score Threshold | Minimum similarity score threshold for search results | +| search_filter | Search Metadata Filter | Optional dictionary of filters to apply to the search query | + +### Outputs + +| Name | Display Name | Info | +|------|--------------|------| +| vector_store | Vector Store | Astra DB graph vector store instance configured with the specified parameters. | +| search_results | Search Results | The results of the similarity search as a list of `Data` objects. | + ## Cassandra @@ -98,8 +128,8 @@ For more information, see the [Cassandra documentation](https://cassandra.apache | Name | Type | Description | |------|------|-------------| -| vector_store | Cassandra | Cassandra vector store instance | -| search_results | List[Data] | Results of similarity search | +| vector_store | Cassandra | A Cassandra vector store instance configured with the specified parameters. | +| search_results | List[Data] | The results of the similarity search as a list of `Data` objects. | ## Cassandra Graph Vector Store @@ -129,8 +159,8 @@ This component implements a Cassandra Graph Vector Store with search capabilitie | Name | Display Name | Info | |------|--------------|------| -| vector_store | Vector Store | Built Cassandra Graph vector store | -| search_results | Search Results | Results of the similarity search as a list of Data objects | +| vector_store | Vector Store | A 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` objects. | ## Chroma DB @@ -223,6 +253,34 @@ For more information, see the [Couchbase documentation](https://docs.couchbase.c |----------------|------------------------|--------------------------------| | vector_store | CouchbaseVectorStore | A Couchbase vector store instance configured with the specified parameters. | + +## Elasticsearch + +This component creates an Elasticsearch Vector Store with search capabilities. +For more information, see the [Elasticsearch documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/dense-vector.html). + +### Inputs + +| Name | Type | Description | +|------|------|-------------| +| es_url | String | Elasticsearch server URL | +| es_user | String | Username for Elasticsearch authentication | +| es_password | SecretString | Password for Elasticsearch authentication | +| index_name | String | Name of the Elasticsearch index | +| strategy | String | Strategy for vector search ("approximate_k_nearest_neighbors" or "script_scoring") | +| distance_strategy | String | Strategy for distance calculation ("COSINE", "EUCLIDEAN_DISTANCE", "DOT_PRODUCT") | +| search_query | String | Query for similarity search | +| ingest_data | Data | Data to be ingested into the vector store | +| embedding | Embeddings | Embedding function to use | +| number_of_results | Integer | Number of results to return in search (default: 4) | + +### Outputs + +| Name | Type | Description | +|------|------|-------------| +| vector_store | ElasticsearchStore | Elasticsearch vector store instance | +| search_results | List[Data] | Results of similarity search | + ## FAISS This component creates a FAISS Vector Store with search capabilities. @@ -282,8 +340,8 @@ This component implements a Vector Store using HCD. | Name | Display Name | Info | |------|--------------|------| -| vector_store | Vector Store | Built HCD vector store instance | -| search_results | Search Results | Results of similarity search as a list of Data objects | +| vector_store | Vector Store | An HCD vector store instance The results of the similarity search as a list of `Data` objects.| +| search_results | Search Results | The results of the similarity search as a list of `Data` objects. | ## Milvus @@ -345,7 +403,7 @@ For more information, see the [MongoDB Atlas documentation](https://www.mongodb. ## Opensearch This component creates an Opensearch vector store with search capabilities -For more information, see [Opensearch documentation](https://opensearch.org/platform/search/vector-database.html) +For more information, see [Opensearch documentation](https://opensearch.org/platform/search/vector-database.html). ### Inputs @@ -633,8 +691,6 @@ For more information, see the [Weaviate Documentation](https://weaviate.io/devel |--------------|------------------|-------------------------------| | vector_store | WeaviateVectorStore | Weaviate vector store instance | -**Note:** Ensure Weaviate instance is running and accessible. Verify API key, index name, text key, and attributes are set correctly. - ## Weaviate Search This component searches a Weaviate Vector Store for documents similar to the input. @@ -659,3 +715,6 @@ For more information, see the [Weaviate Documentation](https://weaviate.io/devel | Name | Type | Description | |----------------|------------|----------------------------| | search_results | List[Data] | Results of similarity search | + + + diff --git a/docs/docs/Configuration/environment-variables.md b/docs/docs/Configuration/environment-variables.md index a49766da1..2917857ab 100644 --- a/docs/docs/Configuration/environment-variables.md +++ b/docs/docs/Configuration/environment-variables.md @@ -128,6 +128,8 @@ The following table lists the environment variables supported by Langflow. | `LANGFLOW_HEALTH_CHECK_MAX_RETRIES` | Integer | `5` | Set the maximum number of retries for the health check.
See [`--health-check-max-retries` option](./configuration-cli.md#run-health-check-max-retries). | | `LANGFLOW_HOST` | String | `127.0.0.1` | The host on which the Langflow server will run.
See [`--host` option](./configuration-cli.md#run-host). | | `LANGFLOW_LANGCHAIN_CACHE` | `InMemoryCache`
`SQLiteCache` | `InMemoryCache` | Type of cache to use.
See [`--cache` option](./configuration-cli.md#run-cache). | +| `LANGFLOW_LOG_LEVEL` | `DEBUG`
`INFO`
`WARNING`
`ERROR`
`CRITICAL` | `INFO` | Set the logging level for Langflow. | +| `LANGFLOW_LOG_FILE` | String | Not set | Path to the log file. If not set, logs will be written to stdout. | | `LANGFLOW_MAX_FILE_SIZE_UPLOAD` | Integer | `100` | Set the maximum file size for the upload in megabytes.
See [`--max-file-size-upload` option](./configuration-cli.md#run-max-file-size-upload). | | `LANGFLOW_MCP_SERVER_ENABLED` | Boolean | `true` | If set to False, Langflow will not enable the MCP server. | | `LANGFLOW_MCP_SERVER_ENABLE_PROGRESS_NOTIFICATIONS` | Boolean | `false` | If set to True, Langflow will send progress notifications in the MCP server. | diff --git a/docs/docs/Tutorials/tutorials-memory-chatbot.md b/docs/docs/Tutorials/tutorials-memory-chatbot.md index 17f0702db..ff0b87d8e 100644 --- a/docs/docs/Tutorials/tutorials-memory-chatbot.md +++ b/docs/docs/Tutorials/tutorials-memory-chatbot.md @@ -67,7 +67,7 @@ The **Message Logs** pane displays all previous messages, with each conversation In the **Memory Chatbot** flow you created, the **Chat Memory** component references past interactions by **Session ID**. You can demonstrate this by modifying the **Session ID** value to switch between conversation histories. 1. In the **Session ID** field of the **Chat Memory** and **Chat Input** components, add a **Session ID** value like `MySessionID`. -2. Now, once you send a new message the **Playground**, you should have a new memory created on the **Memories** tab. +2. Now, once you send a new message the **Playground**, you should have a new memory created in the **Message Logs** pane. 3. Notice how your conversation is being stored in different memory sessions. Learn more about chat memories in the [Memory](/components-memories) section.