为什么要尝试给DeepSeek添加本地知识库呢?作为一个程序员,以前也用过很多AI产品,直到春节DeepSeek爆火,成功在自己的电脑上把AI模型跑起来的时候才真正感受到AI已近在咫尺。未来很多应用和项目都离不开这个工具。或许在我们OA系统中会出现一个AI小助手,我们会问它差旅费报销流程怎么走、合同流程怎么走、负责某某业务的同事的联系方式等等。当然,这应该是最简单的应用场景。时代变了!以前需要找好多个部门的专业人士了解的信息,未来用AI工具就能快速获取,并且是提炼总结后的内容。要实现这些功能,必然需要提供相关的资料内容,这就得有一个知识库。对于知识库的搭建目前已有很多的方案,接下来介绍下自己的体验过程。
工具介绍
AnythingLLM
我主要学习的是anythingLLM这个工具,且抄一段官方介绍吧:AnythingLLM是一个全栈应用程序,您可以使用现成的商业大语言模型或流行的开源大语言模型,再结合向量数据库解决方案构建一个私有ChatGPT,不再受制于人:您可以本地运行,也可以远程托管,并能够与您提供的任何文档智能聊天。AnythingLLM将您的文档划分为称为workspaces
(工作区)的对象。工作区的功能类似于线程,同时增加了文档的容器化。工作区可以共享文档,但工作区之间的内容不会互相干扰或污染,因此您可以保持每个工作区的上下文清晰。
以上是官方提供的中文介绍,查看原文请点击这里。AnythingLLM在它的官网上下载对应的系统版本安装即可。表面上看它是一个桌面应用程序,实际是可以部署到自己服务器上作为一个BS应用来使用。
Ollama
AnythingLLM支持多种大语言模型,因为前一段时间在本地安装了Ollama部署了deepseek R1的14b版本,所以就不折腾了,相关的内容可以看看我之前的分享(内容传送门,一定记得回来)。
完整过程
打开AnythingLLM,左边是工作区列表,右边则是对话窗口。知识库的应用是以工作区为维度进行的,要创建本地知识库就需要先创建一个工作区,点击右侧“+新工作区”按钮,输入工作区名称,工作区的创建就完成了,主分享一下工作区设置。在新建的工作区右侧有一个设置按钮(齿轮),然后进入到如下界面:
补一下坑:在启动AnythingLLM前,先完成Ollama的安装启动,并且运行自己喜欢的模型,否则AnythingLLM工作区配置上无法自动读取到聊天模型列表。配置完成后一定记得点一下保存按钮。
接下来就是知识投喂了,也就是怎么向知识库中添加资料。AnythingLLM的资料管理主要有两个途径:一是上传相关的文档,主要支持文本文件、csv以及音频文件等;二是直接添加URL。资料上传的入口在工作区右侧有一个上传按钮,点击后会出现资料管理的界面:
资料添加后还需要移动到工作区
点击保存并嵌入
还没完,下图中的图钉按钮要点一下。
然后就可以开始聊天了。点击工作区下方的聊天记录或“New Thread”按钮,在右侧的对话框中输入我们的需求来进行验证。
我先测试了一下PDF内容查询,由于电脑配置比较低,14b有点卡,切换到1.5b试了试,效果居然还可以!结果如下:
再测试了一下网页内容,确实能读取到相关信息,上传的URL是npm上我自己的一个package,它不仅能做介绍、抄示例代码,居然还添油加醋的讲了一段:
至此简单的本地知识库体验就完成了,虽然这还达不到真正投入使用要求,但也许未来我们可以用这种方式做一个团队知识管理工具,将公司技术沉淀与AI代码编码能力相结合。
最后
知识库能解决很多日常的相关基础应用需求,更深层次的应用还需要努力学习和思考,本地实验的目的在于通过学习相关知识更好的去认识和理解AI技术。好在,出于自身后知后觉的特性,能在网上找到丰富的学习资料,在学习的过程中我会不断的记录,不断的矫正。