安装 Dify

Dify 是一个用于构建 AI 应用程序的开源平台。它结合了后端即服务和 LLMOps,以简化生成式 AI 解决方案的开发,使开发人员和非技术创新者都可以使用它。

该平台集成了:

  • 支持主流 LLM
  • 直观的 Prompt 编排界面
  • 高质量的 RAG 引擎
  • 灵活的 AI 代理框架
  • 直观的低代码工作流程
  • 易于使用的界面和 API

使用 Dify,您可以跳过复杂性并专注于最重要的事情 – 创建解决实际问题的创新 AI 应用程序。

虽然许多 AI 开发工具都提供单独的组件,但 Dify 提供了全面的、可用于生产的解决方案。

使用 Dify,您可以:

  • 使用任何模型部署类似于 Assistants API 和 GPT 的功能
  • 通过灵活的安全选项完全控制您的数据
  • 利用直观的界面轻松管理和部署

在安装 Dify 之前,请确保您的机器满足以下最低系统要求:

  • CPU >= 2 Core
  • RAM >= 4GB

使用 WSL 在 Windows 上运行 Linux

您必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11 才能使用以下命令。

WSL 命令

现在,您可以使用单个命令安装运行 WSL 所需的一切。右键单击并选择“以管理员身份运行”,以管理员模式打开 PowerShell 或 Windows 命令提示符,输入 wsl –install 命令,然后重新启动您的机器。

wsl --install

此命令将启用运行 WSL 和安装 Linux 的 Ubuntu 发行版所需的功能。(此默认发行版可以更改)。

首次启动新安装的 Linux 发行版时,将打开一个控制台窗口,并要求您等待文件解压缩并存储在您的机器上。所有后续启动都应该在一秒钟内完成。

注意:

上述命令仅在 WSL 完全未安装时才有效。如果您运行 wsl –install 并看到 WSL 帮助文本,请尝试运行 wsl –list –online 以查看可用发行版列表,然后运行 wsl –install -d  以安装发行版。

更改已安装的默认 Linux 发行版

默认情况下,已安装的 Linux 发行版将是 Ubuntu。可以使用 -d 标志进行更改。

  • 要更改已安装的发行版,请输入:wsl –install -d <发行版名称>。将 <发行版名称> 替换为您要安装的发行版的名称。
  • 要查看可通过在线商店下载的 Linux 发行版列表,请输入:wsl –list –online 或 wsl -l -o。
  • 要在初始安装后安装其他 Linux 发行版,您也可以使用以下命令:wsl –install -d <发行版名称>。
设置您的 Linux 用户名和密码

使用 WSL 安装 Linux 发行版的过程完成后,使用“开始”菜单打开发行版(默认为 Ubuntu)。系统将要求您为 Linux 发行版创建用户名密码

  • 此用户名和密码特定于您安装的每个单独的 Linux 发行版,与您的 Windows 用户名无关。
  • 请注意,输入密码时,屏幕上不会显示任何内容。这称为盲输入。您看不到自己输入的内容,这是完全正常的。
  • 创建用户名和密码后,该帐户将成为发行版的默认用户,并在启动时自动登录。
  • 此帐户将被视为 Linux 管理员,可以运行 sudo(超级用户执行)管理命令。
  • 在 WSL 上运行的每个 Linux 发行版都有自己的 Linux 用户帐户和密码。每次添加发行版、重新安装或重置时,您都必须配置 Linux 用户帐户。

注意:

使用 WSL 安装的 Linux 发行版是按用户安装的,不能与其他 Windows 用户帐户共享。遇到用户名错误?StackExchange:在 Linux 上,我应该在用户名中使用或不使用哪些字符?

要更改或重置密码,请打开 Linux 发行版并输入命令:passwd 。系统将要求您输入当前密码,然后要求您输入新密码,然后确认新密码。

如果您忘记了 Linux 发行版的密码:

  1. 打开 PowerShell 并使用以下命令进入默认 WSL 发行版的根目录:wsl -u root 如果您需要在非默认发行版上更新忘记的密码,请使用以下命令:wsl -d Debian -u root,将 Debian 替换为目标发行版的名称。
  2. 在 PowerShell 中以根级别打开 WSL 发行版后,您可以使用以下命令更新密码:passwd ,其中 是您忘记密码的发行版中帐户的用户名。
  3. 系统将提示您输入新的 UNIX 密码,然后确认该密码。一旦您被告知密码已成功更新,请使用以下命令关闭 PowerShell 中的 WSL:exit。
更新和升级软件包

我们建议您使用发行版的首选包管理器定期更新和升级您的包。对于 Ubuntu 或 Debian,请使用以下命令:

sudo apt update && sudo apt upgrade

Windows 不会自动更新或升级您的 Linux 发行版。大多数 Linux 用户更喜欢自己控制这项任务。

Windows 上的Docker Desktop

  1. 使用页面顶部的下载按钮或从发行说明中下载安装程序。
  2. 双击 Docker Desktop Installer.exe 以运行安装程序。默认情况下,Docker Desktop 安装在 C:\Program Files\Docker\Docker。
  3. 出现提示时,请确保根据您选择的后端,在配置页面上选择使用 WSL 2 而不是 Hyper-V 选项。如果您的系统仅支持两个选项中的一个,您将无法选择要使用的后端。
  4. 按照安装向导上的说明授权安装程序并继续安装。
  5. 安装成功后,选择关闭以完成安装过程。
  6. 启动 Docker Desktop。

