Mindket

kotaemon 文档问答应用

新上架第 2 版 · 更新于
GitHub 热门
星标25.9k

概览

Cinnamon 的开源网页应用,用来和你的文档对话。你上传文件,选一个 API 或本地模型,就能得到带引用的回答,引用可以在 PDF 阅读器里打开。可以用 Docker、发布版 zip 或源码运行。

kotaemon 文档问答应用 是一款 GitHub 上的开源项目,属于效率类,由 Mindket 上架。可免费获取。当前为第 2 版,最近更新于 。按它的 README 从 GitHub 安装。Mindket 的设置说明可在你的 Mindket 账户获取,以 zip 压缩包下载。

速览

用在
  • Docker:full、lite 或 Ollama 镜像,支持 linux/amd64 和 linux/arm64
  • 发布版 zip:带 Windows、macOS 和 Linux 的安装脚本
  • 源码安装:用 uv 或 conda,需要 Python 3.10 或更新版本
  • 你自己的 Hugging Face Space:从制作方的模板复制一份
先运行
docker run \
-e GRADIO_SERVER_NAME=0.0.0.0 \
-e GRADIO_SERVER_PORT=7860 \

平台

Docker容器
Windows操作系统
macOS操作系统
Linux操作系统

关于

它是什么

kotaemon 是 Cinnamon 做的开源网页应用,用来就你自己的文档提问。你上传文件,它为这些文件建立全文索引和向量索引,再由语言模型根据找到的段落作答。每个回答都带引用。被引用的段落可以在浏览器内置的 PDF 阅读器里打开,原文高亮,旁边还有相关度分数。开发者也可以把它当成搭建自己 RAG 流水线的框架,现成的 Gradio 界面已经做好。

  1. 你在 File Index 标签页上传文件
  2. kotaemon 切分文件,建立文本和向量索引
  3. 提问时按关键词和语义找出段落
  4. 重排序和评分给证据排先后
  5. 模型作答,并引用用到的段落

适合谁

想在浏览器里向论文、报告或说明书提问,并且要把每个回答对照回原文页面核实的人。通过 Ollama 用本地模型时,文档留在你自己的电脑上。想要一条带现成界面的 RAG 流水线的 Python 开发者,可以加入自己的推理流水线或索引流水线。

谁在用,怎么用
行业谁在用怎么用例子
科研和学习学生和研究人员对一批论文提问,再到 PDF 阅读器里逐条核对引用一名学生上传一批论文,选 Search All,再打开某个回答背后高亮的段落。
私密文档文件不能离开自己电脑的人通过 Ollama 跑本地模型,文档在本地存储和处理一位顾问运行 Ollama 镜像,把默认的 LLM 和嵌入模型、File Collection 的嵌入模型以及 LLM 相关度评分模型都设成本地模型。
分析问题要跨好几份文档才能回答的分析师用问题拆解,或用 GraphRAG 把一组文档建成图来索引一位分析师先用 USE_NANO_GRAPHRAG=true 启动 kotaemon,再给一批报告建索引。
软件开发Python 开发者加一条推理流水线,并在 flowsettings.py 里启用一位开发者把默认的问答流水线复制到新文件里,再在界面上选中它。

如果你想要一台多人通过网络共用的服务器,现在先别用它。最新版本有几份尚未处理的漏洞报告,涉及无需登录就能执行代码,以及用户能碰到彼此的对话。

用在哪里

kotaemon 是在浏览器里打开的网页应用,文档给了以下几种运行方式。

  • Docker:full、lite 或 Ollama 镜像,支持 linux/amd64 和 linux/arm64
  • 发布版 zip:带 Windows、macOS 和 Linux 的安装脚本
  • 源码安装:用 uv 或 conda,需要 Python 3.10 或更新版本
  • 你自己的 Hugging Face Space:从制作方的模板复制一份
  • 制作方在 Hugging Face 上的两个在线演示,以及一个本地 RAG 的 Colab 笔记本

它默认能读 .pdf、.html、.mhtml 和 .xlsx 文件。用 full 版 Docker 镜像,或在源码安装时装上 Unstructured,就能读更多类型,例如 .doc 和 .docx。

如何设置

