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

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