Document retrieval for AI agents

Give your AI agent context
it can cite.

Temporal Graph Memory connects your documents and returns original passages with sources and version history. No generative LLM in the retrieval engine.

Pilot access starts with a 30-minute call. We set up your account during onboarding. How access works

Scroll to explore

Example retrieval

See the document.
Check the passage.

One sample contract. Three ways to inspect the evidence your agent receives.

Illustrative sample data · not a live API call or a benchmark result

DOCUMENT → RETRIEVALCurrent version · v2
SOURCE DOCUMENT

Service agreement

sample-contract.md v2

01

Billing

Invoices are issued monthly and are payable within thirty days of receipt.

02

Termination

Either party may terminate this agreement with sixty days' written notice.

↑ This exact passage is returned
03

Support

Support requests may be submitted by email on business days.

A fictional document created for this example.

YOUR QUESTION

How much notice do we need to cancel the agreement?

Supporting passage found

Either party may terminate this agreement with sixty days' written notice.

The returned passage is the highlighted text in section 2. Your application can cite it directly.

sample-contract.md · section 2 · version 2

Original text, with its sourcenot_covered: false

A source you can inspect, not just an answer to trust.

An exact quote still needs a relevance and completeness check. How source attribution works

Proof

Every number is a real test result.

94.4%
152 of 161 answered questions graded excellent
100%
55 of 55 absent-entity questions refused in the evaluation
0
fabricated quotes observed in the evaluation
22 ms
median engine search in the evaluation

Results from the documented evaluation, not a guarantee for every question or dataset. Answer quality is measured on answered questions. Engine timing excludes network overhead. Read the methodology and limitations →

How it works

From scattered files to living memory

01Ingest

Ingest your data

One API call. Text and markdown in; other formats convert during onboarding.

02Chunk

Split into passages

Sentence-level passages that keep their exact bytes. No schema, no tagging.

03Connect

Build the graph

Passages link by meaning. Search in ~22 ms, about half a second end-to-end.

Text and Markdown · other formats during onboarding
Code
Docs
Research
More
Split into semantic chunks
One connected knowledge graph
auth.py
auth.py
router.py
router.py
models.py
models.py
contract.md
contract.md
policy.md
policy.md
handbook.md
handbook.md
study.pdf
study.pdf
results.pdf
results.pdf
review.pdf
review.pdf
Your documents get a history

Every graph comes with versioning.
Ask any version, get its exact answer.

Update or delete documents freely. Old versions keep answering exactly as they did.

100%
identical answers in the recorded replay evaluation
under 1 s
recorded restore time in the evaluation
0
old answers changed by new uploads in the evaluation

Recorded results depend on the dataset and workload. Queries pause while a graph change indexes. Read about version history.

FEATURES

Cross-
Repository
Logs
Document
Research
Linking

TGM cross-links every document set you give it, contracts, policies, research, reports, into one knowledge graph, so related passages surface together and every one still names its source.

class FastAPI
fastapi/applications.py
Python
router.include_router()
fastapi/routing.py
Caller
APIRouter
fastapi/routing.py:L42
Linked
FOR YOUR AGENT

Connect your agent

pip install searchcandy. Start with the quickstart after pilot access is set up.

msa.md
ingested ✓
handbook.pdf
skipped, named
policy.md
ingested ✓
terms.txt
ingested ✓
notice.md
ingested ✓
INGEST

Nothing is silently dropped

Every file gets a receipt: ingested, or skipped with the reason. Retries are designed to avoid duplicate ingestion.

grounded answer
not covered · 0 tokens
ask
evidence?
serve
NOT COVERED

An answer, or an honest no

Your code gets grounded passages, or not_covered: true. Your application handles the coverage result separately from API errors.

What is the termination notice period?
msa.md · “notice period is thirty days”
msa.md · “cure period is fifteen days”
not_covered: false · source named on every passage
RETRIEVE

Every quote names its source

Passages come back word for word from your documents, with the file each one came from.

Book a call →
Concierge onboarding · timing agreed during your pilot discussion

What TGM provides

Original passages

TGM returns passages from your documents with a source identifier. Source fidelity is separate from whether a passage fully answers a question.

Coverage signal

Responses include not_covered so your application can handle questions without returned evidence. Evaluation results are documented below.

Versioned retrieval

Query a saved graph version to inspect the passages returned from that version of your documents.

No generative LLM in the retrieval engine

The documented engine connects passages using embeddings. Your application can use the retrieved context with a language model.

RAG and GraphRAG capabilities depend on the implementation. We have not published a head-to-head evaluation here. Read the TGM evaluation.

Pilot access

Start with your retrieval problem.

Use the 30-minute call to discuss your documents, the questions your application needs to answer, and whether a pilot is a fit. Booking requests require confirmation.

  1. Discuss the use case

    Bring a description of the documents and a few representative questions. You do not need to upload documents to book.

  2. Agree on a pilot

    Confirm scope, access, pricing, and how results will be evaluated before proceeding.

  3. Get onboarded

    Your account and API key are set up during onboarding. Then connect the SDK and evaluate on your agreed document set.

Discuss your use case →

Prepare a pilot evaluation · How access works

Before you book

Who is SearchCandy for?

Developers building AI applications that need document passages with source identifiers and version history. The current onboarding flow is a concierge pilot.

Does TGM generate a final answer?

The retrieval engine returns original passages. Your application decides how to present them or use them with a language model. A downstream generated answer needs its own evaluation.

Which file types can I use?

The documented ingestion flow accepts plain text and Markdown. Other formats, including PDF, are converted with you during onboarding.

Can I start immediately after installing the SDK?

You need a pilot account and API key first. Book a call to discuss fit and onboarding. Installing the package alone does not grant API access.

What happens while I update documents?

Queries pause while a graph change indexes. The pause depends on the size of the change. Saved versions remain part of the graph history.

What does 94.4% mean?

152 of 161 answered questions were graded excellent in the documented evaluation. It does not describe coverage of every authored question or guarantee results on your documents.

For data-handling terms, read the privacy policy and terms of service. Confirm requirements for your documents during the pilot discussion.

SearchCandy Labs

We build Temporal Graph Memory for document retrieval in AI applications. Explore the documentation and evaluation before deciding whether to start a pilot.

hello@searchcandy-labs.com · Evaluation and limitations