点“获取”会把一个装有 Mindket 安装说明的 zip 压缩包存进你的下载文件夹,每种运行方式、模型设置和登录各有一个文件。README 推荐用 Docker,下面是它给 full 镜像的命令。

事先要准备的
需要说明
DockerREADME 推荐的方式,镜像支持 linux/amd64 和 linux/arm64
Python3.10 或更新版本,源码安装时需要
一个模型OpenAI、Azure OpenAI 或 Cohere 等服务商的 API 密钥,或者 Ollama 这类本地服务
Unstructured只有源码安装、又要读 .pdf、.html、.mhtml 和 .xlsx 以外的文件时才需要
  1. 用 Docker 运行 full 镜像。在一个可以创建 ktem_app_data 的文件夹里运行,应用的全部数据都放在这个文件夹里。
  2. 在浏览器里打开 localhost:7860。README 给出的地址是 http://localhost:7860/ 。
  3. 用 admin / admin 登录。按用户指南的说法,马上到 Settings 标签页改掉密码。
  4. 添加聊天模型和嵌入模型。在 Resources 标签页的 LLMs 和 Embedding Models 下各加一个,并分别设为默认。
  5. 在 File Index 页上传文件。点 Upload and Index,等它显示处理完成的消息。
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

要用 lite 镜像或自带 Ollama 的镜像,只需把镜像名改成 main-lite 或 main-ollama。不用 Docker 的话,从最新发布版下载 kotaemon-app.zip,解压后在 scripts 文件夹里运行对应你系统的脚本。

如何使用

Chat 标签页分成三个面板。在对话设置面板里,你选择或新建一个对话,并决定它搜索哪些文件:Disabled(不用文件)、Search All(全部文件),或 Select(只用你挑的几个)。聊天面板是你和模型对话的地方。信息面板显示每个回答背后的证据,被引用的文字高亮,每个段落旁边有分数。

  • Answer confidence:模型对自己回答的把握程度
  • Relevance score:段落和你的问题整体上有多相关,默认直接取 LLM relevant score
  • Vectorstore score:向量嵌入的相似度。段落来自全文索引时,显示为 full-text search
  • LLM relevant score:由模型判断段落和问题有多贴合
  • Reranking score:来自 Cohere 的重排序模型

用户指南的 Usage 页认为 LLM relevant score 最可靠,其次是重排序分数,再次是向量分数。证据按整体相关度和是否被引用来排序。README 说,检索和生成的大部分环节,连提示词在内,都能在设置界面里调整。

示例

你有一份办公室打印机的 PDF 说明书。你在 File Index 标签页上传它,然后在 Chat 标签页把文件范围设为 Select,选中这份说明书,输入:

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

回答带着引用回来。信息面板列出它用到的段落和各自的相关度分数,并高亮被引用的句子。你可以在 PDF 阅读器里打开一条引用,在原处读那段文字。如果检索只找到相关度很低的内容,kotaemon 会给出提醒。

新手与专家

新手:RAG 的意思是,模型根据从你自己文件里找到的段落来回答,而不只靠训练时学到的东西。kotaemon 负责找。它把每个文件切成小段存起来,每次提问时返回最匹配的几段。分数告诉你每个段落有多可信。先从小处做起。可以用 lite 镜像配一个 API 密钥,文件必须留在本地就用 Ollama 镜像,再上传几份你熟悉的文件试试。Usage 页说,本地模型私密、免费,但回答质量较低,速度也受你的硬件限制。

专家:仓库里有两个 Python 包:libs/kotaemon 是你可以 import 的库,libs/ktem 是在它之上做的应用。flowsettings.py 用来选全文检索的文档库(Elasticsearch、LanceDB 或 SimpleFileDocumentStore)和向量库(ChromaDB、LanceDB、InMemory、Milvus 或 Qdrant)。它还列出界面上可选的推理流水线。

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

要加自己的流水线,就在 libs/ktem/ktem/reasoning/ 里放一个新的 .py 文件,再把它列进上面的设置。自定义索引流水线可以从 libs/ktem/ktem/index/file/graph 里的示例起步。默认的索引流水线会读取每个文件、切分、给每段生成嵌入,把向量存进向量库、文本存进文档库,在 Source 表里记下文件,再用 Index 表把每个文件和它在两个库里的条目连起来。

