Skip to content

Query Rag

POST
/api/agents/pipeline/research/rag-query

Query RAG system for relevant documents via Lagan.

Splits body.research_terms on commas, dedupes to MAX_RESEARCH_TERMS, fans out one concurrent divinity/lagan-research-query dispatch per term via asyncio.gather(..., return_exceptions=True) so a single failing term degrades gracefully instead of sinking the whole batch. Response carries terms_submitted / terms_processed / terms_failed so the client can surface partial-success states.

RagQueryRequest

Request for RAG query.

object
researchTerms
required
Researchterms

Comma-separated terms

string
>= 1 characters
maxResults
Maxresults
integer
default: 5 >= 1 <= 50

Successful Response

RagQueryResponse

Response for RAG query.

object
results
Results
Array<object>
RagResultItem

Single RAG result.

object
content
required
Content

Document content

string
relevance
required
Relevance

Relevance score

number
<= 1
source
Source

Source name

string
default: knowledge_base
metadata
Metadata
object
key
additional properties
string
totalCount
Totalcount

Deduplicated result count before max_results trimming

integer
0
deduplicationStats
DeduplicationStats

Deduplication statistics for RAG queries.

object
originalCount
Originalcount
integer
0
deduplicatedCount
Deduplicatedcount
integer
0
termsSubmitted
Termssubmitted

Number of terms the client sent in research_terms

integer
0
termsProcessed
Termsprocessed

Number of terms actually queried (capped at MAX_RESEARCH_TERMS)

integer
0
termsFailed
Termsfailed

Number of queried terms whose LLM call raised an exception

integer
0

Validation Error

HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object