Turn documents into cited, graph-aware answers.
GraphRAG is a multi-tenant knowledge API. Upload a partner’s documents; it extracts an entity & relationship graph, and answers questions with hybrid retrieval and citations back to the source — each tenant fully isolated.
No vendor lock-in · runs on your infrastructure via Docker Compose
# Ask, and get an answer grounded in your own documents
curl -X POST https://api.your-host/v1/answer \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "How do we handle refunds?", "k": 6}'
# → { "answer": "...", "citations": [ … ], "graph_used": false } Why GraphRAG
Everything a partner knowledge base needs
Built for teams running document intelligence for multiple customers — safely, and with answers you can trust.
Per-tenant isolation
Every project gets its own isolated knowledge base — enforced at both the application and database layers. One tenant can never reach another’s data.
Entity & relationship graph
Ingestion extracts a typed knowledge graph from your documents — entities, aliases and relationships — with every fact traceable to a source passage.
Hybrid retrieval + citations
Semantic vector search fused with keyword search and cross-encoder re-ranking. Every answer cites the exact chunks it used.
Native vector search
Nearest-neighbour search runs on a native vector index inside the graph store — no brute-force scan, no separate vector database to operate.
Backups & tested restores
Automated per-tenant backups with restores that are actually drilled on a schedule — a backup is only real once it has been restored.
Simple REST API
Create a project, upload documents, ask questions. Bearer-token auth, async ingestion with job polling, and an SSE streaming answer endpoint.
How it works
From raw documents to grounded answers
Create a project
Provision an isolated tenant and receive an API key.
Upload documents
PDF, Office, HTML, Markdown and more — parsed and chunked for you.
Graph is built
Entities, relationships and embeddings are extracted asynchronously.
Ask questions
Get a synthesized answer with citations back to your sources.
Evidence-first
Answers you can defend, not just plausible text
Retrieval is graded on whether it surfaces the right evidence, and answers are validated against the passages they cite. Graph-based answering is only enabled once it is measured to help on real documents — so you get robust results today and a proven upgrade later, never an unproven feature.
- Citations resolve to real chunks in your own corpus
- Refusal-first: an unsupported question is declined, not invented
- Per-tenant isolation verified at the database layer
- Rigorous, documented evaluation before anything ships
{
"answer": "Refunds are issued within
14 days of purchase [chunk:doc:…:3].",
"citations": [
{
"chunk_id": "chunk:doc:8f2…:3",
"document_id": "doc:8f2…",
"text": "Refunds are processed…",
"source": "retrieval"
}
],
"graph_used": false
} Ship a grounded knowledge base for your next partner
Create a project, upload documents, and start answering — self-hosted, isolated, and cited.