做图谱时,README 向大多数用户推荐 NanoGraphRAG(USE_NANO_GRAPHRAG=true),也提供 LightRAG(USE_LIGHTRAG=true)。它说微软的 GraphRAG 索引只支持 OpenAI 或 Ollama 的 API,并把版本限定为 graphrag<=0.3.6。前两种安装时可能出现版本冲突,issue #440 讲了这个问题。在 Docker 里,宿主机上的本地模型要用 host.docker.internal 而不是 localhost 来访问。

注意事项

在让别人访问这个应用之前,先读第一条。

  • 安全(截至 2026 年 11 月 3 日):最新版本是 2026 年 5 月 31 日发布的 v0.12.0,美国国家漏洞数据库(NVD)列出了三份针对它的报告。VulnCheck 把 CVE-2026-69098 评为严重:无需登录,就能通过 check_connection 接口执行代码。CVE-2026-82281 和 CVE-2026-86867 说的是对话相关的函数不检查对话归谁,别的用户因此能读取、重命名或删除你的对话。GitHub 上的 issue #844 和 #846 里有报告者自己的概念验证,没有回复,也没有关联的修复。在有版本修复之前,只在你自己的电脑上自己用
  • 登录:README 和入门页给出的默认用户名和密码都是 admin,issue #846 说它写在 flowsettings.py 里。第一次登录就改掉
  • 你的数据:所有数据都在 ktem_app_data 文件夹里,可以备份,也可以复制到新电脑。你的问题和匹配到的段落会发给你设置的模型,除非模型在本地运行。Cohere 重排序、Azure Document Intelligence 和 Adobe PDF Extract 也都是外部服务
  • .env 文件:里面的模型设置只在第一次运行时写进数据库一次,之后改模型要到 Resources 标签页。GRAPHRAG_API_KEY、PADDLE_DEVICE、KH_VLM_ENDPOINT 等其他行仍作为设置使用
  • 平台:制作方在 linux/amd64 和 linux/arm64 上测试 Docker 镜像。zip 安装脚本遇到带空格的文件夹路径会停下。macOS 和 Linux 脚本只支持 x86_64 或 arm64,Windows 脚本安装的是 x86_64 版 Miniconda
  • 卸载:文档没有给卸载步骤。Mindket 的说明写了 Docker 和 zip 方式会留下什么,你可以手动清掉
  • 许可证:Apache-2.0。LICENSE 文件是标准文本,没有写版权所有者

README 和文件

README

kotaemon:安装说明

这个工具包里只有安装说明,由 Mindket 编写。kotaemon 本身、它的 Docker 镜像和文档都来自 Cinnamon 的仓库:https://github.com/Cinnamon/kotaemon

这些说明不是 Cinnamon 写的,也没有得到它的认可。README 对 kotaemon 的介绍是 "An open-source clean & customizable RAG UI for chatting with your documents. Built with both end users and developers in mind.",意思是:一个简洁、可定制的开源 RAG 界面,用来和你的文档对话,同时照顾到终端用户和开发者。用户指南在 https://cinnamon.github.io/kotaemon/

