MAC 上搭建本地知识库,喂饭教程
使用开源的模型和插件,通过本地化部署,建立自己的知识库。除了电费网费,其它都必须免费;本机集显,无 NVIDIA 显卡。涉及到需要安装的软件:Ollama、DeepseekR1:7b、Dify、Bge-m3、Docker
AI 学习笔记:以免费白嫖的视角,在MacBook M1上以私有化部署的方式,搭建属于自己的本地知识库,纯手搓喂饭级教程
整体思路:
任务目标:使用开源的模型和插件,通过本地化部署,建立自己的知识库。除了电费网费,其它都必须免费;本机集显,无 NVIDIA 显卡。
涉及到需要安装的软件:Ollama、DeepseekR1:7b、Dify、Bge-m3、Docker
特别提示:如果有科学上网手段,可以用上,否则在海外网站拉取各种模型的过程会极度无奈,网络不稳定会让人疯掉。准确来说,如果网络 OK,小白走完这个实验的过程可能只需20 分钟,但网络有问题,会折磨你三天还搞不定,别问我为什么知道的…
开始喂饭:
1、安装ollama,大名鼎鼎的羊驼,先上到 ,选择下载,选择适合自己的彼本,本例中是用的 MACOS,下载直接安装。
2、安装 docker.desktop 打开官网 www.docker.com 选择符合自己电脑的版本,我的是 M1 版本,所以选择 apple silicon
检查一下安装的两个软件是否都 ok 了,
装完启动,不登陆,到这个界面就可以了
3、安装 deepseek R1. 登上 www.ollama.com搜索 deepseek
我的电脑是用16g 内存,用 deepseek 的7b 比较合适,做测试实验足够了,复制右侧的指令,并到本机的终端上运行:
ollama run deepseek-r1:7b
下载完成后,聊一下:
OK,deepseek 安装完成。
4、安装 bge-m3 到 ollama官网,搜索 bge-m3,执行“ollama pull bge-m3”
至此,bge-m3 安装完成。
5、下载安装 dify 登 github.com,搜索 dify,下载这个 ZIP
下载完后的 zip解压,放到本机合适的目录中
进到 dify-main/docker 目录下,找到.env.example 这个文件,是个隐藏文件,默认看不到,MAC 下同时点击“command+shift+.”,就会显示出来,用文本软件打开它
在文件末尾,加上两行:
#启用本地的自定义模型
CUSTON_MODEL_ENABLED=true
#指定 Ollama 的api地址(根据自己的来调)
OLLAMA_API_BASE_URL=host.docker.internal:11434
改完保存,并且把这个文件进行改名,名字改为.env就行
改完名字后,回到我们的终端窗口,进到dify的docker目录下,执行如下命令:
Docker compose up -d
不出意外的话,你会碰到如下错误
这个时候有两种办法,一种是再次执行上次错误,可能还会报错,再试,直到全部下载完成,大概有5个g左右。 还有一个是科学上网,如下图,再次执行,则正常开始下载,可能要等个10来分钟,建议上厕所抽烟喝水去。
正确下载完成后,如下显示:
至此,dify安装阶段就完成了,这个时候我们可以到docker.desktop界面上看到,有个docker在运行中了。
下面开始做dify的配置, 登陆127.0..0.1/apps,初次登陆会跳转到这个设置管理员界面,自行设定好
坑点:如果忘了dify的管理员邮箱的登陆密码,有点麻烦,多次输入错误还会让你等等再输,但等了一天再试还是会让等,试过两个办法,1如果你用的是真邮箱,可以找回密码。2.把docker给删了重装,我用的就是这招。其它的改数据库密码等方式试了,没搞成功。
输入正确的用户名和密码后,进到这个页面,点创建应用,
随便取个名字,如chat,点创建
进来肯定是啥也没有,先做llm的配置
前面我们安装了ollama,所以从这里下拉,选到ollama,鼠标移上去,显示安装
点了下图的安装后,会显示安装中,稍等会;
安装完成后,最好刷新一下当前页面,会显示如下街配置的模型,如果没有,说明没有安装成功,再点上一步的安装再试一下
分别复制之前的 env 文件中的最后一行,和 ollama中已经pull 的模型名称,按如下方法进行配置,其它默认,点保存 再添加一个前面 pull 好的 embedding模型 bge-m3,还是原来的这个配置办法,只是这次别再选llm,要选 text embedding,基础 url 那别忘了加http://
两个模型配置好了后,再点这个系统模型配置,按如下选择做配置
这个时候回到我们创建的 chat 应用上,把这个模型和应用关联起来
这个时候,我们就可以和 deepseek聊天了,
但我如果问他一个特别的问题,看他怎么回答,果然,他的回答很无奈
下面我们进行下一步,就是建立自己的知识库,选择新建一个知识库,选择导入已有文本,再选择一个文件,我们这里随便下载了一个合同,注意,合同中随意填了一个甲方
点击下一步,分段设置中不用改,关注红框区哉,索引方式这块,如果前面没有部署和配置 bge-m3 模型,那这块就是虚的,不能选择,当安装好了后,默认就是如图,选中高质量,模型下拉选择我们安装好的 bge-m3
其它都不动,点击下方的保存并处理,等它嵌入完成
完成后,点击“前往文档”,到文档界面,确认文档处于可用状态,如果有多个文档,这个时候可以添加更多,点上面的“添加文件”,重复前面的步骤即可。
再回到我们 chat应用,把它和知识库关联起来,
看看这两个位置是否已配置好
这个时候模型已经和本地的知识库文件关联起来了,也就是说它已经学会了那份合同中的信息了,这个时候我们再回到我们创建的 chat 应用,再用那个特别的问题问它:
好了,现在它已经很“聪明”的知道合同中的甲方是谁了。
至此,本次学习完成。
END
更多推荐
所有评论(0)