用NAS搭建你的数字大脑,可学习,可成长,养成系项目KHOJ




项目介绍
AI井喷式的发展给我们带来了不少便利,但实际上很多人都并不会用AI,可能用的最多的就是拿AI搜搜东西,提点问题或者画画图了。在GPT开放4.0之后,很多项目都迎来了大更新,例如今天我要介绍的KHOJ,一个AI大脑。
KHOJ具备以下特性:
可以共享你的笔记和文档以扩展你的数字大脑。
AI 可访问互联网,允许合并实时信息。
Khoj 可在 Desktop、Emacs、Obsidian、Web 和 Whatsapp 上访问。
可共享 pdf、markdown、org-mode、notion 文件和 github 存储库。
在文档之上获得快速、准确的语义搜索。
可创建预设。
开源的、自托管。
项目体验
比较遗憾的是该项目并不支持中文,不过项目的词汇并不多,且AI是支持中文语境的,所以并不影响我们正常使用。
首页
直接在聊天窗口输入想要了解的内容,这时候对话窗会弹出界面,这时候他会自动搜索网上的内容,这些内容都是实时的,例如昨天的新闻,今天就能搜到。最后将合并这些新闻,从中提取你需要的内容再发出来。
提问
结果出现之后,可以通过点击左边的references来展示来源,点击链接就可以直接跳转到来源地址,这里能看到来源都是最新的内容。
信息来源
该项目也支持上传文档分析,支持pdf、markdown以及常规的文本文件。上传之后点击来源也能看到文件的预览。
上传内容分析
右边的历史对话这里,可以选择新建窗口,同时可以选择预设的AI人设,例如你可以让他作为数学老师回答你的数学问题,也可以让他作为文学大师,让他帮你检查你的文章是否有问题等等。
image.png
项目部署
该项目的部署并不难,首先我们需要再群晖docker文件夹中新建khoj文件夹,并在其中分别新建子文件夹models、config以及db用于数据持久化。
持久化准备
随后我们再根目录下新建docker-compose文件,内容如下:
version: "3"services:  database:    image: ankane/pgvector    ports:      - "5423:5432"    environment:      POSTGRES_USER: postgres      POSTGRES_PASSWORD: postgres      POSTGRES_DB: postgres    volumes:      - /volume1/docker/khoj/db:/var/lib/postgresql/data/    healthcheck:      test: ["CMD-SHELL", "pg_isready -U postgres"]      interval: 30s      timeout: 10s      retries: 5  server:    depends_on:      database:        condition: service_healthy    # Use the following line to use the latest version of khoj. Otherwise, it will build from source.    image: ghcr.dockerproxy.com/khoj-ai/khoj:latest    # Uncomment the following line to build from source. This will take a few minutes. Comment the next two lines out if you want to use the offiicial image.    # build:      # context: .    ports:      # If changing the local port (left hand side), no other changes required.      # If changing the remote port (right hand side),      #   change the port in the args in the build section,      #   as well as the port in the command section to match      - "42110:42110"    working_dir: /app    volumes:      - /volume1/docker/khoj/config:/root/.khoj/      - /volume1/docker/khoj/models:/root/.cache/torch/sentence_transformers    # Use 0.0.0.0 to explicitly set the host ip for the service on the container. https://pythonspeed.com/articles/docker-connection-refused/    environment:      - POSTGRES_DB=postgres      - POSTGRES_USER=postgres      - POSTGRES_PASSWORD=postgres      - POSTGRES_HOST=database      - POSTGRES_PORT=5432      - KHOJ_DJANGO_SECRET_KEY=secret      - KHOJ_DEBUG=False      - KHOJ_ADMIN_EMAIL=username@example.com      - KHOJ_ADMIN_PASSWORD=password    command: --host="0.0.0.0" --port=42110 -vv --anonymous-mode
这其中涉及到的端口号或者路径如果有不一样的,记得自行更改。和官方提供的docker-compose不同的是,我把第二个容器加上了代理,毕竟项目下载下来一共有7G,存放又在ghcr.io上,不加代理完全拉不动。
容器大小
随后我们打开SSH端口,连接上nas之后移动到文件根目录,随后输入docker-compose up -d启动容器。看到两个项目都已经启动完成之后,项目也就成功启动了。浏览器输入http://你的nasIP+端口号就能访问项目首页了
总结
合理运用AI,能帮我们节约很多时间,毕竟我们没法抵挡AI的发展,那么就只有顺应它的发展,让自己能充分利用它。
以上便是本期的全部内容了,如果你觉得还算有趣或者对你有所帮助,不妨点赞收藏,最后也希望能得到你的关注,咱们下期见!
到顶部