启动Docker Desktop

Docker Desktop 在安装后不会自动启动。要启动 Docker Desktop:

  1. 搜索 Docker,然后在搜索结果中选择 Docker Desktop 。
  2. Docker 菜单 ( whale menu ) 显示 Docker 订阅服务协议。以下是要点摘要:
    • Docker Desktop 对小型企业(员工人数少于 250 人且年收入少于 1000 万美元)、个人使用、教育和非商业开源项目免费。
    • 否则,专业使用需要付费订阅。
    • 政府实体也需要付费订阅。
    • Docker Pro、Team 和 Business 订阅包括 Docker Desktop 的商业用途。
  3. 选择 接受 继续。接受条款后,Docker Desktop 将启动。请注意,如果您不同意条款,Docker Desktop 将不会运行。您可以选择在以后打开 Docker Desktop 来接受条款。

配置Dify

克隆Dify

将 Dify 源代码克隆到本地机器:

git clone https://github.com/langgenius/dify.git
启动Dify
  1. 导航到 Dify 源代码中的 Docker 目录
cd dify/docker
  1. 复制环境配置文件
cp .env.example .env
  1. 启动Docker容器

根据系统上的 Docker Compose 版本选择适当的命令来启动容器。您可以使用 $ docker compose version 命令来检查版本 并参考 Docker 文档 了解更多信息:

docker compose up -d

docker-compose up -d

执行命令后,您应该看到类似以下内容的输出,显示所有容器的状态和端口映射:

[+] Running 11/11
 ✔ Network docker_default             Created                    0.0s       
 ✔ Network docker_ssrf_proxy_network  Created                    0.0s
 ✔ Container docker-weaviate-1        Started                    2.0s
 ✔ Container docker-db-1              Started                    2.1s
 ✔ Container docker-ssrf_proxy-1      Started                    2.2s
 ✔ Container docker-redis-1           Started                    2.2s
 ✔ Container docker-web-1             Started                    2.0s
 ✔ Container docker-sandbox-1         Started                    2.2s
 ✔ Container docker-api-1             Started                    2.5s
 ✔ Container docker-worker-1          Started                    2.7s
 ✔ Container docker-nginx-1           Started                    2.8s

最后检查所有容器是否运行成功:

docker compose ps

其中包括 3 个核心服务:api/ worker/ web,以及 6 个依赖组件:weaviate/ db/ redis/ nginx/ ssrf_proxy/ sandbox。

NAME                  IMAGE                              COMMAND                  SERVICE      CREATED         STATUS                   PORTS
docker-api-1          langgenius/dify-api:0.7.0          "/bin/bash /entrypoi…"   api          8 minutes ago   Up 8 minutes             5001/tcp
docker-db-1           postgres:15-alpine                 "docker-entrypoint.s…"   db           8 minutes ago   Up 8 minutes (healthy)   5432/tcp
docker-nginx-1        nginx:latest                       "sh -c 'cp /docker-e…"   nginx        8 minutes ago   Up 8 minutes             0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp
docker-redis-1        redis:6-alpine                     "docker-entrypoint.s…"   redis        8 minutes ago   Up 8 minutes (healthy)   6379/tcp
docker-sandbox-1      langgenius/dify-sandbox:0.2.1      "/main"                  sandbox      8 minutes ago   Up 8 minutes
docker-ssrf_proxy-1   ubuntu/squid:latest                "sh -c 'cp /docker-e…"   ssrf_proxy   8 minutes ago   Up 8 minutes             3128/tcp
docker-weaviate-1     semitechnologies/weaviate:1.19.0   "/bin/weaviate --hos…"   weaviate     8 minutes ago   Up 8 minutes
docker-web-1          langgenius/dify-web:0.7.0          "/bin/sh ./entrypoin…"   web          8 minutes ago   Up 8 minutes             3000/tcp
docker-worker-1       langgenius/dify-api:0.7.0          "/bin/bash /entrypoi…"   worker       8 minutes ago   Up 8 minutes             5001/tcp

通过以上步骤,你应该可以成功安装Dify了。

升级Dify

进入dify源码的docker目录,执行以下命令:

cd dify/docker
docker compose down
git pull origin main
docker compose pull
docker compose up -d

同步环境变量配置(重要)

  • 如果 .env.example 文件已更新,请务必相应地修改本地 .env 文件。
  • 根据需要检查并修改 .env 文件中的配置项,以确保它们与您的实际环境相匹配。您可能需要将 .env.example 中的任何新变量添加到您的 .env 文件中,并更新任何已更改的值。
访问Dify

进入管理员初始化页面设置管理员账户:

# Local environment
http://localhost/install

# Server environment
http://your_server_ip/install

Dify网页界面地址:

# Local environment
http://localhost

# Server environment
http://your_server_ip
自定义Dify

直接编辑 .env 文件中的环境变量值。然后使用以下命令重新启动 Dify:

docker compose down
docker compose up -d

可以在 docker/.env.example 下找到完整的带注释的环境变量。