OpenRAG includes a built-in Langflow instance for creating and managing functional application workflows called flows.
+In a flow, the individual workflow steps are represented by components that are connected together to form a complete process.
+
OpenRAG includes several built-in flows:
-- The Agent component orchestrates the entire flow by deciding when to search the knowledge base, how to formulate search queries, and how to combine retrieved information with the user's question to generate a comprehensive response.
-The Agent behaves according to the prompt in the Agent Instructions field.
-- The Chat Input component is connected to the Agent component's Input port. This allows to flow to be triggered by an incoming prompt from a user or application.
-- The OpenSearch component is connected to the Agent component's Tools port. The agent might not use this database for every request; the agent only uses this connection if it decides the knowledge can help respond to the prompt.
-- The Language Model component is connected to the Agent component's Language Model port. The agent uses the connected LLM to reason through the request sent through Chat Input.
-- The Embedding Model component is connected to the OpenSearch component's Embedding port. This component converts text queries into vector representations that are compared with document embeddings stored in OpenSearch for semantic similarity matching. This gives your Agent's queries context.
-- The Text Input component is populated with the global variable
OPENRAG-QUERY-FILTER.
-This filter is the Knowledge filter, and filters which knowledge sources to search through.
-- The Agent component's Output port is connected to the Chat Output component, which returns the final response to the user or application.
-- An MCP Tools component is connected to the Agent's Tools port. This component calls the OpenSearch URL Ingestion flow, which Langflow uses as an MCP server to fetch content from URLs and store in OpenSearch.
+- The OpenRAG OpenSearch Agent flow powers the Chat feature in OpenRAG.
+- The OpenSearch Ingestion and OpenSearch URL Ingestion flows process documents and web content for storage in your OpenSearch knowledge base.
+- The OpenRAG OpenSearch Nudges flow provides optional contextual suggestions in the OpenRAG Chat.
-
All flows included with OpenRAG are designed to be modular, performant, and provider-agnostic.
-To modify a flow, click Settings, and click Edit in Langflow.
-OpenRAG's visual editor is based on the Langflow visual editor, so you can edit your flows to match your specific use case.
-
For an example of changing out the agent's language model in OpenRAG, see the Quickstart.
-
To restore the flow to its initial state, in OpenRAG, click Settings, and then click Restore Flow.
-OpenRAG warns you that this discards all custom settings. Click Restore to restore the flow.
-
Additional Langflow functionality
-
Langflow includes features beyond Agents to help you integrate OpenRAG into your application, and all Langflow features are included in OpenRAG.
+
You can customize these flows and create your own flows using OpenRAG's embedded Langflow visual editor.
+
Inspect and modify flows
+
All OpenRAG flows are designed to be modular, performant, and provider-agnostic.
+
To modify a flow in OpenRAG, click Settings.
+From here, you can quickly edit commonly used parameters, such as the Language model and Agent Instructions.
+To further explore and edit the flow, click Edit in Langflow to launch the embedded Langflow visual editor where you can fully customize the flow to suit your use case.
+
For example, to view and edit the built-in Chat flow (the OpenRAG OpenSearch Agent flow), do the following:
+
+-
+
In OpenRAG, click Chat.
+
+-
+
Click Settings, and then click Edit in Langflow to launch the Langflow visual editor in a new browser window.
+If prompted to acknowledge that you are entering Langflow, click Proceed.
+If Langflow requests login information, enter the LANGFLOW_SUPERUSER and LANGFLOW_SUPERUSER_PASSWORD from the .env file in your OpenRAG installation directory.
+
+
+-
+
Modify the flow as desired, and then press Command+S (Ctrl+S) to save your changes.
+You can close the Langflow browser window, or leave it open if you want to continue experimenting with the flow editor.
+If you modify the built-in Chat flow, make sure you click in the Conversations tab to start a new conversation. This ensures that the chat doesn't persist any context from the previous conversation with the original flow settings.
+
+
+
Revert a built-in flow to its original configuration
+
After you edit a built-in flow, you can click Restore flow on the Settings page to revert the flow to its original state when you first installed OpenRAG.
+This is a destructive action that discards all customizations to the flow.
+
Build custom flows and use other Langflow functionality
+
In addition to OpenRAG's built-in flows, all Langflow features are available through OpenRAG, including the ability to create your own flows and popular extensibility features such as the following:
+
+
Explore the Langflow documentation to learn more about the Langflow platform, features, and visual editor.
+
Set the Langflow version
+
By default, OpenRAG is pinned to the latest Langflow Docker image for stability.
+
If necessary, you can set a specific Langflow version with the LANGFLOW_VERSION. However, there are risks to changing this setting:
-
-
Langflow can serve your flows as an MCP server, or consume other MCP servers as an MCP client. Get started with the MCP tutorial.
+The Langflow documentation describes the functionality present in the latest release of the Langflow OSS Python package. If your LANGFLOW_VERSION is different, the Langflow documentation might not align with the features and default settings in your OpenRAG installation.
-
-
If you don't see the component you need, extend Langflow's functionality by creating custom Python components.
+Components might break, including components in OpenRAG's built-in flows.
-
-
Langflow offers component bundles to integrate with many popular vector stores, AI/ML providers, and search APIs.
+Default settings and behaviors might change causing unexpected results when OpenRAG expects a newer default.
-