kotaemon logo

kotaemon

Cinnamon/kotaemon

An open-source RAG-based tool for chatting with your documents.

GraphCanon updated 1d · GitHub synced 1d

26k stars2.1k forksLast push 1mo Python Apache-2.0

Decision brief

Cinnamon's kotaemon is an open-source Retrieval-Augmented Generation-based chat tool that facilitates document interaction through a user-friendly chat interface.

Good fit when

  • When you need to customize the file types you can process beyond PDFs, HTML, MHTML, and XLSX by opting for the `full` Docker version which includes additional packages from 'unstructured'.
  • For scenarios requiring Dockerized deployment and support for two computing platforms (`linux/amd64`, `linux/arm64`), potentially leveraging Ollama for local/private RAG configurations.

Avoid when

  • If you only need to process a limited set of file types (PDF, HTML, MHTML, XLSX) and prefer the smaller Docker image size, as the `lite` version lacks additional package dependencies.
  • In environments with strict constraints on external dependencies where installing Docker or Python packages is not feasible.

Observed Jul 11, 2026 · Source: enrich:decision_facts

Verify the decision

Maintenance and security

Full trust report
Maintenance
Steady (34d since push)
As of 1d
Provenance
Not a fork · Organization account
As of 1d
Security (OSV)
No lockfile
As of 1mo

Public GitHub metadata and optional OSV scans. Signals, not a guarantee. Trust methodology.

Install

pip install kotaemon
PyPI

How it fits your stack(9)

Typed graph edges - alternatives, integrations, successors, and dependencies. Ranked by relationship type, not raw GitHub stars.

Relationship graph

Optional deeper exploration of typed edges and category neighbours.

Similar tools

Same-category neighbours not already linked as typed edges.

Evidence and technical details

Sourced facts, taxonomy, compatibility claims, README excerpt, and machine-readable endpoints.

Overview

Cinnamon/kotaemon is an open-source Retrieval-Augmented Generation (RAG)-based chatbot application designed to facilitate interaction with documents through a chat interface, using Python as the primary language and supporting Dockerized deployment in both `lite` and `full` versions for different file type support.

Capability facts

Deploy
Self-host

Source: dockerfile:Dockerfile · Aug 18, 2026

Docker
Dockerfile present

Source: dockerfile:Dockerfile · Aug 18, 2026

Languages
python

Source: github.language+pyproject.toml · Aug 18, 2026

Categories

Graph entities

Compatibility

Sourced claims from the README excerpt - not unsourced marketing copy.

Python runtimePython

Source: README excerpt (regex_v1, Aug 18, 2026)

1. [Python](https://www.python.org/downloads/) >= 3.10
Source link

Tags

README

Installation

If you are not a developer and just want to use the app, please check out our easy-to-follow User Guide. Download the .zip file from the latest release to get all the newest features and bug fixes.


System requirements

  1. Python >= 3.10
  2. Docker: optional, if you install with Docker
  3. Unstructured if you want to process files other than .pdf, .html, .mhtml, and .xlsx documents. Installation steps differ depending on your operating system. Please visit the link and follow the specific instructions provided there.

With Docker (recommended)

  1. We support both lite & full version of Docker images. With full version, the extra packages of unstructured will be installed, which can support additional file types (.doc, .docx, ...) but the cost is larger docker image size. For most users, the lite image should work well in most cases.

    • To use the full version.

      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-full
      
    • To use the full version with bundled Ollama for local / private RAG.

      # change image name to
      docker run <...> ghcr.io/cinnamon/kotaemon:main-ollama
      
    • To use the lite version.

     # change image name to
     docker run <...> ghcr.io/cinnamon/kotaemon:main-lite
    
  2. We currently support and test two platforms: linux/amd64 and linux/arm64 (for newer Mac). You can specify the platform by passing --platform in the docker run command. For example:

    # To run docker with platform linux/arm64
    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 \
    --platform linux/arm64 \
    ghcr.io/cinnamon/kotaemon:main-lite
    
  3. Once everything is set up correctly, you can go to http://localhost:7860/ to access the WebUI.

  4. We use GHCR to store docker images, all images can be found here.


Without Docker

  1. Clone the repository:

    git clone https://github.com/Cinnamon/kotaemon
    cd kotaemon
    
  2. Setup the environment:

  • Option 1: Using uv (recommended)

    uv sync --python 3.10
    source .venv/bin/activate
    
  • Option 2: Using conda

    conda create -n kotaemon python=3.10
    conda activate kotaemon
    
    pip install -e "libs/kotaemon[all]"
    pip install -e "libs/ktem"
    
  1. Create a .env file in the root of this project. Use .env.example as a template.

    The .env file is there to serve use cases where users want to pre-config the models before starting up the app (e.g. deploy the app on HF hub). The file will only be used to populate the db once upon the first run, it will no longer be used in consequent runs.

  2. (Optional) To enable in-browser PDF_JS viewer, download PDF_JS_DIST then extract it to libs/ktem/ktem/assets/prebuilt.

    pdf-setup
  3. Start the web server:

    python app.py
    
    • The app will be automatically launched in your browser.
    • Default username and password are both admin. Y

For agents

This page has a .md twin and JSON over the API.

Was this helpful?

Anonymous feedback helps us improve pages and translations.