Ask it
RAG & chat with answers you can audit
Retrieval-augmented generation grounded in your content. Every answer streams back with inline citations to the exact source passage. Relevance gates, an optional groundedness check and a deterministic refusal cover the case where the answer isn't in your data.
Grounded answers with real citations
Retrieval metadata flows end-to-end: every cited chunk carries its source, title, URL and score out to the UI as source chips, so a reader can click through to the passage the model used. It is provider-agnostic, because the citations come from your retrieval and not from a vendor's citation API.
Pluggable reranker
Pick the reranker that fits your budget: an LLM reranker, a local cross-encoder or a managed service like Cohere. All of them sit behind a fail-open interface, so a reranker outage does not break search.
Relevance gate & honest refusal
A configurable similarity floor drops weak matches. When nothing clears the bar, the chat short-circuits to a localized “this isn't covered here” answer without calling the LLM.
Optional groundedness check
Turn on a post-generation faithfulness audit, and any answer the check can't support gets a low-confidence caveat appended.
Embedded vector store, streamed responses
Use the built-in Lucene KNN vector store or your engine's own vectors, fused with keyword search via RRF. Answers stream token-by-token over SSE.
import { useTuringChat } from "@viglet/turing-react-sdk";
function Assistant() {
const { messages, send } = useTuringChat({ agent: "support" });
// each assistant message carries .sources[] (the cited passages)
return <ChatThread messages={messages} onSend={send} />;
}Questions teams ask
- Where do the citations come from?
- From your own retrieval, not from a model vendor's citation feature. Each passage the answer used carries its source, title, URL and score to the UI, so citations work the same with every LLM provider.
- What happens when the answer is not in my content?
- If no passage clears the similarity floor, the chat answers that the topic is not covered here, in the visitor's language, without calling the LLM. A strict grounding mode keeps an agent from answering outside the retrieved content at all.
- Can I do RAG without embeddings?
- Yes, for structured content. In vectorless mode, a question is turned into filters over the fields you declared and answered with citations from the matching records, with no embeddings to compute or store.
- Which rerankers can I use?
- An LLM reranker, a local cross-encoder or Cohere's managed reranker. They sit behind a fail-open interface: if the reranker is down, results come back in retrieval order instead of failing.