Mindket

kotaemon

Newversion 2 · updated
GitHub trending
Star25.9k

Overview

Cinnamon’s open source web app for chatting with your documents. You upload files, pick an API or a local model, and get answers with citations you can open in a PDF viewer. It runs in Docker, from a release zip or from source.

kotaemon is an open-source project on GitHub in the Productivity category, listed by Mindket. It is free. This is version 2, last updated on . Install it from GitHub as its README says. Get Mindket’s setup notes on your Mindket account, as a zip.

At a glance

Runs in
  • Docker, in a full, lite or Ollama image, for linux/amd64 and linux/arm64
  • The release zip, with install scripts for Windows, macOS and Linux
  • From source with uv or conda, on Python 3.10 or newer
  • Your own Hugging Face Space, copied from the maker’s template
Start with
docker run \
-e GRADIO_SERVER_NAME=0.0.0.0 \
-e GRADIO_SERVER_PORT=7860 \

Platform

DockerContainer
WindowsOperating system
macOSOperating system
LinuxOperating system

About

What it is

kotaemon is Cinnamon’s open source web app for asking questions about your own documents. You upload files, it indexes them for full-text and vector search, and a language model answers from the passages it finds. Each answer carries citations. You can open a cited passage in the PDF viewer inside the browser, highlighted, with its relevance score. Developers can also use it as a framework for their own RAG pipeline, with a Gradio UI already built.

  1. You upload files on the File Index tab
  2. kotaemon splits them and indexes text and vectors
  3. A question pulls passages by keywords and meaning
  4. Re-ranking and scores sort the evidence
  5. The model answers and cites the passages it used

Who it suits

People who want to ask questions of papers, reports or manuals in a browser and check each answer against the page it came from. With a local model through Ollama, your documents stay on your machine. Python developers who want a RAG pipeline with a ready interface can add their own reasoning or indexing pipelines.

Who uses it, and how
IndustryWho uses itHow they use itExample
Research and studyStudents and researchersAsk questions across a set of papers, then check each citation in the PDF viewerA student uploads a set of papers, picks Search All and opens the highlighted passage behind an answer.
Private documentsPeople whose files must not leave their computerRun a local model through Ollama, so documents are stored and processed locallyA consultant runs the Ollama image and sets the default LLM and embedding model, the File Collection’s embedding model and the LLM relevant scoring model to local ones.
AnalysisAnalysts with questions that span several documentsUse question decomposition, or index a collection as a graph with GraphRAGAn analyst launches kotaemon with USE_NANO_GRAPHRAG=true before indexing a set of reports.
SoftwarePython developersAdd a reasoning pipeline and turn it on in flowsettings.pyA developer copies the default QA pipeline into a new file and picks it in the UI.

Skip it for now if you want a server that several people share over a network. The latest release has open reports of code execution with no login and of users reaching each other’s chats.

Where to use it

kotaemon is a web app you open in a browser, and the docs give these ways to run it.

  • Docker, in a full, lite or Ollama image, for linux/amd64 and linux/arm64
  • The release zip, with install scripts for Windows, macOS and Linux
  • From source with uv or conda, on Python 3.10 or newer
  • Your own Hugging Face Space, copied from the maker’s template
  • The maker’s two live demos on Hugging Face, and a Colab notebook for local RAG

Out of the box it reads .pdf, .html, .mhtml and .xlsx files. The full Docker image, or Unstructured on a source install, adds more types such as .doc and .docx.

How to set it up

Get it saves a zip of Mindket’s setup notes in your downloads folder, with a file for each route, for models and for the login. The README recommends Docker, and its command for the full image is below.

What you need first
NeedDetail
DockerThe README’s recommended route, with images for linux/amd64 and linux/arm64
Python3.10 or newer, for a source install
A modelAn API key from a provider such as OpenAI, Azure OpenAI or Cohere, or a local server such as Ollama
UnstructuredOnly for files other than .pdf, .html, .mhtml and .xlsx on a source install
  1. Run the full image with Docker. Run it in a folder where it can make ktem_app_data, which holds all of the app’s data.
  2. Open localhost:7860 in your browser. The README gives http://localhost:7860/ as the address.
  3. Log in as admin, password admin. Change the password in the Settings tab right away, as the user guide says.
  4. Add a chat and an embedding model. On the Resources tab, add one under LLMs and one under Embedding Models, and set each as the default.
  5. Upload files on the File Index tab. Click Upload and Index, and wait for the message that says it is done.
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

For the lite image, or the one with Ollama bundled, change only the image name to main-lite or main-ollama. Without Docker, download kotaemon-app.zip from the latest release, unzip it and run the script for your system in its scripts folder.

