Skip to main content
POST
RAG Query
The RAG Query endpoint executes a Retrieval-Augmented Generation (RAG) workflow by combining semantic search, optional knowledge graph integration, and large language model (LLM) generation. It returns contextually grounded, source-cited responses derived from your document corpus and external web content (if enabled). This endpoint is ideal for applications that require explainable AI answers, document-grounded responses, and real-time contextual reasoning.

Key Features

  • Combined retrieval and generation: Merges vector search, optional graph traversal, and LLM output generation in one request.
  • Automatic source citation: Each referenced document includes a unique citation identifier.
  • Streaming and non-streaming modes: Supports token-level updates or full-response delivery.
  • Provider flexibility: Compatible with OpenAI, Anthropic, Ollama, and other LiteLLM-supported models.
  • Web search integration: Optionally augments internal context with real-time external data.

Model Support

Request Body

The request body combines search configuration (for retrieval) and generation configuration (for LLM behavior).
All search parameters available in the /search endpoint can be reused here, including filters, hybrid search, and graph-enhanced retrieval.

Generation Configuration

Control model behavior using the rag_generation_config object. Example:
Parameters:
  • model: Specifies the model used for generation.
  • temperature: Controls output randomness (0 for deterministic, 1 for creative).
  • max_tokens: Sets maximum output length.
  • stream: Enables or disables token streaming for real-time responses.

Streaming Responses

When stream: true is enabled, the API emits Server-Sent Events (SSE) during processing.
Each event type corresponds to a distinct phase of the retrieval and generation workflow.
Example Response:

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Body

application/json
query
string

The user's question

search_mode
enum<string>
default:custom

Default value of custom allows full control over search settings. Pre-configured search modes: basic: A simple semantic-based search. advanced: A more powerful hybrid search combining semantic and full-text. custom: Full control via search_settings. If filters or limit are provided alongside basic or advanced, they will override the default settings for that mode.

Available options:
basic,
advanced,
custom
search_settings
object

The search configuration object. If search_mode is custom, these settings are used as-is. For basic or advanced, these settings will override the default mode configuration. Common overrides include filters to narrow results and limit to control how many results are returned.

rag_generation_config
object

Configuration for RAG generation

task_prompt
string

Optional custom prompt to override default

include_title_if_available
boolean
default:false

Include document titles in responses when available

Include web search results provided to the LLM.

Response

200

key
string
Example:

"value"