Aktilot
MIT licensed · actively developed

Chat with your documents.
On your infrastructure.

Aktilot is a self-hosted, open-source RAG platform. Upload your documents, ask questions in plain English, and get cited answers — with no data ever leaving your servers.

Aktilot abstract brand graphic

The problem with document AI today

Your team has documents everywhere — contracts, reports, runbooks, research papers — and finding answers means either manually digging through files or paying for a hosted AI service that ingests your sensitive data. Hosted document AI tools are expensive, opaque, and require you to hand over your files to a third party. Building your own RAG pipeline from scratch means weeks of engineering work just to get a working prototype.

Aktilot fills that gap — a self-hosted platform that lets you ask questions in plain English, in minutes not weeks, with your data staying exactly where it is.

What Aktilot does

Everything you need to turn a pile of documents into a reliable, traceable Q&A system.

Projects isolate your knowledge

Group documents by team, client, or use case. Each project gets its own isolated vector store, so a query against your legal documents never bleeds into your engineering runbooks.

Agents that know their role

Each agent has a configurable system prompt, persona, and retrieval depth (top_k). Your customer-facing support bot and internal audit agent can live in the same project and behave completely differently.

Upload PDF, Word, or plain text

Drop in a file and Aktilot handles the rest: splitting it into overlapping chunks, embedding each one via OpenAI, and indexing it into ChromaDB — with live processing status in the UI.

Answers with sources, always

Every response includes the exact document chunks it was built from — filename, chunk position, and relevance score. No hallucination hiding behind a confident tone.

Full pipeline transparency

The UI exposes the full retrieval trace for each query: extracted keywords, vector search candidates, reranking, assembled context, and per-step timing. Nothing is a black box.

Resilient by design

Ingestion and chat both run as durable Temporal workflows. Every activity is checkpointed — if OpenAI rate-limits you mid-pipeline, only the failed step retries, and no API credits are wasted.

Runs on your infrastructure

Postgres, ChromaDB, and the worker all run in Docker. Your documents never leave your network. You control the OpenAI key, the storage, and the retention policy.

Observability out of the box

Metrics, traces, and 7 pre-built Grafana dashboards covering LLM performance, retrieval quality, token costs, prompt intelligence, vector DB health, and Temporal workflow execution.

Aktilot uses a hybrid BM25 + vector retrieval approach — combining keyword overlap scoring with semantic similarity — which consistently outperforms pure vector search on precise factual questions like dates, names, and figures.

Durable by design

Document ingestion and chat both run as workflows on a Temporal cluster. Every activity is individually retryable and checkpointed — a failed OpenAI call retries alone, without re-running earlier steps or wasting API credits.

  • DocumentWorkflowchunks, embeds, and indexes uploaded files into ChromaDB
  • ChatWorkflowhybrid retrieval, LLM generation, conversation persistence
  • BenchmarkWorkflowevaluates retrieval quality with Recall@K, MRR, and latency (coming soon)
Read the architecture deep dive →
Aktilot architecture diagram: Temporal cluster orchestrating DocumentWorkflow, ChatWorkflow, and BenchmarkWorkflow across Postgres, ChromaDB, and an evaluation DB

See exactly where every answer comes from

Every chat response is grounded in your uploaded documents and shows its receipts.

Aktilot chat interface showing a grounded answer with cited source chunks

Who's behind this

Vikas Pandey

Vikas Pandey

Principle Engineer

Aktilot is built and maintained by Vikas Pandey, a software engineer and payments architect with 17+ years building infrastructure that moves money reliably at scale — UPI, card processing, and distributed systems that can't afford to be wrong. Aktilot applies that same discipline to RAG: durable, checkpointed workflows instead of fire-and-forget scripts, and full observability instead of a black box.

Running in minutes

You need Docker and an OpenAI API key. That's it.

Terminal
git clone https://github.com/vikas0686/Aktilot.git
cd Aktilot

cp .env.example .env
# set OPENAI_API_KEY=sk-...

docker compose up --build