Most of a RAG system is not the language model — it is retrieval: finding the five passages that actually answer the question, in the right tenant, with the right permissions. AACSearch already is that retrieval layer, so the assistant is a thin step on top: bind it to collections, ask a question, get an answer plus the numbered sources the model saw.
Pick the collections it may read and the fields that go into the prompt. Each collection can carry its own standing filter.
The question is rewritten into a search, matching documents are retrieved — with hybrid ranking when the collection has an embedding field — and the model answers only from them.
The response lists the sources in the order the model saw them — [1], [2], … — with collection, document, score and the matched snippet.
A model cannot cite a passage that was never retrieved. The assistant inherits everything the search stack does: typo and layout rescue, synonyms, hybrid retrieval, filters. Per turn you can add a filter_by — a product line, a documentation version, a customer's own records — and cap the evidence with max_sources.
Two retrieval modes trade speed for completeness. single rewrites the question once and searches. agentic may run one more search when the first sources look incomplete, at the price of higher latency and AI credit use.
Questions like «what are the recurring complaints about delivery?» have no single passage to retrieve. For those, entities, claims and communities can be extracted from a collection into a knowledge graph, and graph search answers over the whole corpus — the assistant blends both kinds of evidence when it is relevant.
Sources are part of the response schema, not a prompt trick — render them as links under the answer.
Stream tokens as they arrive; pass conversation_id to continue a dialogue without resending history.
The assistant reads only its bound collections, through the same key scopes as search — it can be called from a browser key.
The MCP server exposes the same search and assistant operations to Claude, Cursor and other agent clients.
New to the term? The glossary explains RAG (retrieval-augmented generation) from first principles.
{
"messages": [
{ "role": "user", "content": "Can I return a customised item?" }
],
"filter_by": "locale:=en",
"max_sources": 5,
"retrieval_mode": "single"
}
// -> { "message": { "content": "Customised items can be returned within… [1]" },
// "sources": [ { "collection": "help", "document": {…}, "snippet": "…" } ],
// "conversation_id": "…" }Explore more
The best way to evaluate a search platform isn't reading one more comparison table.
Only then make the decision.