踩坑 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%即处理完成
配置应用
以聊天助手为例
上下文添加要引用的知识库
即可开始对话