零代码搭建本地大模型个人知识库系统

踩坑 3 天;搭建了一套个人专属知识库;用的是 dify + ollama;写一篇文章记录下搭建步骤以及踩的坑如何填的;教程需懂些许Linux的操作;不完全是零小白教程

所用软件

VMware 虚拟机、centos8、dify、ollama;

软件介绍

VMware 虚拟机:用于在操作系统上同时运行其他系统的一款软件
centos8:linux 系统;用于安装 docker;不推荐在 windows 系统上安装 docker;
dify:Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。
ollama:Ollama 是一个开源框架,专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计。非专业用户也能方便地管理和运行这些复杂的模型。

软件安装

虚拟机系统安装

安装好VMware和centos8;
centos8镜像下载:https://mirrors.aliyun.com/centos/8/isos/x86_64/?spm=a2c6h.25603864.0.0.75d11ce4lQBfTP
不会安装的可以看视频教程:【虚拟机安装centos7系统 - IT菜鸟丶阿森 | 小红书 - 你的生活指南】 😆

docker安装

进入centos系统;先将yum换源;

cd /etc/yum.repos.d
# 找到 CentOS-AppStream.repo、CentOS-Base.repo、CentOS-Extras.repo文件
# 注释掉原来的地址mirrorlist=http://mirrorlist.centos.org/?
# 在下面添加一行对应的阿里云地址
#AppStream.repo
baseurl=https://mirrors.aliyun.com/centos/$releasever-stream/AppStream/$basearch/os/
#Base.repo
baseurl=https://mirrors.aliyun.com/centos/$releasever-stream/BaseOS/$basearch/os/
#Extras.repo
baseurl=https://mirrors.aliyun.com/centos/$releasever-stream/extras/$basearch/os/

修改之后执行 yum clean all && yum makecache
再执行下方的命令安装docker

yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加docker源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#更新索引
yum makecache fast
# 安装 docker-ce
yum install -y docker-ce
# 启动动 docker,并设置开机自启
systemctl start docker
systemctl enable docker

docker镜像源配置 目前未失效,阿里云的镜像我试过无用(坑1

vi /etc/docker/daemon.json
{
  "registry-mirrors" : [
    "https://register.liberx.info",
    "https://dockerpull.com",
    "https://docker.anyhub.us.kg",
    "https://dockerhub.jobcher.com",
    "https://dockerhub.icu",
    "https://docker.awsl9527.cn"
  ],
  "ipv6" : false
}
# 保存好后执行
systemctl daemon-reload
systemctl restart docker

ollama安装

在自己的windows系统上安装ollama;下载地址:https://ollama.com/;下载windows版本的安装即可;

注:安装好了ollama需要在环境变量里面配置模型下载路径;否则下载的模型是在C盘;OLLAMA_MODELS为模型下载路径;OLLAMA_HOST代表访问ollama大模型api的IP;配置为0.0.0.0会监听所有可用的网络接口;如果设置成127.0.0.1则只能本地访问(坑2)

环境变量

安装好了;可以用ip+端口号在浏览器中查看下;

打开终端;使用ollama命令操作ollama;

命令 作用
ollama pull model_name 拉取大模型 如qwen2.5
ollama list 列出下载好的大模型
ollama run model_name 运行大模型

图例

模型列表地址:https://ollama.com/library

dify安装

安装

dify官网:http://difyai.com/
我们使用docker compose方式来快速安装dify
克隆dify代码到本地git clone https://github.com/langgenius/dify.git
推荐先从windows下载;然后用xftp工具将项目文件夹拷贝到centos中;

进入 Dify 源代码的 Docker 目录cd dify/docker
复制环境配置文件 cp .env.example .env
启动容器 docker compose up -d

注:这里要保证docker compose的版本要大于2.24版本;不然有坑,启动不了dify。使用docker compose version 命令检查版本(坑3)

执行完启动命令后,应该会看到类似以下的输出,显示所有容器的状态和端口映射:

检查容器是否运行docker compose ps

更新

cd dify/docker
docker compose down
# 这里还是需要从windows更新好;把文件夹复制到虚拟机
git pull origin main
docker compose pull
docker compose up -d
  • 如果 .env.example 文件有更新,请务必同步修改您本地的 .env 文件。
  • 检查 .env 文件中的所有配置项,确保它们与您的实际运行环境相匹配。您可能需要将 .env.example 中的新变量添加到 .env 文件中,并更新已更改的任何值。

访问

访问虚拟机的ip地址;小编是192.168.171.168;
访问http://192.168.171.168/install初始化管理员账户密码

设置好管理员账户密码就可以登录进去了

配置知识库应用

配置之前要先安装两个大模型,一个是LLM模型;一个是textEmbed
,小编安装的是QWEN2.5和shaw/dmeta-embedding-zh-small;
一个是用来对话的;一个用来自动智能分割文件形成知识库;用 ollama pull 命令

配置模型供应商

右上角用户点击设置

添加ollama模型供应商

  • 模型类型是LLM;
  • 模型名称填自己下载的模型名称如:QWEN2.5;
  • URL填windows系统在虚拟机网络下的ip;如:http://192.168.171.1:11434,ollama的默认端口是11434

再次添加Text Embedding模型,跟LLM添加是一样的;模型名称为shaw/dmeta-embedding-zh-small;

注:这里windows防火墙要配置端口入站规则;或者关闭防火墙;在防火墙高级配置里添加一个入站规则;名称为ollama,类型为端口;端口为11434;然后一直默认下一步即可;否则dify会提示连接大模型超时;添加不了。(坑4)

配置知识库

创建知识库

选择一个pdf文档;点击下一步
;分段设置选择自动分段,索引方式选择高质量;模型就选择添加好的Embedding模型,检索设置为混合检索即可,点保存并处理

到100%即处理完成

配置应用

以聊天助手为例

上下文添加要引用的知识库

即可开始对话

THE END