One API for retrieval
Skip the routing, parsing, chunking, deduping, embedding, indexing, query rewriting, and rerank pipeline you were about to build.
/ingest -> /retrieveIngest through pre-built connectors or /ingest. Call /retrieve. Toller tunes itself from real usage. No pipeline or eval harness needed.
// Retrieve top results for a query const results = await toller.retrieve({ collection: "support-knowledge", query: "refund policy for annual plans", limit: 3, });
Every /retrieve call is a signal. Toller uses your real queries to tune the rewriter, reranker, and embeddings against your traffic. No eval harness to maintain.
Skip the routing, parsing, chunking, deduping, embedding, indexing, query rewriting, and rerank pipeline you were about to build.
/ingest -> /retrievePush text, PDFs, screenshots, audio, and structured rows into the same collection. Retrieve across them with a single query.
text · pdf · image · audioEvery result returns source URL, exact span, and confidence. Wire straight into your LLM for grounded answers.
source -> span -> answerToller handles ingest, watch, and reconciliation logic for the systems your knowledge already lives in. Auth once; new documents land in the index within seconds.
Free to start, no card. Move to pay-as-you-go when your traffic outgrows the quota.