Ollama部署模型+dify构建知识库


大模型知识库安装教程

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.88.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端口规则

  1. 登录到阿里云控制台

  2. 找到你的 ECS 实例

    • 在控制台首页,找到 “ECS”(彈性計算服務),然后选择 “实例”
  3. 查看实例的安全组

    • 点击你的实例,找到 ”安全组“ 部分,点击进入你实例所对应的安全组。
  4. 添加入站规则

    • 在安全组页面,找到 “入境规则”
    • 点击 ”添加安全组规则“ 按钮。
    • 在规则设置中填写:
      • 协议类型:选择 HTTP(或者选择 TCP)。
      • 端口范围:填入 80(允许 HTTP 流量)。
      • 授权对象:填入 0.0.0.0/0(表示允许所有 IP 访问)。
    • 点击 “确认”“添加”,保存规则。
  5. 检查出站规则(可选):

    • 通常出站规则可能设置为 0.0.0.0/0 即可,但若想确认,可以查看并确保。
  6. 验证规则生效

    • 规则添加后,通常会立即生效。你可以通过以下方法来确认:
      • 使用 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.yamldocker-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。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容