AI Powered Search
Search
Perform a basic vector search:Response
Response
object
The search results from the R2R system.
string
required
The search query.
VectorSearchSettings | Record<string, any>
default:"None"
Optional settings for vector search, either a dictionary, a
VectorSearchSettings object, or None may be passed. If a dictionary or None is passed, then R2R will use server-side defaults for non-specified fields.Optional[Union[KGSearchSettings, dict]]
default:"None"
Optional settings for knowledge graph search, either a dictionary, a
KGSearchSettings object, or None may be passed. If a dictionary or None is passed, then R2R will use server-side defaults for non-specified fields.Search custom settings
Search with custom settings, such as bespoke document filters and larger search limitsHybrid Search
Combine traditional keyword-based search with vector search:Knowledge Graph Search
Utilize knowledge graph capabilities to enhance search results:Response
Response
object
The knowledge graph search results from the R2R system.
Retrieval-Augmented Generation (RAG)
Basic RAG
Generate a response using RAG:Response
Response
dict
The RAG response from the R2R system.
str
required
The query for RAG.
Optional[Union[VectorSearchSettings, dict]]
default:"None"
Optional settings for vector search, either a dictionary, a
VectorSearchSettings object, or None may be passed. If a dictionary is used, non-specified fields will use the server-side default.Optional[Union[KGSearchSettings, dict]]
default:"None"
Optional settings for knowledge graph search, either a dictionary, a
KGSearchSettings object, or None may be passed. If a dictionary or None is passed, then R2R will use server-side defaults for non-specified fields.Optional[Union[GenerationConfig, dict]]
default:"None"
Optional configuration for LLM to use during RAG generation, including model selection and parameters. Will default to values specified in
r2r.toml.Optional[str]
default:"None"
Optional custom prompt to override the default task prompt.
Optional[bool]
default:"True"
Augment document chunks with their respective document titles?
RAG with custom search settings
Use hybrid search in RAG:RAG with custom completion LLM
Use a different LLM model for RAG:Streaming RAG
Stream RAG responses for real-time applications:Advanced RAG Techniques
R2R supports advanced Retrieval-Augmented Generation (RAG) techniques that can be easily configured at runtime. These techniques include Hypothetical Document Embeddings (HyDE) and RAG-Fusion, which can significantly enhance the quality and relevance of retrieved information. To use an advanced RAG technique, you can specify thesearch_strategy parameter in your vector search settings:
Customizing RAG
Putting everything together for highly custom RAG functionality:Agents
Multi-turn agentic RAG
The R2R application includes agents which come equipped with a search tool, enabling them to perform RAG. Using the R2R Agent for multi-turn conversations:Response
Response
object
The agent endpoint will return the entire conversation as a response, including internal tool calls.
Array<Message>
required
The array of messages to pass to the RAG agent.
boolean
default:true
Whether to use vector search.
object
Optional filters for the search.
number
default:10
The maximum number of search results to return.
boolean
default:false
Whether to perform a hybrid search (combining vector and keyword search).
boolean
default:false
Whether to use knowledge graph search.
object
Optional configuration for knowledge graph search generation.
GenerationConfig
Optional configuration for RAG generation, including model selection and parameters.
string
Optional custom prompt to override the default task prompt.
boolean
default:true
Whether to include document titles in the context if available.
Multi-turn agentic RAG with streaming
The response from the RAG agent may be streamed directly back:Response
Response
ReadableStream
The agent endpoint will stream back its response, including internal tool calls.

