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 发行版的密码:
- 打开 PowerShell 并使用以下命令进入默认 WSL 发行版的根目录:wsl -u root 如果您需要在非默认发行版上更新忘记的密码,请使用以下命令:wsl -d Debian -u root,将 Debian 替换为目标发行版的名称。
- 在 PowerShell 中以根级别打开 WSL 发行版后,您可以使用以下命令更新密码:passwd ,其中 是您忘记密码的发行版中帐户的用户名。
- 系统将提示您输入新的 UNIX 密码,然后确认该密码。一旦您被告知密码已成功更新,请使用以下命令关闭 PowerShell 中的 WSL:exit。
更新和升级软件包
我们建议您使用发行版的首选包管理器定期更新和升级您的包。对于 Ubuntu 或 Debian,请使用以下命令:
sudo apt update && sudo apt upgrade
Windows 不会自动更新或升级您的 Linux 发行版。大多数 Linux 用户更喜欢自己控制这项任务。
Windows 上的Docker Desktop
- 使用页面顶部的下载按钮或从发行说明中下载安装程序。
- 双击 Docker Desktop Installer.exe 以运行安装程序。默认情况下,Docker Desktop 安装在 C:\Program Files\Docker\Docker。
- 出现提示时,请确保根据您选择的后端,在配置页面上选择使用 WSL 2 而不是 Hyper-V 选项。如果您的系统仅支持两个选项中的一个,您将无法选择要使用的后端。
- 按照安装向导上的说明授权安装程序并继续安装。
- 安装成功后,选择关闭以完成安装过程。
- 启动 Docker Desktop。
启动Docker Desktop
Docker Desktop 在安装后不会自动启动。要启动 Docker Desktop:
- 搜索 Docker,然后在搜索结果中选择 Docker Desktop 。
- Docker 菜单 (
) 显示 Docker 订阅服务协议。以下是要点摘要:
- Docker Desktop 对小型企业(员工人数少于 250 人且年收入少于 1000 万美元)、个人使用、教育和非商业开源项目免费。
- 否则,专业使用需要付费订阅。
- 政府实体也需要付费订阅。
- Docker Pro、Team 和 Business 订阅包括 Docker Desktop 的商业用途。
- 选择 接受 继续。接受条款后,Docker Desktop 将启动。请注意,如果您不同意条款,Docker Desktop 将不会运行。您可以选择在以后打开 Docker Desktop 来接受条款。
配置Dify
克隆Dify
将 Dify 源代码克隆到本地机器:
git clone https://github.com/langgenius/dify.git
启动Dify
- 导航到 Dify 源代码中的 Docker 目录
cd dify/docker
- 复制环境配置文件
cp .env.example .env
- 启动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 下找到完整的带注释的环境变量。