如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
一个开源、简洁且可定制的RAG UI,用于与您的文档对话。兼顾终端用户和开发者的需求而构建。
Live Demo #1 | Live Demo #2 | Online Install | Colab Notebook (Local RAG)
User Guide | Developer Guide | Feedback | Contact
本项目为两类用户提供功能完善的RAG UI:一类是希望对自己的文档进行问答的终端用户,另一类是希望构建自己RAG流水线的开发者。
+----------------------------------------------------------------------------+
| 终端用户:使用基于 `kotaemon` 构建的应用的用户。 |
| (您使用的应用类似于上面演示中的应用) |
| +----------------------------------------------------------------+ |
| | 开发者:基于 `kotaemon` 进行构建的用户。 | |
| | (您的项目中包含 `import kotaemon` 语句) | |
| | +----------------------------------------------------+ | |
| | | 贡献者:致力于改进 `kotaemon` 的用户。 | | |
| | | (您向本仓库提交PR) | | |
| | +----------------------------------------------------+ | |
| +----------------------------------------------------------------+ |
+----------------------------------------------------------------------------+
ollama``llama-cpp-python- 轻松安装:简单的脚本助您快速开始使用。托管您自己的文档问答(RAG)Web UI:支持多用户登录,将文件组织为私有/公开集合,协作并与他人分享您喜爱的对话。 Host your own document QA (RAG) web-UI: Support multi-user login, organize your files in private/public collections, collaborate and share your favorite chat with others.
管理您的LLM和嵌入模型:支持本地LLM和主流API提供商(OpenAI、Azure、Ollama、Groq)。 Organize your LLM & Embedding models: Support both local LLMs & popular API providers (OpenAI, Azure, Ollama, Groq).
混合RAG流水线:合理的默认RAG流水线,结合混合(全文+向量)检索器和重排序,确保最佳检索质量。 Hybrid RAG pipeline: Sane default RAG pipeline with hybrid (full-text & vector) retriever and re-ranking to ensure best retrieval quality.
多模态问答支持:对包含图表和表格的多个文档执行问答。支持多模态文档解析(UI上可选)。 Multi-modal QA support: Perform Question Answering on multiple documents with figures and tables support. Support multi-modal document parsing (selectable options on UI).
带文档预览的高级引用:系统默认提供详细引用,确保LLM答案的正确性。直接在浏览器内PDF查看器中查看引用(包括相关分数)并高亮显示。当检索流水线返回低相关性文章时发出警告。 Advanced citations with document preview: By default the system will provide detailed citations to ensure the correctness of LLM answers. View your citations (incl. relevant score) directly in the in-browser PDF viewer with highlights. Warning when retrieval pipeline return low relevant articles.
支持复杂推理方法:使用问题分解来回答复杂/多跳问题。支持基于智能体的推理,如ReAct、ReWOO等智能体。 Support complex reasoning methods: Use question decomposition to answer your complex/multi-hop question. Support agent-based reasoning with ReAct, ReWOO and other agents.
ReAct``ReWOO- 可配置的设置UI:您可以在UI上调整检索和生成过程的大多数重要方面(包括提示词)。
Configurable settings UI: You can adjust most important aspects of retrieval & generation process on the UI (incl. prompts).
GraphRAG## 安装
[!NOTE] 如果您不是开发者,只是想使用该应用,请查阅我们易于遵循的《用户指南》。从最新发布版本下载.zip文件,以获取所有最新功能和错误修复。
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.
.zip## 系统要求
Python >= 3.10
Docker:可选,如果使用Docker安装
Unstructured:如果您想处理除.pdf、.html、.mhtml和.xlsx之外的文档。安装步骤因操作系统而异。请访问链接并按照那里提供的具体说明操作。
.pdf``.html``.mhtml``.xlsx## 使用Docker(推荐)
我们支持Docker镜像的精简版(lite)和完整版(full)。完整版安装了unstructured的额外包,可支持更多文件类型(.doc、.docx等),但代价是更大的镜像体积。对于大多数用户,精简版在大多数情况下应该足够使用。
lite``full``full``unstructured``.doc``.docx``lite- 要使用完整版:
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.
git clone https://github.com/Cinnamon/kotaemon
cd kotaemon
设置环境:
uv sync --python 3.10
source .venv/bin/activate
conda create -n kotaemon python=3.10
conda activate kotaemon
pip install -e "libs/kotaemon[all]"
pip install -e "libs/ktem"
在项目根目录创建 .env 文件。以 .env.example 作为模板。.env 文件用于满足用户在启动应用前预配置模型的需求(例如在 HF Hub 上部署应用)。该文件仅在首次运行时用于填充数据库,后续运行将不再使用。
(可选)要启用浏览器内 PDF_JS 查看器,请下载 PDF_JS_DIST 并将其解压到 libs/ktem/ktem/assets/prebuilt。
启动 Web 服务器:
python app.py
应用将自动在浏览器中启动。
admin。您可以直接通过 UI 设置其他用户。检查“Resources”(资源)选项卡以及“LLMs and Embeddings”(LLM 和嵌入模型),确保您的 api_key 值已从 .env 文件正确设置。如果未设置,您可以在此处进行设置。
官方 MS GraphRAG 索引仅适用于 OpenAI 或 Ollama API。我们建议大多数用户使用 NanoGraphRAG 实现,以便与 Kotaemon 直接集成。
pip install nano-graphrag
nano-graphrag 可能会导致版本冲突,参见此问题。快速修复:pip uninstall hnswlib chroma-hnswlib && pip install chroma-hnswlib
使用 USE_NANO_GRAPHRAG=true 环境变量启动 Kotaemon。
在“Resources”(资源)设置中设置您的默认 LLM 和嵌入模型,NanoGraphRAG 将自动识别这些设置。
安装 LightRAG:
pip install git+https://github.com/HKUDS/LightRAG.git
LightRAG 可能会导致版本冲突,参见此问题。快速修复:pip uninstall hnswlib chroma-hnswlib && pip install chroma-hnswlib
使用 USE_LIGHTRAG=true 环境变量启动 Kotaemon。
在“Resources”(资源)设置中设置您的默认 LLM 和嵌入模型,LightRAG 将自动识别这些设置。
非 Docker 安装:如果不使用 Docker,请使用以下命令安装 GraphRAG:pip install "graphrag Retrieval Settings -> File loader
默认情况下,所有应用数据存储在 ./ktem_app_data 文件夹中。您可以备份或复制此文件夹,将安装迁移到新机器。
对于高级用户或特定用例,您可以自定义以下文件:
flowsettings.py.env此文件包含应用的配置。您可以以此处的示例作为起点。
# setup your preferred document store (with full-text search capabilities)
KH_DOCSTORE=(Elasticsearch | LanceDB | SimpleFileDocumentStore)
.env 文件提供了另一种配置模型和凭据的方式。
目前支持以下提供商:
在 .env 文件中,设置 OPENAI_API_KEY 变量并填入你的 OpenAI API 密钥,以启用对 OpenAI 模型的访问。还有其他可修改的变量,请根据你的情况进行编辑。否则,默认参数对大多数人来说应该适用。
OPENAI_API_BASE=https://api.openai.com/v1
OPENAI_API_KEY=
OPENAI_CHAT_MODEL=gpt-3.5-turbo
OPENAI_EMBEDDINGS_MODEL=text-embedding-ada-002
对于通过 Azure 平台使用的 OpenAI 模型,你需要提供 Azure 端点和 API 密钥。根据 Azure 开发环境的设置方式,你可能还需要提供聊天模型和嵌入模型的部署名称。
AZURE_OPENAI_ENDPOINT=
AZURE_OPENAI_API_KEY=
OPENAI_API_VERSION=2024-02-15-preview
AZURE_OPENAI_CHAT_DEPLOYMENT=gpt-35-turbo
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT=text-embedding-ada-002
Using ollama OpenAI compatible server:
ollama pull llama3.1:8b
ollama pull nomic-embed-text
Using GGUF with llama-cpp-python
你可以从 Hugging Face Hub 搜索并下载本地运行的 LLM。目前支持以下模型格式:GGUF。
你应选择大小小于设备内存且留出约 2 GB 空间的模型。例如,如果你总共有 16 GB RAM,其中 12 GB 可用,则应选择最多占用 10 GB RAM 的模型。更大的模型通常生成效果更好,但处理时间也更长。
以下是一些推荐模型及其内存占用大小:
在 Web UI 上添加新的 LlamaCpp 模型并提供模型名称。
来自真实用户的反馈,见证轩辕镜像的优质服务