kotaemon 在线部署指南:通过 HuggingFace Space 十分钟搭建专属 RAG 文档问答应用
2026/9/11 22:06:45 网站建设 项目流程

kotaemon 在线部署指南:通过 HuggingFace Space 十分钟搭建专属 RAG 文档问答应用

【免费下载链接】kotaemonAn open-source RAG-based tool for chatting with your documents.项目地址: https://gitcode.com/GitHub_Trending/kot/kotaemon

kotaemon 是一个开源的、基于 RAG(检索增强生成)的文档问答工具,用于与你的文档进行对话。本文聚焦于其最简单、无需本地环境的部署路径——在线安装(Online HuggingFace Space):借助 HuggingFace 上官方维护的 Space 模板,通过"复制 Space(Duplicate)"功能即可在约 10 分钟内获得一个完全私有的文档问答 Web 应用。读完本文,你将掌握从复制 Space、调整运行参数、等待构建到完成首次模型配置与 API Key 注册的全流程,并能理解该在线部署背后(构建脚本、启动入口、首次设置页面)的实现原理,方便后续进行个性化调整与维护。

一、在线安装(Online HuggingFace Space)总览

官方文档 docs/online_install.md 将在线部署描述为easy(10 mins)级别,整个流程只有 5 个步骤:

  1. 访问官方 kotaemon Space 模板;
  2. 使用 Duplicate 功能创建属于自己的 Space(或用直达链接一键复制);
  3. 等待构建完成并启动(约 10 分钟);
  4. 按照首次设置引导完成初始化(如需 Cohere API Key 则先注册);
  5. 完成设置后即可使用自己的私有 Space。

与 Docker 部署(推荐给开发者) 和 离线安装脚本 相比,在线安装不需要本地 Python 3.10+ 环境、不需要安装 Docker、不需要处理uv sync等依赖解析,所有计算资源与存储都托管在 HuggingFace 云端,适合希望快速体验或没有本地 GPU/大内存机器的终端用户。

二、第一步:访问官方 Space 模板并复制

打开 kotaemon_template Space,页面右上角即可看到Duplicate按钮。

更快捷的方式是直接使用官方提供的"复制直达链接"(在 URL 后追加?duplicate=true),它会跳过模板主页直接进入创建 Space 的配置界面。

说明:公开的 kotaemon Space(如官方 Demo)是共享资源,任何人上传的文件都可能被其他访问者看到,因此官方文档强调要通过 Duplicate 创建自己专属的 Space来使用。这也与仓库中 libs/ktem/ktem/pages/setup.py 中定义的DEMO_MESSAGE一致——公共 Space 会在界面上提示"请使用右上角的 Duplicate Space 功能创建你自己的 Space"。

三、第二步:调整 Space 参数

点击复制后,HuggingFace 会跳转到Duplicate this Space配置页,需要确认/修改以下关键参数:

  • Owner:选择 Space 归属账户(个人账号或组织);
  • Space name:给你的私有实例命名;
  • Visibility(可见性):推荐选择Private,保证只有你能访问(如果你希望与团队协作,可选择 Public 但注意隐私风险);
  • Hardware(硬件配置):kotaemon 的 RAG 应用在 CPU 上即可运行,默认硬件通常足够;若选择带 GPU 的配置会显著增加计费,一般不需要;
  • Secrets(密钥):可在此处预先填入环境变量(如OPENAI_API_KEY),Space 启动时会被读取。这部分与仓库中.env的用途一致——官方说明指出.env用于在应用首次启动前预配置模型,仅首次运行时会写入数据库。

确认参数后点击Create Space,HuggingFace 会立即开始基于仓库中的 Dockerfile 构建镜像并部署。

四、第三步:等待构建与启动(约 10 分钟)

创建完成后进入 Space 页面,页面会显示构建日志。首次构建需要完成以下工作(可从 Dockerfile 的源码确认):

  • 安装系统依赖:poppler-utils(PDF 解析)、gitgcc/g++cargo等(Lite 版本基础层);
  • 执行 scripts/download_pdfjs.sh 下载 PDF.js 前端查看器资源;
  • 使用uv sync --frozen安装所有 Python 依赖;
  • 安装graphrag(仅 amd64 架构,用于可选的 GraphRAG 检索)。

构建完成后,launch.sh 作为容器入口脚本被调用:默认以GRADIO_SERVER_NAME=0.0.0.0GRADIO_SERVER_PORT=7860启动(若未显式设置),随后执行.venv/bin/python app.py拉起 Gradio 应用;app.py 中通过ktem.main.App构建 demo 并调用demo.queue().launch(...),应用就绪后会监听 7860 端口,由 HuggingFace Space 网关对外提供 HTTPS 访问。

期间页面可能出现以下状态:

  • 构建/启动进行中(Build logs / Runtime logs);
  • 构建完成后应用正在加载模型与资源。

构建完成、应用成功启动后,可以将构建日志面板收起,此时页面顶部会显示应用界面。

提示:约 10 分钟是基于官方模板在默认硬件配置下的经验值,实际耗时取决于所选硬件与网络状况。若超过较长时间仍未就绪,可回到 Space 的Settings检查硬件配置,或在Logs页查看详细错误。

五、第四步:完成首次设置并注册 API Key

应用首次启动时会自动进入Welcome to kotaemon first setup!引导页。这个页面的实现位于 libs/ktem/ktem/pages/setup.py,其核心是一个模型供应商单选组件,支持四种接入方式:

