自行托管

了解如何在您的机器上自行托管 Khoj。

自行托管的优势:

  1. 隐私性:您的数据永远不会离开您的私有网络。如果在个人电脑上部署,您甚至可以在没有互联网连接的情况下使用 Khoj。
  2. 可定制性:您可以按需定制 Khoj,从模型选择到主机 URL,再到功能启用。

设置 Khoj

以下是自行托管 Khoj 的通用设置说明。您可以通过 DockerPip 安装 Khoj 服务器。

离线模型 + GPU

要使用离线聊天模型并启用 GPU 加速,我们推荐使用带 Ollama 的 Docker 方案。您也可以直接通过 Python 包进行本地 Khoj 设置。

首次运行

首次运行后请重启 Khoj 服务器以确保所有设置正确应用。

• Docker • Pip

• MacOS • Windows • Linux

先决条件

Docker

选项1:点击安装 Docker Desktop。请确保同时安装 Docker Compose 工具。 • 选项2:使用 Homebrew 安装 Docker 和 Docker Compose。

  1. brew install --cask docker
  2. brew install docker-compose

设置步骤

  1. 从 Github 下载 Khoj 的 docker-compose.yml 文件

    1. mkdir ~/.khoj && cd ~/.khoj
    2. wget https://raw.githubusercontent.com/khoj-ai/khoj/master/docker-compose.yml
  2. 配置 docker-compose.yml 中的环境变量 • 设置安全的 KHOJ_ADMIN_PASSWORDKHOJ_DJANGO_SECRET_KEY(可选设置 KHOJ_ADMIN_EMAIL)。这将允许您通过管理面板后续定制 Khoj。 • 如需使用 OpenAI、Anthropic 或 Gemini 的商业聊天模型,请设置对应的 OPENAI_API_KEYANTHROPIC_API_KEYGEMINI_API_KEY。 • 取消注释 OPENAI_BASE_URL 以使用主机运行的 Ollama,或设置为您的 OpenAI 兼容 API(如 vLLM 或 LMStudio)的 URL。

  3. 在包含 docker-compose.yml 文件的目录中运行以下命令启动 Khoj

    1. cd ~/.khoj
    2. docker-compose up

先决条件

  1. 安装 WSL2 并重启机器

    1. # 在 PowerShell 中运行
    2. wsl --install
  2. 安装 Docker Desktop 并启用 WSL2 后端(默认选项)

设置步骤

  1. 从 Github 下载 Khoj 的 docker-compose.yml 文件

    1. # Windows 用户应使用 WSL2 终端运行这些命令
    2. mkdir ~/.khoj && cd ~/.khoj
    3. wget https://raw.githubusercontent.com/khoj-ai/khoj/master/docker-compose.yml
  2. 配置 docker-compose.yml 中的环境变量(同 MacOS 步骤)

  3. 启动命令(需在 WSL2 终端运行):

    1. cd ~/.khoj
    2. docker-compose up

先决条件

安装 Docker Desktop。您也可以使用系统包管理器安装 Docker Engine 和 Docker Compose。

设置步骤

  1. 下载 docker-compose.yml 文件(同 MacOS 步骤)
  2. 环境变量配置(同 MacOS 步骤)
  3. 启动命令:

    1. cd ~/.khoj
    2. docker-compose up

远程访问

默认情况下 Khoj 仅限运行主机访问。要从远程机器访问,请参阅 远程访问文档

当终端服务器日志显示 🌖 Khoj is ready to use 时表示设置完成。

使用 Khoj

现在您可以通过 http://localhost:42110 访问网页应用开始交互!
以下定制步骤可选:

添加聊天模型

登录管理面板

访问 http://localhost:42110/server/admin 使用安装时设置的管理员凭证登录。

配置模型

支持本地和在线聊天模型:

• OpenAI • Anthropic • Gemini • 离线模型

同步知识库

• 通过桌面端/Obsidian/Emacs 客户端同步文件 • 直接同步 Notion 工作区 • 网页端支持拖拽上传文件

升级与卸载

升级服务器

• Pip 用户:pip install --upgrade khoj • Docker 用户:在 docker-compose.yml 目录运行 docker-compose up --build

卸载

• Pip 用户:卸载包后删除 PostgreSQL 数据库 • Docker 用户:运行 docker-compose down --volumes

故障排查

常见问题解决方案包括: • 使用虚拟环境解决依赖冲突 • 安装 Rust 编译 tokenizers 包 • 增加 Docker 内存分配

(注:为保持简洁,部分重复操作步骤已合并,完整流程请参考原文链接)