方案一:Dify平台搭建

请提前安装好Docker Compose软件,如未安装请按照下面描述进行离线安装。

Docker Compose软件安装

  1. 下载Docker Compose软件包。

    wget https://github.com/docker/compose/releases/download/v2.33.1/docker-compose-linux-aarch64

  2. 安装Docker Compose。

    mv docker-compose-linux-aarch64 /usr/bin/docker-compose
    chmod +x /usr/bin/docker-compose

Dify + openGauss集中部署

  1. 下载Dify 1.1.3软件包。

    访问链接https://github.com/langgenius/dify/tree/1.1.3,然后如下图所示,直接“Download ZIP”下载压缩包并上传到服务器。

  2. 创建目录并解压。

    mkdir /usr/local/dify
    unzip dify-1.1.3.zip -d /usr/local/dify/
    cd /usr/local/dify/dify-1.1.3

  3. 解压软件包并进到Dify源码目录,执行下面的命令进行安装部署。

    cd docker
    cp .env.example .env
    1. 修改.env文件。
      vim .env

      修改.env第387行为:VECTORE_STORE=opengauss

    2. 以后台模式运行服务。
      命令会在线下载Docker镜像并启动对应的服务,需等待30分钟左右,实际时间根据网络情况而定。
      docker-compose up -d

      上述命令运行完成后请确认每个服务的运行状态。

  4. 如果遇到Nginx运行异常如下图所示,说明下载的Nginx镜像与当前架构不符,需手动下载对应架构的镜像,下载完成之后需将镜像名称重名为nginx,命令如下:

    docker pull arm64v8/nginx 
    docker tag arm64v8/nginx:latest nginx:latest
    docker-compose up -d

  5. 可以通过执行命令docker ps -a查看每个服务的运行状态,需确保服务都能正常运行,如下图所示。

  6. (可选)检索加速包使用。

    1. 修改.env文件。

      修改.env第566行为:OPENGAUSS_ENABLE_PQ=true

    2. 以后台模式重新运行服务。
      命令会在线下载Docker镜像并启动对应的服务,需等待30分钟左右,实际时间根据网络情况而定。
      docker-compose down
      docker-compose up -d
    3. 参考3.4章节步骤2, 下载并且解压检索加速包。
    4. 参考3.4章节步骤4,拷贝检索加速包至openGauss容器内安装,其中CONTAINER_ID为步骤4中显示的docker-opengauss-1的容器ID。
    5. 参考3.4章节步骤5、6 进行openGauss容器内配置,并重启openGauss容器。

Dify + openGauss分离部署

  1. 下载Dify 1.1.3软件包。

    访问链接https://github.com/langgenius/dify/tree/1.1.3,然后如下图所示,直接“Download ZIP”下载压缩包并上传到服务器。

  2. 创建目录并解压。

    mkdir /usr/local/dify
    unzip dify-1.1.3.zip -d /usr/local/dify/
    cd /usr/local/dify/dify-1.1.3

  3. 解压软件包并进到Dify源码目录,执行下面的命令进行安装部署。openGauss需单独部署,部署参考3.4章节。

    cd docker
    cp .env.example .env
    1. 修改.env文件。
      vim .env

      修改.env第387行为:VECTORE_STORE=opengauss

      修改.env中COMPOSE_PROFILES=none,禁止自动拉起openGauss服务。

      修改.env中opengauss配置,填写为单独部署的openGauss连接信息。

      OPENGAUSS_HOST为openGauss服务所在服务器IP地址。

      OPENGAUSS_PORT为openGauss服务侦听端口,如按照3.4章节部署默认为8888。

      OPENGAUSS_USER为openGauss服务普通用户,如按照3.4章节部署默认为gaussdb。

      OPENGAUSS_PASSWORD为openGauss服务普通用户密码,如按照3.4章节部署默认为$GS_PASSWORD。

      OPENGAUSS_DATABASE为openGauss服务数据库名称,如按照3.4章节部署默认为postgres。

    2. 以后台模式运行服务。
      命令会在线下载Docker镜像并启动对应的服务,需等待30分钟左右,实际时间根据网络情况而定。
      docker-compose up -d

      上述命令运行完成后请确认每个服务的运行状态。

  4. 如果遇到Nginx运行异常如下图所示,说明下载的Nginx镜像与当前架构不符,需手动下载对应架构的镜像,下载完成之后需将镜像名称重名为nginx,命令如下:

    docker pull arm64v8/nginx 
    docker tag arm64v8/nginx:latest nginx:latest
    docker-compose up -d

  5. 可以通过执行命令docker ps -a查看每个服务的运行状态,需确保服务都能正常运行,如下图所示。

  6. (可选)检索加速包使用

    1. 修改.env文件。

      修改.env第566行为:OPENGAUSS_ENABLE_PQ=true

    2. 以后台模式重新运行服务。
      命令会在线下载Docker镜像并启动对应的服务,需等待30分钟左右,实际时间根据网络情况而定。
      docker-compose down
      docker-compose up -d
    3. 参考3.4章节步骤2, 下载并且解压检索加速包。
    4. 参考3.4章节步骤4,拷贝检索加速包至openGauss容器内安装。
    5. 参考3.4章节步骤5、6 进行openGauss容器内配置,并重启openGauss容器。

      步骤3~步骤5若部署openGauss时已经加载过检索加速包,可跳过执行。

AI服务集成

  1. 访问本地部署的Dify web服务页面。

    http://your_server_ip

  2. 创建一个管理员账户。输入邮箱和密码即可创建。

  3. 接入LLM服务。

    1. 在主界面点击右上角用户名,然后点击“设置”进入设置页面,单击“模型供应商”,选择“OpenAI-API-compatible”卡片,单击“安装”按钮。
    2. 安装完成后,在添加模型页面,“模型类型”选择“LLM”
    3. 输入“模型名称”。(推理服务部署(DeepSeek-R1-Distill-Qwen-7B)中配置的LLM模型名称)
    4. “API Key”可以任意输入。
    5. “API endpoint URL”根据提示,替换成LLM服务的IP地址和端口。
    6. 可以调整模型上下文长度和最大token上限。

  4. 接入Embedding/Rerank服务。

    1. 在设置页面,单击“模型供应商”,选择“Text Embedding Inference”卡片,单击“添加模型”按钮。

    2. 在添加模型页面,“模型类型”选择“Text Embedding”或者“Rerank”
    3. 输入“模型名称”“embed”或者“rerank”
    4. “服务器URL”根据提示,替换成Embedding/Rerank服务的IP地址和端口。
    5. “API Key”可以任意输入。

  5. 重复步骤3,模型类型分别选择Text Embedding或Rerank,然后单击“保存”