选项用途对应源码配置(setup.py 中的 spec)
Cohere API(推荐,免费注册)云端 API,适合大多数用户Chat:LCCohereChat/command-r-plus-08-2024;Embedding:LCCohereEmbeddings/embed-multilingual-v3.0;Rerank:CohereReranking/rerank-v4.0-fast
Google API(免费注册)云端 APIChat:LCGeminiChat/gemini-1.5-flash;Embedding:LCGoogleEmbeddings/text-embedding-004
OpenAI API(GPT 系列模型)云端 APIChat:ChatOpenAI/gpt-4o;Embedding:OpenAIEmbeddings/text-embedding-3-large
Local LLM(Ollama)完全私有 RAGChat:ChatOpenAI(base_url 指向 Ollama)/ 默认qwen2.5:7b;Embedding:默认nomic-embed-text

如果你没有其他云端服务商账号,官方推荐选择Cohere——注册完全免费,且一个 Key 同时覆盖了 LLM 对话、Embedding 向量化和 Rerank 重排序三类模型,这正是 kotaemon 混合 RAG 检索管线所需的完整模型组合。

选择 Cohere 后,在输入框粘贴你的 Cohere API Key 并点击Proceed。此时setup.py中的update_model事件会依次执行:

  1. 将 LLM / Embedding / Rerank 三个模型写入应用数据库并设为默认;
  2. 连接测试:向 LLM 发送Hi验证对话可用性,再向 Embedding 模型发送Hi验证向量化可用性,日志区域会实时显示Connection successConnection failed及具体错误;
  3. 更新默认检索设置:update_default_settings会把重排序 LLM 指向所选供应商(选择 Ollama 时会自动关闭基于 LLM 的重排序,因为本地小模型重排序质量有限)。

如果你已经对模型配置非常熟悉,也可以点击页面底部的"I am an advance user. Skip this."跳过引导,之后再到应用内的Resources选项卡手动添加模型(详见 docs/usage.md 的"Add your AI models"章节)。

六、第五步:完成设置,使用你的私有 Space

设置完成后应用进入主界面,即文档中展示的初始启动画面。

至此,你的私有 RAG 应用已经可以正常使用,接下来可参考 docs/usage.md 完成核心操作闭环:

  1. 添加模型:进入Resources选项卡,在LLMsEmbedding Models子页签中添加/切换更多模型(在线安装中 Cohere 配置已就绪,可跳过此步);
  2. 上传文档:进入File Index选项卡,拖拽或选择文件后点击Upload and Index,等待索引完成;
  3. 与文档对话:回到Chat选项卡,在会话设置面板中选择检索文件范围(Disabled / Search All / Select),即可开始带引用的文档问答;右侧信息面板会展示证据、引用高亮与各类相关性分数。

七、在线安装的进阶理解与注意事项

7.1 在线 Space 与本地部署的差异

从源码结构看,HuggingFace Space 部署复用的是与本地完全相同的代码路径:launch.sh 是 Docker 部署与 Space 部署共用的启动入口;区别仅在于:

  • 数据持久化:Space 的磁盘是临时/受限的,ktem_app_data目录中的文档索引与会话数据在 Space 重建后可能丢失,重要数据请定期备份;
  • 登录与多用户:仓库同时提供KH_DEMO_MODEKH_SSO_ENABLED两种特殊启动模式(见 launch.sh),在线公共 Demo 即运行在 demo 模式下(关闭用户管理、禁用 LightRAG);你自己的私有 Space 默认走标准模式,首次登录使用admin / admin作为默认账号(来自 README 的安装说明),建议登录后立即在 UI 中修改凭据;
  • 模型出口:在线 Space 无法访问你本地的 Ollama,因此"Local LLM"选项要求你另行部署可被公网访问的 Ollama 服务(如通过 tunnel),这对大多数用户而言成本较高,这也是官方推荐在线安装使用 Cohere 等云端 API 的原因。

7.2 常见问题排查

  • 首次设置连接失败:检查 API Key 是否粘贴正确、是否有多余空格;Space 的 Runtime Logs 中会打印update_model阶段的具体异常信息;
  • 页面长时间停留在构建:确认硬件配置未被设置为过低的免费档位,必要时到 Space Settings 调整后重启;
  • 想要换一个模型供应商:无需重建 Space,直接在应用内Resources选项卡添加新模型并设为默认即可,这与 docs/usage.md 中的模型管理流程完全一致。

结语

在线安装(HuggingFace Space)是 kotaemon 面向终端用户设计的零门槛部署方案:复制模板、调整参数、等待构建、完成首次模型配置,四步即可获得私有的 RAG 文档问答应用。其背后与仓库本地部署共用同一套 Dockerfile、launch.sh 与 app.py 启动链路,首次设置引导则由 libs/ktem/ktem/pages/setup.py 驱动,这种"一个入口、多种部署形态"的设计让在线体验与后续迁移到自建环境保持了一致性。若你需要更高可控性(本地模型、数据不出内网、GraphRAG 高级检索),可进一步参考仓库内的 Docker 安装说明、离线安装指南 与 本地模型配置。

【免费下载链接】kotaemonAn open-source RAG-based tool for chatting with your documents.项目地址: https://gitcode.com/GitHub_Trending/kot/kotaemon

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询