AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


【15/100个AI应用体验】Khoj: 也想帮你打造“第二大脑”(但没那么简单),基于LLM管理和检索知识
发布日期:2024-06-21 08:12:20 浏览次数: 1879 来源:河东小郢


【一点废话】:尝试把大语言模型的机制讲得更人话一点(不恰当的类比):
  • 人类看到的文字、图片、视频等视觉信号都是输入(muti-inputs)
  • 这些视觉信号嵌入(embedding)到生物质神经网络
  • 通过人类脑海里的世界模型(worldmodel,但现在大语言模型还做不到)对输入进行处理
  • 再输出(语言、文字、手势、行动)则是推理(reasoning)过程
  • 表达出来的话语、制作的文字、编辑的视频获得的观看次数、点赞、投币带来的刺激则是人类反馈强化学习(RHLF)
  • 根据这些反馈调整就是对齐(Alignment)群体偏好


今天带来的一款工具Khoj,非常推荐大家到其官网直接下载app版本(app下载地址:https://khoj.dev/downloads),app的体验还是不错。但及其不推荐本地源码部署(自托管,self-host模式)不要折腾,不要折腾,不要折腾!


安全声明结束。如果想要折腾,再看本文。

┃Khoj,帮助用户从复杂的数据中提取有价值的信息

Khoj是一款开源的个人化AI助手,旨在作为用户的第二大脑,帮助用户管理和检索知识。我非常喜欢这款工具的页面风格和知识库检索功能,我非常讨厌其其性能和交互表现(甚至没找到停止响应的按钮)。

主要功能(特性):
  1. 知识管理和检索:Khoj能够帮助用户管理和检索知识,支持多种形式的数据,如文档、笔记、书籍等。

  2. AI搜索引擎:Khoj提供了一个AI搜索引擎,使用户能够快速找到所需的信息。

  3. 多平台支持:Khoj支持多种使用场景,如桌面应用程序、Emacs包和Obsidian插件,使其能够无缝集成到用户的日常工作流程中。

  4. 语音输入:Khoj支持语音输入,使用户能够通过语音与AI助手进行交互。

  5. 图像生成:Khoj能够生成图像,帮助用户更好地理解和记忆信息。

  6. 智能体(AI Agent):Khoj支持AI Agent,使用户能够通过AI助手执行任务和获取信息。

  7. 联网搜索:Khoj支持联网搜索,使用户能够检索到互联网上的信息。

  8. 自托管:Khoj支持自托管,允许用户在完全控制的环境中运行Khoj,确保数据的安全和隐私。

  9. 开源:Khoj是一个开源项目,用户可以参与社区贡献,获取最新的功能和改进。

不足:
  1. 自托管模式配置比较复杂。
  2. 本地启动慢。
  3. 会遇到各种异常(也看人品)。
  4. 利用本地大模型的时候,性能开销大(对比了chatbox、obsidian-copilot、ollama服务本身)。
  5. 自托管模式下,本身并不支持对整个文件夹的文档遍历,知识管理和检索不适用,需要二次开发(吾若有那种本事就直接开发前端了)。
  6. 页面不支持中文(这是我的问题,不是它的问题)。
源码本地部署(自托管)的初步体验效果如下:
errrr... 一如既往卡住了,调试了半天仍然没有成功,还好有稍早些时候截取的成功对话可以证明至少曾经成功调通过(配置没有动过)?⬇️


Obsidian

┃本次部署环境(供参考)

OS: MacOS m2芯片

Docker:须有(不用docker部署,则不需要,但就需要另外的环境了,具体参考官方项目介绍

本地大模型服务工具:Ollama

LLMs:通过ollama部署的任一一个大模型,本次演示用的llama3

嵌入模型:nomic-embed-text

部署方式:本地托管(self-host)模式,通过docker部署(独立app和obsidian插件两种模式这里不作介绍,感兴趣可以到github或者官方网站上了解)

Github项目地址:https://github.com/khoj-ai/khoj


┃部署过程

1.通过CMD命令窗口下载项目源码到本地

打开?,打开mac终端

git clone https://github.com/khoj-ai/khoj.git


2.进入已经下载下来的本地项目仓库(文件夹):

cd khoj

3.通过docker启动,将自动设置数据库并运行 Khoj 服务器(需要656MB空间。(确保docker服务已启动,未启动会报错“Cannot connect to the Docker daemon at unix:///Users/moffe/.docker/run/docker.sock. Is the docker daemon running?”):

docker-compose up

4.启动成功后打开浏览器,输入:http://localhost:42110


5.浏览器另开一个页面,输入http://localhost:42110/server/admin/进行初始化设置,默认用户名/密码username@example.com/password。



6.开始配置本地服务(基于ollama),建议找到官方安装部署指引:https://docs.khoj.dev/miscellaneous/ollama/:

配置1:在【Open ai processor conversation configs】创建一个新配置,apikey随便填几个字母或英文,不要输入汉字,不要有空格,不要有特殊字符。参考如下⬇️

⚠️注意:因为我macbook通过docker部署过ollama,上图的地址

配置2:在【Chat model optionss】创建一个新配置。参考如下:

⚠️注意:这里的tokenizer强烈建议大家填上。如果不知道你的本地文本嵌入模型是什么,另开一个终端,输入ollama list 查一下,如果没有嵌入模型,下载一个:比如我用的是nomic-embed-text,在终端输入 ollama run nomic-embed-text,就可以下载文本嵌入模型到本地。

7.回到浏览器khoj页面http://localhost:42110/config 选择上述的配置,点击chat开始对话。

┃花絮&也许有点用的问题解决思路

Khoj直接app下载的体验还是很丝滑的,但本着能搞到开源项目代码,复用本地大模型环境的原则,还是回到了源码本地部署的主线任务,但这个开源代码的环境实在谈不上友好,设置复杂问题多,同一个配置还不稳定。前后折腾了四五天时间才运行成功,结果早上好,晚上又崩。

不管怎样还是正常跑起来过,我把问题解决思路也放到这里,供参考。

解决办法1:在github项目上反馈了遇到的问题,得到了项目人员的反馈(虽然最终还是自己找到了问题解决办法)

解决办法2:在docker服务后台,把报错代码拷贝出来,直接问大模型。一开始把所有的日志内容文字直接复制到窗口结果报上下文超出限制,于是把日志内容保存为log文件,上传到大模型对话窗口,询问解决办法:

我把几个主流大模型(讯飞星火、kimi、智谱清言、万知)的url通过obsidian神级插件Custom Frames集成到obsidian里面,这样就形成了项目体验-->过程记录-->大模型内容检索和查找的一个小小的工作流。

为啥折腾?
一是折腾可能会对其实现逻辑和过程理解得更深入一点
另,折腾本身也很快乐!



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询