Khoj(科霍)AI搜索引擎深度评测:开源个人知识库智能搜索与问答平台使用教程:从入门到精通

从选型到落地的可执行指南,适合个人与团队快速上手。

教程正文

从选型到落地的实战步骤。

前言

你是否曾经因为笔记散落在不同文件、文件夹中而找不到关键信息?Khoj(科霍)是一款开源的AI搜索引擎,专门为个人知识库设计,支持本地Markdown、PDF、Org-mode等文件,通过自然语言进行智能搜索和问答。本教程将带你从零开始部署Khoj,并掌握其核心功能,让你的知识库真正“活”起来。

AI辅助创作
AI辅助教程

第一步:安装与部署

方式一:Docker快速部署(推荐)

Docker是最简单的方式,适合大多数用户。

  1. 确保已安装Docker和Docker Compose。
  2. 创建一个目录存放配置文件:mkdir ~/khoj && cd ~/khoj
  3. 下载官方docker-compose.yml:wget https://raw.githubusercontent.com/debanjum/khoj/master/docker-compose.yml
  4. 修改环境变量,设置你的OpenAI API密钥(或使用本地模型)。编辑docker-compose.yml,找到KHOJ_OPENAI_API_KEY,替换为你的密钥。
  5. 启动服务:docker-compose up -d
  6. 访问 http://localhost:42110 即可看到Khoj Web界面。
人脑与AI
AI思维教程

技巧Tip: 如果你担心数据隐私,可以使用本地模型(如Llama、GPT4All),在docker-compose.yml中设置KHOJ_OPENAI_API_BASE指向本地推理端点,并关闭外部API调用。

方式二:本地Python安装(高级用户)

需要Python 3.9+。

  1. 克隆仓库:git clone https://github.com/debanjum/khoj.git && cd khoj
  2. 安装依赖:pip install -r requirements.txt
  3. 配置环境变量:export KHOJ_OPENAI_API_KEY=your_key
  4. 运行:python khoj/web/main.py

第二步:配置知识库

Khoj需要知道你的文件在哪里。编辑配置文件 khoj.yml(位于当前目录或配置目录)。

content-type:
  markdown:
    input-files:
      - ~/Documents/Notes
      - ~/obsidian/vault
  pdf:
    input-files:
      - ~/Documents/PDFs
  plaintext:
    input-files:
      - ~/vimwiki

Khoj支持Markdown、PDF、Org-mode、Plaintext等格式。你可以指定多个目录。

技巧Tip: 如果文件数量很大,先在khoj.yml中设置max-file-size限制大小,避免索引过慢。

办公桌工作
办公AI教程

第三步:索引知识库

配置完成后,需要构建索引。

  1. 在Web界面点击“Index”按钮,或命令行运行:python khoj/index.py
  2. 首次索引可能需要几分钟,取决于文件数量。Khoj会将文档分割成chunk并生成嵌入向量。
  3. 索引完成后,状态变为“Ready”。

技巧Tip: 如果你添加了新文件,无需重新全量索引,Khoj支持增量更新。只需再次点击“Index”即可。

第四步:智能搜索与问答

基本搜索

在搜索框中输入关键词,例如“项目管理方法论”,Khoj会返回相关片段,并高亮匹配关键词。注意,Khoj不仅做关键词匹配,还利用语义理解找到含义相似的段落。

自然语言问答

Khoj的杀手锏是问答功能。输入类似“我在哪份文档中讨论过敏捷开发的优势?” Khoj会直接给出答案并注明来源文件。

操作步骤:

  1. 点击右侧的“Ask”图标,进入问答模式。
  2. 输入问题,如“我的笔记里关于Python装饰器的内容有哪些?”
  3. Khoj会基于索引的文档生成回答,并引用原文片段。

技巧Tip: 问答质量取决于模型。使用GPT-4效果最佳,但费用较高。如果使用本地模型,建议选择Llama-2-13B或更高,以获得稍好的结果。

第五步:高级功能与自定义

使用本地模型(离线)

Khoj支持通过KHOJ_OPENAI_API_BASE连接本地推理服务,例如使用llama.cpp或Ollama。配置后,所有搜索和问答都在本地完成,无需联网。

自定义搜索权重

khoj.yml中,可以调整不同字段的搜索权重,例如提高标题权重:weight-title: 3

集成到Obsidian或Emacs

Khoj提供浏览器插件和Emacs插件。安装后,可以在编辑器中直接搜索个人知识库。

常见问题与排错

Q:索引后搜索结果为空?
检查khoj.yml中的input-files路径是否正确,文件是否可读。另外,确认索引过程没有报错。

Q:问答时总是返回“无法回答”?
可能是问题涉及的文档不在索引中,或者AI模型回答阈值设置过高。可以降低min-response-length或检查是否有相关文档。

总结

Khoj是一个强大的开源个人知识库搜索引擎,它结合了语义搜索和AI问答,让你的笔记和文档真正变得可搜索、可交互。从Docker部署到日常搜索,本教程覆盖了关键步骤。现在就去试试,把散落的智慧串联起来吧!

最终技巧Tip: 定期备份你的khoj.yml和索引文件(默认在~/.khoj/),方便迁移。

相关教程推荐

继续学习相关主题。