为什么要尝试给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技术。好在,出于自身后知后觉的特性,能在网上找到丰富的学习资料,在学习的过程中我会不断的记录,不断的矫正。

为DeepSeek添加本地知识库的更多相关文章

  1. maven添加本地jar包

    今天遇到一个mavan仓库中没有的jar包, 故只能添加本地jar包, 花了不少时间找资料,终于OK.故在此记录. 1. 第一次,在网上看到说可以用<systemPath> 解决, 如下: ...

  2. Sql server之路 (三)添加本地数据库SDF文件

    12月25日 今天搞了半天 添加本地数据库Sdf文件到项目里.总是出现问题. 安装环境 Vs2008 没有安装的环境 1.Vs2008 sp1 2. 适用于 Windows 桌面的 Microsoft ...

  3. AD组策略添加本地账号、设置允许ping回显

    AD组策略添加本地账号 1. 管理工具--组策略管理--选择相应GPO(编辑)----首选项--控制面板设置--本地用户和组--右键添加账号 2.域成员计算机刷新组策略(gpupdate/force) ...

  4. [原]逆向iOS SDK -- “添加本地通知”的流程分析

    观点: 代码面前没有秘密 添加通知的 Demo 代码 - (void)scheduleOneLocalNotification { [[UIApplication sharedApplication] ...

  5. maven添加本地依赖包方法

    1.某些情况下不方便上传本地依赖包到Maven repository,可以通过下面方法添加本地依赖包. 2.方法 1).pom.xml中添加以下代码块 <dependency> <g ...

  6. 在Android Studio添加本地aar包引用

    1.如何在Android Studio添加本地aar包引用 https://jingyan.baidu.com/article/2a13832890d08f074a134ff0.html 2.完成上述 ...

  7. Ubuntu Linux系统三种方法添加本地软件库

    闲着没事教教大家以Ubuntu Linux系统三种方法添加本地软件库,ubuntu Linux使用本地软件包作为安装源——转2007-04-26 19:47新手重新系统的概率很高,每次重装系统后都要经 ...

  8. maven添加本地jar到本地库中

    maven添加本地jar到本地库中(用于远端地址下载不了的情况) 在dos命令行执行以下命令将会吧ojdbc14-10.2.0.4.0.jar添加到本地库中(ps:必须已经安装了,maven,并配置了 ...

  9. intelliJ IDEA 怎么添加本地的idea web项目

    概述:这篇文章主要讲述idea开发工具怎么添加本地的idea web项目. 一:首先介绍一下idea web项目的目录结构: 上图详细简单的说了一下idea web项目的文件情况. 二:说明一下部署本 ...

  10. Maven中如何将源码之外的文件打包及添加本地jar

    <build> <resources> <resource> <directory>src/main/resources</directory&g ...

随机推荐

  1. 【架构】整理了一份通用的MVP框架示例代码

    最近回顾了一下MVP框架,结合阅读到的几篇不错的博客,自己整理了一份可用于实际工作的MVP框架示例代码,这里做个记录,也顺便和网友们分享一下. 代码示例演示的是一个输入员工号查询员工信息并显示的场景, ...

  2. 要构建此项目,必须安装以下工作负载: wasm-tools

    要构建此项目,必须安装以下工作负载: wasm-tools 要安装这些工作负载,请运行以下命令: dotnet workload restore AdminAPP C:\Program Files\d ...

  3. 【Web前端】【JavaScript】实现表格隔行变色

    方法1:原生JavaScript 设置CSS table td{ border:red solid 1px; } .tr1{ color:white; background: black; } .tr ...

  4. 离线部署yum依赖

    利用本地源解决在无网环境部署应用需要解决的问题: 应用需要哪些软件包? 如何把应用依赖的软件包制作成一个精简的本地源? 如何使用本地源? 第一个问题使用yum-utils解决,它带的repotrack ...

  5. 【转载】Apache Doris、DorisDB傻傻分不清。。。

    https://www.sohu.com/a/488816742_827544   相信这两天很多社区小伙伴都看到 StarRocks 所谓"开源"的动态了,开源用户群里有很多小伙 ...

  6. SpringBoot:通过多个Context限制Bean的活动范围

    从Spring的包扫描说起 SpringBoot会扫描SpringBootApplication注解标注的类,他所在的包以及这个包的子包,把那里面的Bean注册到applicationContext中 ...

  7. python_Django---基础

    1.创建app 终端:python3.x manage.py startapp  app(名字) 2.路由创建 urls.py: 导入函数:from app(app名) import views 创建 ...

  8. Qt编写安防视频监控系统48-视频参数

    一.前言 视频参数之前在基本参数中,后面越来越多,直接独立了出来,甚至还拆分出来了视频参数1.视频参数2,参数越来越多分组也越来越多的时候,你会发现分组名称都不够用或者不方便命名,不能直观的表示该分组 ...

  9. 如何使用图片的exif信息计算相机焦距

    135胶卷源于35mm高度的打孔电影胶片,1913年,德国人奥斯卡·巴纳克将其用于他发明的徕卡(Leica)牌小型照相机上,由此形成标准.35mm电影胶卷,35mm指的是胶卷的高度为35mm,由于上下 ...

  10. 基于开源IM即时通讯框架MobileIMSDK:RainbowChat v11.5版已发布

    关于MobileIMSDK MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架,超轻量级.高度提炼,一套API优雅支持UDP .TCP .WebSocket 三种协议,支持iOS.A ...