Ask it
RAG & chat with answers you can audit
Retrieval-augmented generation grounded in your content. Every answer streams back with inline citations you can trace to the exact source passage — with relevance gates, an optional groundedness check and a deterministic refusal when 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 straight through to the passage the model used. Provider-agnostic: it's your retrieval, not a vendor's citation API.
Pluggable reranker
Sharpen the candidate set with the reranker that fits your budget — an LLM reranker, a local cross-encoder or a managed service like Cohere — all behind a fail-open interface, so a reranker outage degrades gracefully instead of breaking search.
Relevance gate & honest refusal
A configurable similarity floor drops weak matches, and when nothing clears the bar the chat short-circuits to a localized “this isn't covered here” answer — no LLM call, no hallucinated filler.
Optional groundedness check
Turn on a post-generation faithfulness audit and any answer the check can't support gets a low-confidence caveat appended — a second line of defense against confident-but-wrong responses.
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 for a responsive chat UI.
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} />;
}