Skip to content

[Submission] Aktilot – AI Document Chat using RAG with Durable Temporal Workflows #122

Description

@vikas0686

Project link

https://github.com/vikas0686/Aktilot

Language

Python

Short description (max 256 chars)

Aktilot is an open-source, self-hosted AI document chat platform powered by Temporal. Document ingestion and chat run as durable workflows with retries, checkpointing, observability, and hybrid BM25 + vector retrieval.

Long Description

Aktilot is an open-source, self-hosted AI document chat platform that demonstrates how Temporal can orchestrate reliable AI workflows.

The project uses Temporal to coordinate long-running document ingestion and chat pipelines instead of traditional synchronous request flows.

Current workflows include:

  • DocumentWorkflow – chunks documents, generates embeddings, and indexes them into ChromaDB with durable retries and checkpointing.
  • ChatWorkflow – performs hybrid BM25 + vector retrieval, reranking, LLM response generation, and conversation persistence as a durable workflow.
  • BenchmarkWorkflow (planned) – evaluates retrieval quality and latency across different retrieval strategies.

The project demonstrates several Temporal patterns including:

  • Durable execution
  • Activity retries
  • Long-running workflows
  • AI pipeline orchestration
  • Failure recovery without restarting completed steps
  • Workflow observability

Aktilot is intended as both a production-ready self-hosted document AI platform and a reference implementation for engineers building AI systems with Temporal.

Feedback and contributions are welcome.

Author(s)

Vikas Pandey
Principal Software Engineer | Open Source Contributor

GitHub: https://github.com/vikas0686
Website: https://vikaspandey.dev/
LinkedIn: https://www.linkedin.com/in/vikaspandey0686/

Metadata

Metadata

Assignees

Labels

code exchange submissionCode and/or content about Temporal!triageIssues that Temporal folk need to look atziggy reviewedPre-screened by ZiggyBot

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions