当前位置:首页>Linux>凡人 AI 道・练气启途:Linux 部署 Dify 搭建智能知识库客服

凡人 AI 道・练气启途:Linux 部署 Dify 搭建智能知识库客服

  • 2026-09-30 15:02:37
凡人 AI 道・练气启途:Linux 部署 Dify 搭建智能知识库客服

CentOS  | Dify  | docker | docker compose


知域有界,困于基础。凭什么大神便能驭术随心,驰骋 AI 天地,而我等入门仍囿于方寸之间。我辈,这 AI 道途多少高阶风景,便自今日起,躬身入局去亲眼见见吧。


一、系统环境准备

1.1 系统初始化

# 装基础工具yum install -y yum-utils wget curl git vim net-tools epel-release# 关闭防火墙(生产环境建议配置规则而非关闭)systemctl stop firewalldsystemctl disable firewalld# 关闭 SELinux(临时+永久)setenforce 0sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config# 重启生效(可选但推荐)init 6

二、安装 Docker 与 Docker Compose

2.1 安装 Docker

# 卸载旧版本(如有)yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine# 添加国内yum源yum clean allyum --enablerepo=docker-ce-stable clean metadatayum install -y yum-utils device-mapper-persistent-data lvm2yum-config-manager --add-repo   https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.reposed -i 's|https://download.docker.com|https://mirrors.tuna.tsinghua.edu.cn/docker-ce|g' /etc/yum.repos.d/docker-ce.repoyum makecache fast# 安装Dockeryum install -y docker-ce# 创建Docker配置目录mkdir -p /etc/docker# 配置Docker镜像加速(地址配的多点,镜像拉取的更快)cat > /etc/docker/daemon.json << EOF{"registry-mirrors": ["https://docker.m.daocloud.io","https://docker.imgdb.de","https://docker-0.unsee.tech","https://docker.hlmirror.com","https://docker.1ms.run","https://func.ink","https://lispy.org","https://docker.xiaogenban1993.com","https://docker.1panel.live","https://docker.nju.edu.cn","https://registry.cn-hangzhou.aliyuncs.com","https://mirror.ccs.tencentyun.com","https://05f073ad3c0010ea0f4bc00b7105ec20.mirror.swr.myhuaweicloud.com","https://docker.mirrors.ustc.edu.cn","https://dockerproxy.com","https://hub-mirror.c.163.com","https://mirror.baidubce.com"  ]}EOF# 启动Docker并设置开机自启systemctl start dockersystemctl enable docker# 验证安装docker --version

2.2 安装 Docker Compose

# 根据Dify的官方文档,Dify是基于Docker Compose进行安装,因而需要安装Docker Composeyum install docker-compose-plugin# 验证docker-compose --version  #v1版本docker compose --version  #v2版本

三、部署 Dify 应用

3.1 克隆dify源代码

#直接使用官方git命令克隆:git clone https://github.com/langgenius/dify.git# 但由于国内拉取github仓库的速度过慢,这边在gitee上同步了仓库,然后进行拉取,大家也可以自行建一个gitee同步仓库进行拉取。git clone https://gitee.com/aszhangwendi/dify.git

3.2 启动dify

# 进入 Dify 源代码的 Docker 目录cd dify/docker# 复制环境配置文件cp .env.example .env#环境变量中可自定义这些dify组件参数,不想改的话用默认的也可以(但生产环境肯定得改)# =============== 访问URL ===============CONSOLE_URL=http://your-domain.com# =============== 数据库 ===============POSTGRES_PASSWORD=  # 修改为强密码POSTGRES_USER=difyPOSTGRES_DB=dify# =============== Redis ===============REDIS_PASSWORD=  # 修改为强密码# =============== 安全密钥 ===============SECRET_KEY=$(openssl rand -base64 42)       # 生成唯一密钥# =============== 服务端口(按需修改) ===============WEB_PORT=API_PORT=WORKER_PORT=# =============== 存储路径(保持默认) ===============VOLUME_DIRECTORY=#拉取dify相关镜像组件,启动difydocker-compose up -d #v1版本启动方式docker compose up -d #v2版本启动方式

3.3 验证服务运行状态

# 所有镜像拉取完成并启动后查看组件运行是否正常docker compose ps #在这个输出中,你应该可以看到包括 3 个业务服务 api / worker / web,以及 6 个基础组件 weaviate / db / redis / nginx / ssrf_proxy / sandbox

四、访问与初始化

4.1 初始化系统

  1. 浏览器访问:http://<服务器IP>/install
  2. 首次访问自动跳转初始化页面
  1. 设置完成后登录控制台

自此就完成dify的安装部署。

接下来我们通过Dify平台对接大语言模型,创建知识库并搭建对话工作流,实现基于知识库内容的智能客服功能。

注:本人电脑配置太垃圾,就不本地化部署了,只直接各大平台的大模型,像deepseek、千问或硅基流动等。大家可以在对应的平台上注册账号,都有免费的token数。 我用的是阿里的通义千问

五、前置准备

  1. 注册大模型平台账号,本文以阿里通义千问为例,需在平台生成并保存API Key。
  2. 准备知识库素材,支持TXT、MARKDOWN、PDF、DOCX等多种格式,单文件不超过15MB,每批最多上传5个文件。

六、配置大语言模型

  1. 登录Dify平台,点击界面右上角头像,进入设置页面。
  1. 在设置页面选择模型供应商,搜索并安装通义供应商。
  1. 安装完成后点击添加模型,填写以下信息:
    • 输入模型名称,自定义即可。
    • 选择模型类型,根据需求选择对应类型。
    • 在API Key输入框中,填入之前在通义千问平台获取的API Key。
    • 设置模型上下文长度,完成后保存配置。

七、创建知识库

  1. 回到Dify主界面,点击顶部导航栏的知识库,进入知识库创建页面。
  2. 选择数据源,可选择的方式包括导入已有文本、同步Notion内容、同步Web站点、上传文本文件,本文以上传文本文件为例,拖拽或选择准备好的知识库文件。
  1. 设置索引方式与检索参数
    • 索引方式:可选经济、高质量,推荐选择高质量,该模式调用嵌入模型处理文档,检索精度更高。
    • 嵌入模型:选择multimodal-embedding-v1。
    • 检索设置:推荐选择混合检索,同时执行全文检索和向量检索,再通过重排序模型优化结果。
    • 配置权重、Rerank模型(如gte-rerank)、TopK(示例设为3)、Score阈值(示例设为0.5)。
  1. 完成配置后,确认创建知识库。

八、搭建对话工作流(Chatflow)

创建空白Chatflow应用

  1. 点击顶部导航栏的工作室,进入应用创建页面。
  1. 点击创建空白应用,选择应用类型为Chatflow,该类型适用于支持记忆的复杂多轮对话场景。
  2. 填写应用名称(如"知识库智能客服")和可选描述,完成应用创建。

添加并配置工作流节点

默认工作流缺少关键节点,需要手动添加关键词提取、知识检索、问题回答节点,完整工作流为:开始→关键词提取→知识检索→问题回答→直接回复。

(1)关键词提取节点配置

  1. 在工作流编排页面,点击添加节点,选择LLM节点,命名为关键词提取。
  1. 配置节点参数
    • 选择模型为qwen3-max CHAT。
    • 编写SYSTEM提示词: ##任务 将用户提出的问题内容进行关键词提取,用于检索知识库内容。 ##输出 输出多个关键字或关键句,关键字或关键句用空格分隔,无需其他多余文本。
    • USER输入选择@开始/(x)sys.query,获取用户输入的问题。
    • 设置记忆窗口,示例设为50。

(2)知识检索节点配置

  1. 点击添加节点,选择对应检索节点,命名为知识检索。
  1. 配置节点参数
    • 查询变量选择关键词提取节点的输出结果。
    • 点击添加知识库,选择之前创建的知识库。
    • 元数据过滤设为禁用,完成后保存配置。

(3)问题回答节点配置

  1. 点击添加节点,选择LLM节点,命名为问题回答。
  1. 配置节点参数
    • 选择模型为qwen3-max CHAT。

    • 启用上下文功能,上下文变量选择知识检索节点的输出结果知识检索/(x)result。

    • 编写SYSTEM提示词: ##角色 你是一个专业的智能客服,擅长根据知识库的内容回答用户的问题。

      ##背景严格根据知识库中的内容回答用户的问题,如果知识库中没有相关内容,回答"不知道",这对客户理解文档十分重要。##任务严格根据下面的知识库内容回答用户的问题##知识库
    • USER输入选择@开始/(x)sys.query,完成配置。

(4)连接节点

将所有节点按开始→关键词提取→知识检索→问题回答→直接回复的顺序连接,形成完整工作流。

九、测试与发布

预览测试

  1. 点击工作流页面的预览按钮,进入测试界面。
  1. 在输入框中输入问题(如"什么是容器编排"),查看智能客服的回答。
  1. 核对回答内容是否与知识库一致,同时可查看工作流的调用过程,确认节点运行正常。
> 执行过程中可以看到整个工作流的调用过程,看到回答和知识库中的一样。

发布应用

  1. 测试无误后,点击页面的发布按钮,完成应用发布。
  1. 发布后可选择嵌入网站或访问API的方式,调用该知识库智能客服。

最新文章

随机文章