How to use it

The Chat tab has three panels. In the conversation settings panel you pick or start a conversation and choose which files it searches: Disabled, Search All, or Select for a few you name. The chat panel is where you talk to the model. The information panel shows the evidence behind each answer, with the cited text highlighted and a score beside each passage.

  • Answer confidence: the model’s own confidence in its answer
  • Relevance score: the overall match between a passage and your question, taken by default from the LLM relevant score
  • Vectorstore score: the embedding similarity. It shows full-text search when the passage came from the full-text index
  • LLM relevant score: a model’s judgment of how well the passage fits the question
  • Reranking score: from Cohere’s reranking model

The Usage page rates the LLM relevant score as the most reliable, then the reranking score, then the vector score. Evidence is sorted by overall relevance and by whether it was cited. The README says most retrieval and generation steps, prompts included, can be changed in the settings UI.

Example

You keep the manual for your office printer as a PDF. You upload it on the File Index tab. In the Chat tab you set the file list to Select, pick the manual, and type:

How do I clear a paper jam in the rear tray?

The answer comes back with citations. The information panel lists the passages it drew on, each with its relevance score, and highlights the sentences it cited. You can open a citation in the PDF viewer and read the passage in place. If retrieval finds only weak matches, kotaemon shows a warning.

For newcomers and experts

If you are new. RAG means a model answers from passages found in your own files, not only from what it learned in training. kotaemon does the finding. It splits each file into segments, stores them, and returns the best matches for each question. The scores tell you how far to trust each passage. Start small. Try the lite image with one API key, or the Ollama image if your files must stay local, and upload a few files you know well. The Usage page says local models are private and free but answer less well, and run only as fast as your hardware.

For experts. The repository holds two Python packages: libs/kotaemon, the library you import, and libs/ktem, the app built on it. flowsettings.py picks the document store for full-text search (Elasticsearch, LanceDB or SimpleFileDocumentStore) and the vector store (ChromaDB, LanceDB, InMemory, Milvus or Qdrant). It also lists the reasoning pipelines the UI offers.

KH_REASONINGS = [
    "ktem.reasoning.simple.FullQAPipeline",
    "ktem.reasoning.simple.FullDecomposeQAPipeline",
    "ktem.reasoning.react.ReactAgentPipeline",
    "ktem.reasoning.rewoo.RewooAgentPipeline",
]

To add your own, put a new .py file in libs/ktem/ktem/reasoning/ and list it there. A custom indexing pipeline starts from the sample in libs/ktem/ktem/index/file/graph. The default indexing pipeline reads each file, splits it and embeds each segment. It keeps the vectors in a vector store and the text in a document store. A Source table lists the files, and an Index table links each file to its entries in both stores.

For graphs, the README recommends NanoGraphRAG (USE_NANO_GRAPHRAG=true) to most users, and also offers LightRAG (USE_LIGHTRAG=true). It says Microsoft’s GraphRAG indexing works only with the OpenAI or Ollama API, and pins it to graphrag<=0.3.6. The first two can bring version conflicts, which issue #440 covers. On Docker, a local model on the host is reached at host.docker.internal instead of localhost.

Good to know

Read the first point before anyone else can reach the app.

  • Security, as of 3 November 2026: v0.12.0 from 31 May 2026 is the latest release, and the National Vulnerability Database lists three reports against it. VulnCheck rates CVE-2026-69098 critical: code execution with no login, through the check_connection endpoint. CVE-2026-82281 and CVE-2026-86867 describe chat functions that skip the owner check, so other users can read, rename or delete your conversations. Issues #844 and #846 hold the reporters’ proofs of concept, with no reply or linked fix. Run it for yourself, on your own machine, until a release fixes them
  • Login: the README and the Getting Started page give admin / admin as the default login, and issue #846 says it is set in flowsettings.py. Change it at the first login
  • Your data: everything lives in the ktem_app_data folder, which you can back up or copy to a new machine. Your questions and the matching passages go to the model you set up, unless it runs locally. Cohere reranking, Azure Document Intelligence and Adobe PDF Extract are outside services too
  • The .env file: the models set in it fill the app’s database once, on the first run. After that, change models on the Resources tab. Other lines, such as GRAPHRAG_API_KEY, PADDLE_DEVICE and KH_VLM_ENDPOINT, stay in use as settings
  • Platforms: the maker tests the Docker images on linux/amd64 and linux/arm64. The zip installer stops when its folder path has a space in it. The macOS and Linux scripts run only on x86_64 or arm64, and the Windows script installs the x86_64 Miniconda
  • Removal: the docs give no uninstall steps. Mindket’s notes say what the Docker and zip routes leave, so you can take them out by hand
  • License: Apache-2.0. The LICENSE file is the standard text and names no copyright holder

