大模型知识库安装教程
1 Dify部署搭建
Dify部署虽然听起来复杂,但实际上通过Docker部署是一个相当便捷的方法。
官网有非常详细的教程。https://docs.dify.ai/zh-hans/getting-started/install-self-hosted/docker-compose
1.1 前提条件
安装 Dify 之前, 请确保你的机器已满足最低安装要求:
CPU >= 2 Core
RAM >= 4 GiB
图形化检测自己设备的DeepSeek 模型兼容性检测:https://tools.thinkinai.xyz/
1.1.1 docker 安装
第一次安装,直接按照下面步骤安装即可。
- 推荐安装最新版
# 1 安装docker之前的必备包
sudo yum update -y
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 2 配置docker源
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum makecache fast
# 3 安装最新的docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 4 验证安装是否成功
# docker --version
Docker version 26.1.4, build 5650f9b
# 5 启动 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker
# 6 验证 Docker 是否安装成功
sudo systemctl status docker
# 7 运行 Docker 的 Hello World 镜像来进行测试,确保 Docker 安装成功并能够下载镜像
# 这里有时候因为网络的问题,无法加载,后面会配置
sudo docker run hello-world
- 已安装老版本的docker:
如果已经安装docker,需要查看其版本,之后安装对应的docker
$ docker --version
Docker version 26.0.0, build 2ae903e
# 查看对应的docker-compose是否安装,老版本对应的是什么,看下面教程
$ docker-compose --version
bash: docker-compose: command not found...
sudo yum install -y docker-ce-26.0.0 docker-ce-cli-26.0.0 containerd.io
1.1.2 Docker Compose 安装
- 老版本:
老版本docker对应Docker Compose,安装v2.26.0,与 Docker 26.0.0 兼容。
- 自动安装
curl -L "https://github.com/docker/compose/releases/download/v2.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/bin/docker-compose
- 手动下载
同时检测系统架构和类型,运行以下命令:
uname -m && uname -s
输出示例:
x86_64
Linux
# 这里也可以手动下载下来安装。
sudo curl -L "https://github.com/docker/compose/releases/download/v2.26.0/docker-compose-Linux-x86_64" -o /usr/local/bin/docker-compose
- 最新版安装
# 1. 单独下载,上传服务器,之后安装
https://github.com/docker/compose/releases/tag/v2.33.1 # 选择的最新版
[root@iZbp10y1sgvj78vl58x69nZ yjz]# ls
dify docker-compose-linux-x86_64
[root@iZbp10y1sgvj78vl58x69nZ yjz]# sudo mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
# 2. 复制到 /usr/local/bin/
sudo mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
# 3. 赋予执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 4. 验证安装
docker-compose version
# 如果一切正常,你会看到类似:
Docker Compose version v2.33.1
1.1.3 网络配置
防火墙关闭
#防火墙关闭和禁用开机启动
systemctl disable firewalld
systemctl stop firewalld
# 查看防火墙状态
systemctl status firewalld
Docker 镜像
vim /etc/docker/daemon.json
将以下内容写入
{
"registry-mirrors": [
"http://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com",
"http://registry.docker-cn.com",
"https://3laho3y3.mirror.aliyuncs.com",
"https://docker.888666222.xyz",
"https://docker.fxxk.dedyn.io",
"https://docker.1ms.run",
"https://doublezonline.cloud",
"https://dislabaiot.xyz",
"https://dockerpull.org",
"https://docker.unsee.tech",
"https://hub.rat.dev",
"https://docker.1panel.live",
"https://docker.nastool.de",
"https://docker.zhai.cm",
"https://docker.5z5f.com",
"https://a.ussh.net",
"https://docker.udayun.com",
"https://hub.geekery.cn"
],
"insecure-registries": [
"docker.mirrors.ustc.edu.cn",
"registry.docker-cn.com"
]
}
然后 重启 Docker:
sudo systemctl daemon-reload
sudo systemctl restart docker
DNS 配置
确保你的 DNS 配置没有问题。可以尝试使用 Google 的公共 DNS (8.8.8.8
和 8.8.4.4
) 来解决 DNS 解析的问题。
设置 DNS 服务器为 Google DNS:
sudo sed -i 's/^nameserver .*/nameserver 8.8.8.8/' /etc/resolv.conf
sudo echo "nameserver 8.8.4.4" >> /etc/resolv.conf
查看
[root@iZbp10y1sgvj78vl58x69nZ yjz]# cat /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
1.2 克隆Dify代码仓库
Dify部署的方式相对来说比较简单,这里教大家使用Docker进行部署,Docker的安装方法这里不再赘述,大家可以自行搜索。
- 首先,克隆 Dify 源代码至本地环境:
git clone https://github.com/langgenius/dify.git
1.3 启动Dify
cd dify/docker
cp middleware.env.example middleware.env
docker compose up -d
这个时候是能正常加载镜像,并开启。
1.4 配置dify
http://your_server_ip/install # 安装地址 your_server_ip是你dify安装所在服务器的地址
http://your_server_ip 登录地址
1.4.1 网页打不开
centos 上安装dify http://your_server_ip/install这一步在浏览器上无法打开
是的,如果你打算通过 HTTP 提供服务,确保阿里云的安全组规则中允许 80 端口 是非常重要的。允许 80 端口的入站流量可以确保外部请求能够成功到达你的 Web 服务器。以下是确保不遗漏任何步骤的详细指南。
在阿里云安全组中添加80端口规则
-
登录到阿里云控制台:
- 访问 阿里云控制台,并使用你的账户登录。
-
找到你的 ECS 实例:
- 在控制台首页,找到 “ECS”(彈性計算服務),然后选择 “实例”。
-
查看实例的安全组:
- 点击你的实例,找到 ”安全组“ 部分,点击进入你实例所对应的安全组。
-
添加入站规则:
- 在安全组页面,找到 “入境规则”。
- 点击 ”添加安全组规则“ 按钮。
- 在规则设置中填写:
-
协议类型:选择
HTTP
(或者选择TCP
)。 -
端口范围:填入
80
(允许 HTTP 流量)。 -
授权对象:填入
0.0.0.0/0
(表示允许所有 IP 访问)。
-
协议类型:选择
- 点击 “确认” 或 “添加”,保存规则。
-
检查出站规则(可选):
- 通常出站规则可能设置为
0.0.0.0/0
即可,但若想确认,可以查看并确保。
- 通常出站规则可能设置为
-
验证规则生效:
- 规则添加后,通常会立即生效。你可以通过以下方法来确认:
- 使用 CURL 从外部访问你的服务:
curl -v http://your_server_ip/install
- 也可以在浏览器中输入
http://your_server_ip/install
进行访问。
- 规则添加后,通常会立即生效。你可以通过以下方法来确认:
- 成功进入
需要设置你的邮箱、用户名和密码。进入页面后,可以从这里创建应用,前提是我们先对接ollama。
1.5 配置修改生效
1.5.1 文件大小限制
文件上传大小有限制,默认是15M,改成150M
在docker-compose.yaml和docker-compose-template.yaml文件中全部修改
# 源文件
253 UPLOAD_FILE_SIZE_LIMIT: ${UPLOAD_FILE_SIZE_LIMIT:-15}
254 UPLOAD_FILE_BATCH_LIMIT: ${UPLOAD_FILE_BATCH_LIMIT:-5}
255 ETL_TYPE: ${ETL_TYPE:-dify}
368 NGINX_CLIENT_MAX_BODY_SIZE: ${NGINX_CLIENT_MAX_BODY_SIZE:-15M}
35 NGINX_CLIENT_MAX_BODY_SIZE: ${NGINX_CLIENT_MAX_BODY_SIZE:-15M}
# 修改为:
253 UPLOAD_FILE_SIZE_LIMIT: ${UPLOAD_FILE_SIZE_LIMIT:-150}
254 UPLOAD_FILE_BATCH_LIMIT: ${UPLOAD_FILE_BATCH_LIMIT:-5}
255 ETL_TYPE: ${ETL_TYPE:-dify}
368 NGINX_CLIENT_MAX_BODY_SIZE: ${NGINX_CLIENT_MAX_BODY_SIZE:-150M}
35 NGINX_CLIENT_MAX_BODY_SIZE: ${NGINX_CLIENT_MAX_BODY_SIZE:-150M}
#重启dify所有服务,使修改配置生效
docker compose down
# 修改完成配置文件
sudo systemctl restart docker
# 开启dify
docker compose up -d
1.5.2 端口修改
将80端口改成6060,443端口改成6443
在docker-compose.yaml
和docker-compose-template.yaml
文件中全部修改
为啦方便,我将对内对外全部改啦。
# 改为
362 NGINX_PORT: ${NGINX_PORT:-6060}
363 NGINX_SSL_PORT: ${NGINX_SSL_PORT:-6443}
380 EXPOSE_NGINX_PORT: ${EXPOSE_NGINX_PORT:-6060}
381 EXPOSE_NGINX_SSL_PORT: ${EXPOSE_NGINX_SSL_PORT:-6443}
572 NGINX_SSL_PORT: ${NGINX_SSL_PORT:-6443}
573 NGINX_PORT: ${NGINX_PORT:-6060}
589 ports:
590 - '${EXPOSE_NGINX_PORT:-6060}:${NGINX_PORT:-6060}'
591 - '${EXPOSE_NGINX_SSL_PORT:-6443}:${NGINX_SSL_PORT:-6443}'
在 middleware.env
中添加
# Docker Compose Service Expose Host Port Configurations
# ------------------------------
EXPOSE_POSTGRES_PORT=5432
EXPOSE_REDIS_PORT=6379
EXPOSE_SANDBOX_PORT=8194
EXPOSE_SSRF_PROXY_PORT=3128
EXPOSE_WEAVIATE_PORT=8080
EXPOSE_NGINX_PORT=6060
EXPOSE_NGINX_SSL_PORT=6443
#重启dify所有服务,使修改配置生效
docker compose down
# 修改完成配置文件
sudo systemctl restart docker
# 开启dify
docker compose up -d
2 Ollama部署Deepseek和bge-m3
这里Ollama我部署到win系统上啦。
我们部署了7B的,非常简单,直接去官网搜索模型。
# 大模型
ollama run deepseek-r1:7b
# 文本向量化
ollama pull bge-m3
3. Dify配置DeepSeek等模型
3.1 添加DeepSeek模型
dify系统右上角--点击用户名---点击“设置”---选择模型供应商“ollama”
刚开始打开的时候,ollama显示没有安装,点击安装即可,刷新页面。
配置
3.2 添加bge-m3模型
3.3 配置dify模型设置
4 Dify创建问答
点击 --> 工作室 --> 创建空白应用
提示词:
# 这里的提示词可以不填写
限制
每次都必须检索知识库,如果没有相关内容,再进行联网搜索
你的回答应严格针对分析任务。使用结构化语言,逐步思考
使用的语言应和用户提问的语言相同
搜索的关键词必须和用户提问的内容一致
5 Dify 创建知识库
6 智能体搭建
点击运行后,就可以开启新标签,在对话框中问答啦,OK。