Kotaemon
An open-source RAG-based tool for chatting with your documents.
Last verified:
What is Kotaemon?
Kotaemon is an open-source RAG (Retrieval-Augmented Generation) based tool designed for chatting with your documents. It provides a clean, customizable web UI that enables both end users and developers to perform question answering on local documents. The tool supports multi-user login, organizes files in private and public collections, and enables collaboration among users.
Key features include support for various LLM providers (OpenAI, Azure OpenAI, Cohere, Ollama, Groq), local LLM support via ollama and llama-cpp-python, hybrid RAG pipeline with full-text and vector retriever plus re-ranking, multi-modal QA support for documents with figures and tables, advanced citations with in-browser PDF viewer highlights, complex reasoning methods like ReAct and ReWOO agents, and configurable settings UI for retrieval and generation processes.
Kotaemon is built on Gradio and is extensible, allowing users to customize or add UI elements. It is designed for researchers, journalists, developers building RAG pipelines, Python developers, and anyone who needs to extract information from their personal document collections while maintaining privacy through local processing.
The tool supports GraphRAG indexing pipelines (NanoGraphRAG, LightRAG, MS GraphRAG), multiple vector stores (ChromaDB, LanceDB, Milvus, Qdrant), and multimodal document parsing through Azure Document Intelligence, Adobe PDF Extract, or Docling.
Kotaemon pricing
Pricing model: Freemium
Kotaemon is completely free and open-source under the Apache-2.0 license. There are no paid plans or subscription tiers. The tool can be used entirely free with local models (using ollama or GGUF with llama-cpp-python), or users can optionally use paid API providers like OpenAI, Azure OpenAI, Cohere, or Groq at their own cost. Docker images (lite and full versions) are free from GitHub Container Registry. The forever free tier includes the full platform capabilities.
Kotaemon pros
- Open-source and free to use with Apache-2.0 license
- Clean and minimalistic user-friendly UI built with Gradio
- Supports both local LLMs and popular API providers (OpenAI, Azure, Ollama, Groq)
- Hybrid RAG pipeline with full-text and vector retriever plus re-ranking
- Multi-modal QA support for documents with figures and tables
- Advanced citations with in-browser PDF viewer and highlights
- Supports complex reasoning methods (ReAct, ReWOO agents, question decomposition)
- Multi-user login with private/public file collections
- Easy installation via Docker with lite and full versions available
- Configurable settings UI for retrieval, generation, and prompts
- Extensible framework for building custom RAG pipelines
- Privacy-focused - documents stored and processed locally with local models
- GraphRAG support (NanoGraphRAG, LightRAG, MS GraphRAG)
- Multiple vector store options (ChromaDB, LanceDB, Milvus, Qdrant, InMemory)
- Confidence scores and relevance scores displayed for answer quality assessment
- Works on Windows, macOS, and Linux with simple setup scripts
- Active development with 25.4k stars and 39 contributors on GitHub
Kotaemon cons
- Local models have lower generative quality compared to paid APIs
- Processing speed limited by local hardware when using local models
- Requires Python >= 3.10 system requirement
- Unstructured package needed for non-PDF/HTML/MHTML/XLSX files with different OS installation steps
- Full Docker image is large due to unstructured packages
- nano-graphrag and LightRAG installation may introduce version conflicts requiring fixes
- MS GraphRAG indexing only works with OpenAI or Ollama API officially
- Default credentials (admin/admin) must be changed immediately after first login for security
- GGUF model size must fit in device memory with ~2GB headroom limiting model choices
Frequently asked questions about Kotaemon
What is Kotaemon?
Kotaemon is an open-source RAG-based tool for chatting with your documents. It serves as a functional RAG UI for both end users who want to do question answering on their documents and developers who want to build their own RAG pipeline. It provides a clean, customizable web UI built with Gradio.
How do I install Kotaemon?
You can install Kotaemon via Docker (recommended) or without Docker. For Docker, run: docker run -e GRADIO_SERVER_NAME=0.0.0.0 -e GRADIO_SERVER_PORT=7860 -v ./ktem_app_data:/app/ktem_app_data -p 7860:7860 -it --rm ghcr.io/cinnamon/kotaemon:main-lite. Without Docker, clone the repo and run pip install -e 'libs/kotaemon[all]' and pip install -e 'libs/ktem', then python app.py. For end users, download kotaemon-app.zip from the latest release and run the setup script for your OS.
What LLM providers does Kotaemon support?
Kotaemon supports both local LLMs and popular API providers including OpenAI, Azure OpenAI, Cohere, Ollama, and Groq. For local models, it supports ollama OpenAI compatible server and GGUF format with llama-cpp-python.
How do I use local models with Kotaemon?
To use local models, install ollama and pull models (e.g., ollama pull llama3.1:8b and ollama pull nomic-embed-text), then set the LLM and Embedding model on the Resources tab with type OpenAI, api_key: ollama, base_url: http://localhost:11434/v1/. For GGUF, download a model from HuggingFace Hub and run LOCAL_MODEL=<path/to/GGUF> python scripts/serve_local.py, then add a LlamaCpp model with the model name on the web UI.
What file types does Kotaemon support?
By default, Kotaemon supports .pdf, .html, .mhtml, and .xlsx documents. With the Unstructured package installed (Full Docker version), it can also process .doc, .docx, and additional file types. Multimodal document parsing is available through Azure Document Intelligence, Adobe PDF Extract, or Docling for OCR, table parsing, and figure extraction.
What is the hybrid RAG pipeline in Kotaemon?
The hybrid RAG pipeline combines full-text search and vector retrieval with re-ranking to ensure the best retrieval quality. It uses both a vectorstore (for semantic similarity) and a document store (for full-text search), then applies re-ranking (optionally with Cohere) to improve answer relevance. The system displays confidence scores, relevance scores, vectorstore scores, LLM relevant scores, and reranking scores.
How do citations work in Kotaemon?
Kotaemon provides advanced citations with document preview by default. The system shows detailed citations to ensure correctness of LLM answers. You can view citations including relevant scores directly in the in-browser PDF viewer with highlights. The system also warns when the retrieval pipeline returns low-relevant articles. Citations include answer confidence, relevance score, vectorstore score, LLM relevant score, and reranking score.
Can I customize Kotaemon?
Yes, Kotaemon is built on Gradio and is extensible. You can customize or add UI elements freely. Advanced users can customize flowsettings.py (for document store, vectorstore, reasoning pipelines) and .env file (for model configurations). You can add custom reasoning pipelines in libs/ktem/ktem/reasoning/ and custom indexing pipelines following samples in libs/ktem/ktem/index/file/graph. All application data is stored in ./ktem_app_data folder for backup/transfer.
What vector stores does Kotaemon support?
Kotaemon supports multiple vector stores including ChromaDB (default), LanceDB, InMemory, Milvus, and Qdrant. You can configure your preferred vectorstore in flowsettings.py by setting KH_VECTORSTORE to the desired option like ChromaDB, LanceDB, Milvus, or Qdrant.
How do I set up GraphRAG in Kotaemon?
For NanoGraphRAG: install with pip install nano-graphrag, launch with USE_NANO_GRAPHRAG=true environment variable. For LightRAG: install with pip install git+https://github.com/HKUDS/LightRAG.git, launch with USE_LIGHTRAG=true. For MS GraphRAG (non-Docker): install with pip install 'graphrag<=0.3.6' future, set GRAPHRAG_API_KEY environment variable. Note that official MS GraphRAG indexing only works with OpenAI or Ollama API; NanoGraphRAG is recommended for straightforward integration.