Khoj 是一个开源的个人 AI,你可以和它聊任何事情。它将使用您与之共享的文件进行回复(如果相关)。它还可以从公共互联网访问信息,使用自然语言快速查找相关笔记和文档,它理解 pdf、纯文本、markdown、组织模式文件、概念页面和 github 存储库,从您的 Emacs、Obsidian、Khoj 桌面应用程序或任何 Web 浏览器访问它,使用我们的云实例随时随地访问您的 Khoj,在消费类硬件上自托管以保护隐私。
主要功能
- 与任何本地或在线 LLM(例如 llama3、qwen、gemma、mistral、gpt、claude、gemini)聊天。
- 从 Internet 和您的文档(包括图像、pdf、markdown、org-mode、word、notion 文件)获取答案。
- 从您的浏览器、Obsidian、Emacs、桌面、电话或 Whatsapp 访问它。
- 创建具有自定义知识、角色、聊天模型和工具的代理,以承担任何角色。
- 自动化消除重复研究。将个人时事通讯和智能通知发送到您的收件箱。
- 使用我们的高级语义搜索快速轻松地查找相关文档。
- 生成图像、大声说话、播放您的信息。
- Khoj 是开源的,可自托管。总是。
- 在您的计算机上私下运行它,或在我们的云应用程序上试用。
安装和使用
依赖
-
Khoj 将 Postgres DB 用于所有服务器配置,并扩展到多用户设置。它使用 Postgres 中的 pgvector 包来管理文档嵌入。需要安装 Postgres 和 pgvector 才能使 Khoj 正常工作。
-
创建数据库:
createdb -U postgres khoj --password
Postgres 环境配置
确保更新 、 、 或 环境变量 以匹配 Postgres 配置中的任何自定义项。
POSTGRES_HOSTPOSTGRES_PORTPOSTGRES_USERPOSTGRES_DBPOSTGRES_PASSWORD
安装khoj服务器
- 确保计算机上已安装 python 和 pip
- 检查 llama-cpp-python 设置,如果您在安装时遇到任何 llama-cpp 问题
在终端中运行以下命令以安装 Khoj 服务器(macOS + ARM/M1距离,其他参考官网文档。下同)
CMAKE_ARGS="-DGGML_METAL=on" python -m pip install khoj
启动 Khoj 服务器
从终端运行以下命令以启动 Khoj 服务。
khoj --anonymous-mode
--anonymous-mode
允许在不需要登录的情况下访问 Khoj。这通常适用于仅限本地的单用户设置。如果您需要身份验证,请遵循身份验证设置文档。
首次运行
首次运行上述命令时,系统将提示您:1. 使用电子邮件和安全密码创建管理员帐户
-
自定义聊天模型以启用
-
一旦您在终端上的服务器日志中看到,您的设置就完成了!
🌖 Khoj is ready to use
自动启动
要在后台自动启动 Khoj,请使用 Windows 上的 Task scheduler 或 Mac、Linux 上的 Cron(例如,使用
@reboot khoj
)
使用 Khoj
您现在可以在 http://localhost:42110 中打开 Web 应用程序并开始交互! 无需任何其他操作,但您可以按照以下步骤进一步自定义设置。
First Message to Offline Chat 模型
离线聊天模型在您首次向其发送消息时下载。下载可能需要几分钟时间!后续消息应该更快。
添加聊天模型
登录到 Khoj 管理面板
转到 http://localhost:42110/server/admin 并使用您在安装过程中设置的管理员凭证登录。CSRF 错误
确保您使用的是 localhost,而不是 127.0.0.1 来访问管理面板,以避免 CSRF 错误。
不允许的主机或错误请求 (400) 错误
如果您尝试访问在自定义域(例如 192.168.12.3 或 example.com)上或通过 HTTP 公开的 Khoj,则可能会遇到此问题。 如果需要,将环境变量设置为 KHOJ_DOMAIN=your-domain 和 KHOJ_NO_HTTPS=True 以避免此错误。
注意
在 Mac 上使用 Safari?您可能无法登录管理面板。请尝试改用 Chrome 或 Firefox。
配置聊天模型
设置您想要使用的聊天模式。Khoj 支持本地和在线聊天模式。* 开放人工智能
- 人
Ollama 集成
使用 Ollama?请参阅 Ollama 集成部分,了解更多自定义设置说明。
-
在服务器管理员设置中创建新的 OpenAI 处理器对话配置。我们知道,这有点用词不当。
- 添加您的 OpenAI API 密钥
- 为配置指定一个友好名称,例如
OpenAI
- (可选)设置 API 基 URL。仅当您使用其他与 OpenAI 兼容的代理服务器(如 Ollama 或 LMStudio)时,它才有意义。
-
创建新的聊天模型选项
- 将字段设置为 OpenAI 聊天模型。例:。
chat-modelgpt-4o
- 确保将字段设置为 。
model-typeOpenAI
- 如果您的模型支持视觉,请将字段设置为 。目前仅支持具有视觉功能的 OpenAI 模型。
vision enabledtrue
- 和 字段是可选的。仅当您确定所用模型的 tokenizer 或 token 限制时,才设置它们。如果您不确定如何操作,请联系我们。
tokenizermax-prompt-size
- 将字段设置为 OpenAI 聊天模型。例:。
多个聊天模型
在 ServerChatSettings 的 , 字段中设置首选的默认聊天模型。 Khoj 将这些聊天模型用于所有中间步骤,如意图检测、网络搜索等。DefaultAdvanced
聊天模型字段
- 和 字段是可选的。仅当您确定所用模型的 tokenizer 或 token 限制时,才设置它们。这改进了上下文填充。如果您不确定如何操作,请联系我们。
tokenizermax-prompt-size
- 仅勾选具有视觉功能(如 gpt-4o)的 OpenAI 模型。其他聊天模型中的视觉功能目前未使用。
vision enabled
同步您的知识
- 您可以使用 Khoj 与您的笔记和文档聊天。
- Khoj 可以使用 Khoj Desktop、Obsidian 或 Emacs 客户端使您的文件和文件夹保持同步。
- 您的 Notion 工作区可以直接从 Web 应用程序同步。
- 您也可以在 Web 应用程序上拖放要聊天的特定文件。
设置 Khoj 客户端
默认情况下,Khoj Web 应用程序可用于聊天、搜索和配置 Khoj。 您还可以安装 Khoj 客户端,以便从 Obsidian、Emacs、Whatsapp 或您的操作系统轻松访问它,并使您的文档与 Khoj 保持同步。
注意
将客户端设置页面上的主机 URL 设置为您的 Khoj 服务器 URL。默认情况下,使用 或 。请注意,这可能并非在所有情况下都有效。
http://127.0.0.1:42110http://localhost:42110localhost
- 阅读 Khoj 桌面应用程序设置文档。