Skip to main content
Version: DEV

Retrieval component

A component that retrieves information from specified datasets.

Scenarios

A Retrieval component is essential in most RAG scenarios, where information is extracted from designated knowledge bases before being sent to the LLM for content generation. A Retrieval component can operate either as a standalone workflow module or as a tool for an Agent component. In the latter role, the Agent component has autonomous control over when to invoke it for query and retrieval.

The following screenshot shows a reference design using the Retrieval component, where the component serves as a tool for an Agent component. You can find it from the Report Agent Using Knowledge Base Agent template.

retrieval_reference_design

Prerequisites

Ensure you have properly configured your target knowledge base(s).

Quickstart

1. Click on a Retrieval component to show its configuration panel

The corresponding configuration panel appears to the right of the canvas. Use this panel to define and fine-tune the Retrieval component's search behavior.

2. Input query variable(s)

The Retrieval component depends on query variables to specify its queries.

IMPORTANT
  • If you use the Retrieval component as a standalone workflow module, input query variables in the Input Variables text box.
  • If it is used as a tool for an Agent component, input the query variables in the Agent component's User prompt field.

By default, you can use sys.query, which is the user query and the default output of the Begin component. All global variables defined before the Retrieval component can also be used as query statements. Use the (x) button or type / to show all the available query variables.

3. Select knowledge base(s) to query

You can specify one or multiple knowledge bases to retrieve data from. If selecting mutiple, ensure they use the same embedding model.

4. Expand Advanced Settings to configure the retrieval method

By default, a combination of weighted keyword similarity and weighted vector cosine similarity is used for retrieval. If a rerank model is selected, a combination of weighted keyword similarity and weighted reranking score will be used instead.

As a starter, you can skip this step to stay with the default retrieval method.

WARNING

Using a rerank model will significantly increase the system's response time. If you must use a rerank model, ensure you use a SaaS reranker; if you prefer a locally deployed rerank model, ensure you start RAGFlow with docker-compose-gpu.yml.

If your user query is different from the languages of the knowledge bases, you can select the target languages in the Cross-language search dropdown menu. The model will then translates queries to ensure accurate matching of semantic meaning across languages.

6. Test retrieval results

Click the Run button on the top of canvas to test the retrieval results.

7. Choose the next component

When necessary, click the + button on the Retrieval component to choose the next component in the worflow from the dropdown list.

Configurations

Query variables

Mandatory

Select the query source for retrieval. Defaults to sys.query, which is the default output of the Begin component.

The Retrieval component relies on query variables to specify its queries. All global variables defined before the Retrieval component can also be used as queries. Use the (x) button or type / to show all the available query variables.

Knowledge bases

Select the knowledge base(s) to retrieve data from.

  • If no knowledge base is selected, meaning conversations with the agent will not be based on any knowledge base, ensure that the Empty response field is left blank to avoid an error.
  • If you select multiple knowledge bases, you must ensure that the knowledge bases (datasets) you select use the same embedding model; otherwise, an error message would occur.

Similarity threshold

RAGFlow employs a combination of weighted keyword similarity and weighted vector cosine similarity during retrieval. This parameter sets the threshold for similarities between the user query and chunks stored in the datasets. Any chunk with a similarity score below this threshold will be excluded from the results.

Defaults to 0.2.

Keyword similarity weight

This parameter sets the weight of keyword similarity in the combined similarity score. The total of the two weights must equal 1.0. Its default value is 0.7, which means the weight of vector similarity in the combined search is 1 - 0.7 = 0.3.

Top N

This parameter selects the "Top N" chunks from retrieved ones and feed them to the LLM.

Defaults to 8.

Rerank model

Optional

If a rerank model is selected, a combination of weighted keyword similarity and weighted reranking score will be used for retrieval.

WARNING

Using a rerank model will significantly increase the system's response time.

Empty response

  • Set this as a response if no results are retrieved from the knowledge base(s) for your query, or
  • Leave this field blank to allow the chat model to improvise when nothing is found.
WARNING

If you do not specify a knowledge base, you must leave this field blank; otherwise, an error would occur.

Select one or more languages for cross‑language search. If no language is selected, the system searches with the original query.

Use knowledge graph

IMPORTANT

Before enabling this feature, ensure you have properly constructed a knowledge graph from each target knowledge base.

Whether to use knowledge graph(s) in the specified knowledge base(s) during retrieval for multi-hop question answering. When enabled, this would involve iterative searches across entity, relationship, and community report chunks, greatly increasing retrieval time.

Output

The global variable name for the output of the Retrieval component, which can be referenced by other components in the workflow.

Frequently asked questions

How to reduce response time?

Go through the checklist below for best performance:

  • Leave the Rerank model field empty.
  • If you must use a rerank model, ensure you use a SaaS reranker; if you prefer a locally deployed rerank model, ensure you start RAGFlow with docker-compose-gpu.yml.
  • Disable Use knowledge graph.