许可证:Apache-2.0。LICENSE 文件(https://github.com/Cinnamon/kotaemon/blob/main/LICENSE.txt )是标准的 Apache License 2.0 文本。它的附录保留了模板里的那行 "Copyright [yyyy] [name of copyright owner]",所以没有写明版权所有者。

这些说明依据的是 README、用户指南各页和安装脚本,每个文件都写明了出处,于 2026 年 11 月 3 日阅读。Mindket 没有实际运行这个应用。

放到网络上之前先读这一段

截至 2026 年 11 月 3 日,Releases 页上的最新版本是 v0.12.0(2026 年 5 月 31 日发布)。美国国家漏洞数据库(NVD)列出了三份针对 0.12.0 及以前版本的报告。其中 CVE-2026-69098 说的是无需登录就能执行代码,VulnCheck 把它评为严重。另外两份,CVE-2026-82281 和 CVE-2026-86867,说的是聊天相关的函数不检查对话归谁所有。

GitHub 上的 issue #844 和 #846 是前两份报告的报告者写的说明。2026 年 11 月 3 日时,两个 issue 都还开着,没有评论,没有指派人,也没有关联的拉取请求。这些来源展示的是报告者自己的概念验证,没有提到真实环境中的攻击。setup/before-you-share-it.md 逐条列出每份报告和出处。在有版本修复之前,只在你自己的电脑上自己用 kotaemon,别让其他人能通过网络访问 7860 端口。

会安装什么

  • Docker 方式:镜像 ghcr.io/cinnamon/kotaemon,有 main-full、main-lite 和 main-ollama 三种。出处:https://github.com/Cinnamon/kotaemon/blob/main/README.md
  • zip 方式:最新发布版里的 kotaemon-app.zip。它的 scripts 文件夹里有 run_windows.bat、run_macos.sh 和 run_linux.sh。脚本会在解压后文件夹里的 install_dir 中安装 Miniconda 和一个 Python 3.10 环境,然后安装并启动 kotaemon。出处:https://github.com/Cinnamon/kotaemon/blob/main/docs/index.md 和 https://github.com/Cinnamon/kotaemon/tree/main/scripts
  • 源码方式:仓库里的两个 Python 包 libs/kotaemon 和 libs/ktem,用 uv 或 conda 安装。出处:README。
  • 每种方式都把应用数据放在 ktem_app_data 文件夹里。README 说,备份或复制这个文件夹,就能把整套安装搬到新电脑上。

事先要准备的

  • Docker,用于 README 推荐的方式。源码安装需要 Python 3.10 或更新版本。
  • Unstructured,只有源码安装、又要处理 .pdf、.html、.mhtml 和 .xlsx 以外的文件时才需要。full 版 Docker 镜像已经带了它的额外依赖。出处:README。
  • 一个语言模型和一个嵌入模型:服务商的 API 密钥,或者 Ollama 这类本地服务。见 setup/models-and-env.md。

主要安装命令

README 推荐 Docker。下面的命令运行 full 镜像,在 7860 端口提供应用。请在一个可以创建 ktem_app_data 的文件夹里运行。

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

出处:https://github.com/Cinnamon/kotaemon/blob/main/README.md 。然后打开 http://localhost:7860/ ,用户名 admin,密码 admin。第一件事是改掉这个密码。

各个文件

  • setup/docker.md:full、lite 和 Ollama 三种镜像,平台参数,以及在 Docker 里连本地模型
  • setup/zip-installer.md:Windows、macOS 和 Linux 的发布版 zip,以及脚本做了什么
  • setup/from-source.md:uv 或 conda、.env 文件、PDF 阅读器和 python app.py
  • setup/hugging-face-space.md:复制制作方的 Hugging Face 模板,以及在线演示
  • setup/models-and-env.md:在 Resources 标签页或 .env 里设置模型,以及本地模型
  • setup/graphrag.md:Nano GraphRAG、LightRAG 和微软 GraphRAG
  • setup/document-loaders.md:Docling、PaddleOCR、Azure Document Intelligence 和 Adobe PDF Extract
  • setup/before-you-share-it.md:第一次登录、用户管理和尚未处理的安全报告

更新或卸载

用户指南说,第一次安装之后,或者改动任何东西之后,再运行一次 run_* 脚本就能启动应用。README 说,从最新发布版下载 zip,就能拿到最新的功能和修复。Docker 镜像的各个标签列在 https://github.com/Cinnamon/kotaemon/pkgs/container/kotaemon

这些说明参考的页面都没有给卸载步骤。如果要手动清除,下面是 Mindket 根据 README 和脚本整理的做法,不是 Cinnamon 的说明。README 的 Docker 命令带了 --rm,容器停下就会被删除,你的数据留在 ktem_app_data 里,直到你删掉这个文件夹。zip 方式把 Miniconda、Python 环境和(Windows 上的)Portable Git 都放在解压后文件夹里的 install_dir 中,删掉解压后的文件夹就全部清除了。

使用数据和对外连接

这些说明参考的页面没有说 kotaemon 是否发送使用数据,Mindket 也没有读应用的代码去确认。页面上能看到的连接有这些:

  • 你的模型服务商:应用会把你的问题和匹配到的段落发给你设置的模型。用户指南说,用 Ollama 这类本地模型时,文档在本地存储和处理。
  • 安装脚本:从 repo.anaconda.com 下载 Miniconda,从 github.com 下载 kotaemon 本身,从 Mozilla 在 github.com 上的发布页下载 PDF.js。Windows 脚本还会从 7-zip.org 下载 7-Zip,从 github.com 下载 Portable Git。脚本还会用 pip 从默认的包索引(PyPI)安装 kotaemon 的 Python 依赖,并用 conda 创建 Python 3.10 环境。
  • 你自己开启的服务:Cohere 重排序(.env.example 里的 COHERE_API_KEY 一行,以及用户指南里的重排序分数)、VoyageAI、Azure Document Intelligence 和 Adobe PDF Extract。

出处

  • README:https://github.com/Cinnamon/kotaemon/blob/main/README.md
  • 用户指南,入门:https://github.com/Cinnamon/kotaemon/blob/main/docs/index.md
  • 用户指南,使用:https://github.com/Cinnamon/kotaemon/blob/main/docs/usage.md
  • 在线安装:https://github.com/Cinnamon/kotaemon/blob/main/docs/online_install.md
  • 本地模型:https://github.com/Cinnamon/kotaemon/blob/main/docs/local_model.md
  • Docling:https://github.com/Cinnamon/kotaemon/blob/main/docs/integrations/docling.md
  • PaddleOCR:https://github.com/Cinnamon/kotaemon/blob/main/docs/integrations/paddle_ocr.md
  • 用户管理:https://github.com/Cinnamon/kotaemon/blob/main/docs/pages/app/ext/user-management.md
  • 示例配置:https://github.com/Cinnamon/kotaemon/blob/main/.env.example
  • 安装脚本:https://github.com/Cinnamon/kotaemon/tree/main/scripts
  • 发布页:https://github.com/Cinnamon/kotaemon/releases
  • Security 标签页:https://github.com/Cinnamon/kotaemon/security
文件
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 个文件,共 28 KB,以 zip 压缩包下载。

更新内容

  • 第 2 版 · 2026-11-09

    Updated by Mindket to the current version of this kit.

  • 第 1 版 · 2026-11-03

评价

还没有评分

写评价

还没有评价。

大家怎么说

Hacker News、Bluesky、X、Reddit、Facebook 和 YouTube 上提到这个项目的帖子和评论,来自每周一次的搜索和 Trendshift。它们不是 Mindket 写的,也未经核实,点开即可在原帖处阅读。

milesKotaemon: An open-source RAG-based tool for chatting with your documents191 分 · 14 条回复EUVD 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 赞@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 分EUVD 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

搜索日期

Mindket 的更多商品

查看 Mindket 的全部商品

Bonsai-27B-GGUF

lmstudio-community · 工具包

面向 LM Studio 的 27B Bonsai 模型 GGUF 转换版,含 3.80 GB 的 Q1_0 语言文件和 0.93 GB 的 BF16 视觉投影器。已测试文本、视觉和并行工具调用。

新上架

以每权重 2.9 位的 EXL3 量化运行 DeepSeek-V4.1-Flash-1017,这是一份 196 GiB 的副本,适合在自己硬件上部署大模型的人。困惑度与原模型相差不大。

新上架

MusicGen Small

facebook · 工具包

根据文字描述或音频提示生成短音乐片段,是 facebook MusicGen 的 small 检查点。适合想在自己电脑上试用文字生成音乐的开发者和音乐爱好者。

新上架

Awesome LLM Apps 智能体示例

Shubhamsaboo · 工具包

Shubham Saboo 的开源合集,收录 AI 智能体、智能体技能和 RAG 应用,大部分各在自己的文件夹里,带一份 README。安装说明涵盖 Claude Code、Codex 和 Cursor 的技能、Python 应用、本地 Ollama 应用、一个 MCP 智能体和一套 Google ADK 课程。

新上架144k

Crawl4AI 开源网页爬虫

unclecode · 工具包

UncleCode 做的开源网页爬虫和抓取工具,面向大语言模型和 AI 智能体。它在浏览器里加载页面,返回干净的 Markdown,或者按你定义的结构返回 JSON。说明涵盖 Python 库、crwl 命令、Docker 服务器和 MCP。

新上架87k

Awesome Self-Hosted AI

glincker · 工具包

列出 309 个可以在你自己的硬件或服务器上运行的开源 AI 项目,按 LLM 运行时、智能体、RAG 和语音等板块分组,每周做一次健康检查。

新上架113