README and files

README

kotaemon: setup notes

This kit holds setup notes only. Mindket wrote them. kotaemon itself, its Docker images and its docs come from Cinnamon’s repository: https://github.com/Cinnamon/kotaemon

These notes are not made or endorsed by Cinnamon. The README calls kotaemon "An open-source clean & customizable RAG UI for chatting with your documents. Built with both end users and developers in mind." The user guide is at https://cinnamon.github.io/kotaemon/

License: Apache-2.0. The LICENSE file (https://github.com/Cinnamon/kotaemon/blob/main/LICENSE.txt) is the standard Apache License 2.0 text. Its appendix keeps the template line "Copyright [yyyy] [name of copyright owner]", so it names no holder.

These notes come from the README, the user guide pages and the install scripts named in each file, read on 3 November 2026. Mindket did not run the app.

Read this before you put it on a network

As of 3 November 2026, v0.12.0 (released 31 May 2026) is the latest release on the Releases page. The National Vulnerability Database (NVD) lists three reports against versions up to and including 0.12.0. One, CVE-2026-69098, describes code execution with no login, and VulnCheck rates it critical. The other two, CVE-2026-82281 and CVE-2026-86867, describe chat functions that do not check who owns a conversation.

Issues #844 and #846 on GitHub hold the reporters’ write-ups for the first two. On 3 November 2026 both were open, with no comment, no assignee and no linked pull request. The sources show the reporters’ own proofs of concept and say nothing about attacks in the wild. setup/before-you-share-it.md lists each report and its source. Until a release fixes them, run kotaemon for yourself on your own machine, and keep port 7860 away from networks other people can reach.

What installs

What you need first

  • Docker, for the route the README recommends. Python 3.10 or newer for a source install.
  • Unstructured, only for files other than .pdf, .html, .mhtml and .xlsx on a source install. The full Docker image already has its extra packages. Source: the README.
  • A language model and an embedding model: an API key from a provider, or a local server such as Ollama. See setup/models-and-env.md.

Main install command

The README recommends Docker. This runs the full image and serves the app on port 7860. Run it in a folder where ktem_app_data may be created.

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

Source: https://github.com/Cinnamon/kotaemon/blob/main/README.md. Then open http://localhost:7860/ and log in as admin with the password admin. Change that password first.

The files

  • setup/docker.md: the full, lite and Ollama images, the platform flag and local models from inside Docker
  • setup/zip-installer.md: the release zip for Windows, macOS and Linux, and what its scripts do
  • setup/from-source.md: uv or conda, the .env file, the PDF viewer and python app.py
  • setup/hugging-face-space.md: your own copy of the maker’s Hugging Face template, and the live demos
  • setup/models-and-env.md: models on the Resources tab or in .env, and local models
  • setup/graphrag.md: Nano GraphRAG, LightRAG and Microsoft GraphRAG
  • setup/document-loaders.md: Docling, PaddleOCR, Azure Document Intelligence and Adobe PDF Extract
  • setup/before-you-share-it.md: the first login, users and the open security reports

Update or remove

The user guide says to run the run_* script again to launch the app after the first setup or after any change. The README says to download the zip from the latest release for the newest features and bug fixes. For Docker, the image tags are listed at https://github.com/Cinnamon/kotaemon/pkgs/container/kotaemon

The pages these notes use give no uninstall steps. To take it out by hand, these notes (Mindket’s, not Cinnamon’s) go by the README and the scripts. The README’s Docker command uses --rm, so the container goes when it stops, and your data stays in ktem_app_data until you delete that folder. The zip route keeps Miniconda, the environment and (on Windows) Portable Git in install_dir inside the unzipped folder, so deleting that folder removes them.

Usage data and outbound connections

The pages these notes use do not say whether kotaemon sends usage data, and Mindket did not read the app’s code to find out. They do show these connections:

  • Your model provider: the app sends your question and the matching passages to the model you set up. With a local model such as Ollama, the user guide says your documents are stored and processed locally.
  • The installers: they fetch Miniconda from repo.anaconda.com, kotaemon itself from github.com and PDF.js from Mozilla’s releases on github.com. The Windows one also fetches 7-Zip from 7-zip.org and Portable Git from github.com. The scripts also install kotaemon’s Python dependencies with pip, from the default package index (PyPI), and create the Python 3.10 environment with conda.
  • Services you turn on: Cohere reranking (the COHERE_API_KEY line in .env.example and the reranking score in the user guide), VoyageAI, Azure Document Intelligence and Adobe PDF Extract.

Sources

Files
README.md  7 KB
setup/before-you-share-it.md  4 KB
setup/docker.md  3 KB
setup/document-loaders.md  2 KB
setup/from-source.md  3 KB
setup/graphrag.md  1 KB
setup/hugging-face-space.md  1 KB
setup/models-and-env.md  3 KB
setup/zip-installer.md  3 KB

9 files, 28 KB, downloaded as a zip.

What’s new

  • Version 2 · 2026-11-09

    Updated by Mindket to the current version of this kit.

  • Version 1 · 2026-11-03

Reviews

No ratings yet

Write a review

No reviews yet.

What people say

Posts and comments that name this project on Hacker News, Bluesky, X, Reddit, Facebook and YouTube, found by a weekly search and on Trendshift. Mindket doesn’t write or check them. Open one to read it where it was posted.

milesKotaemon: An open-source RAG-based tool for chatting with your documents191 points · 14 repliesEUVD Bot🚨 EUVD-2026-85508 📊 6.5/10 🏢 Cinnamon AI 📝 Cinnamon's Kotaemon (all versions up to and including v0.12.0) multi-user chat interface contains multiple vulnerabilities due to incorrect authorizat... 🔗 https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-85508 #cybersecurity #infosec #cve #euvd1 like@hasantoxr6 Podcastfy Turn PDFs, URLs, and YouTube videos into multilingual audio podcasts. Like NotebookLM audio overviews https://t.co/3VyQfaWVLCr/SATNA_PROJECTAI research is getting ridiculous: 15 open-source projects that turn a question into sources, evidence, citations, and a reportr_singhAn open-source clean and customizable RAG UI for chatting with your documents3 pointsEUVD Bot🚨 EUVD-2026-52740 📊 9.3/10 🏢 Cinnamon 📝 kotaemon through 0.12.0 contains an insecure deserialization vulnerability in the check_connection endpoint that allows unauthenticated attackers to inst... 🔗 https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-52740 #cybersecurity #infosec #cve #euvd@DanKornasDocument Q&A gets messy when retrieval, model setup, citations, and the interface all live in separate tools. kotaemon is an open-source RAG UI for people querying their own documents and developers building custom RAG pipelines. It helps you create a document QA workspace by combining a Gradio…taprosoftShow HN: Kotaemon - open-source/self-hosted web-app to chat with academic papersHi HN, recently our team at https://github.com/Cinnamon/kotaemon/ has been working on a public demo to showcase the new advanced citation features in our open-source RAG application: https://cin-model-kotaemon.hf.space/ We’re excited to share a free web app that lets users explore top daily…Tom Dörrhttps://github.com/Cinnamon/kotaemon@clxymox🐍 kotaemon ⭐ 25,494 stars **"Interface RAG ultra-personnalisable pour discuter avec vos documents en open-source !"** #GitHub https://t.co/0PuC5feMdftaprosoftKotaemon-papers: an open-source web app to chat with your academic papersHi HN, Our team at https://github.com/Cinnamon/kotaemon/ has been working on a public demo to showcase the new advanced citation features in our RAG (retrieval-augmented generation) application. We’re excited to share a web app that lets users explore top daily machine learning (ML) papers on…@clxymox🐍 kotaemon ⭐ 25,473 stars **"Interface RAG ultra-personnalisable pour discuter avec vos documents en toute simplicité !"** 🚀 #GitHub https://t.co/mifmOl4OPL

Searched

More from Mindket

See all from Mindket

Bonsai-27B-GGUF

lmstudio-community · Kit

A GGUF conversion of the 27B Bonsai model for LM Studio, with a 3.80 GB Q1_0 language file and a 0.93 GB BF16 vision projector. Tested for text, vision and par…

New

Runs DeepSeek-V4.1-Flash-1017 as a 2.9 bits-per-weight EXL3 quantization, a 196 GiB copy for people serving large models on their own hardware. Perplexity stay…

New

MusicGen Small

facebook · Kit

Generates short music clips from a text description or an audio prompt, in the small checkpoint of facebook's MusicGen. It suits developers and music hobbyists…

New

Similar projects

See all in Productivity

Awesome LLM Apps

Shubhamsaboo · Kit

Shubham Saboo’s open source collection of AI agents, agent skills and RAG apps, most in a folder of their own with a README. Setup notes cover the skills for C…

New144k

Crawl4AI

unclecode · Kit

UncleCode’s open source web crawler and scraper for language models and AI agents. It loads a page in a browser and returns clean Markdown, or JSON in a shape…

New87k

Awesome Self-Hosted AI

glincker · Kit

Lists 309 open-source AI projects you can run on your own hardware or server, grouped into sections such as LLM runtimes, agents, RAG and speech, with a weekly…

New113