Dify是一个开源的LLM应用开发平台,今天咱们详细介绍下Dify的安装步骤和使用场景。

Dify下载地址

Dify的官方GitHub仓库提供了源代码的下载,您可以通过以下链接访问并下载Dify:

Dify GitHub仓库

安装依赖

Docker环境配置

在安装Dify之前,您需要确保您的计算机上安装了Docker环境。以下是配置Docker镜像源的步骤,以提高拉取镜像的速度:

  1. 打开Docker Desktop,进入Settings中的Docker Engine。
  2. 在右方的json结构中,加入以下镜像源列表:
"registry-mirrors": [
    "https://registry.docker-cn.com",
    "https://docker.mirrors.ustc.edu.cn",
    "http://hub-mirror.c.163.com",
    "https://cr.console.aliyun.com/"
]

点击“Apply & restart”保存设置并重启Docker服务。

安装Python依赖

Dify使用Python语言开发,因此您需要安装Python环境以及相关的依赖包。以下是安装依赖的步骤:

  1. 安装Python 3.12环境(推荐使用pyenv进行版本管理)。
  2. 使用Poetry管理Python依赖。首先,您需要安装Poetry:
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
  1. 通过Poetry安装Dify的依赖。在Dify项目的根目录下执行以下命令:
poetry env use 3.12
poetry shell
poetry install

如果在执行poetry install时遇到依赖下载缓慢的问题,可以尝试禁用keyring:

export PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring

后端API部署

  1. 从GitHub克隆Dify源代码到本地:
git clone https://github.com/langgenius/dify.git
  1. 启动DockerCompose堆栈,后端需要一些中间件,包括PostgreSQL、Redis和Weaviate,可以使用以下命令一起启动:
cd ../docker
cp middleware.env.example middleware.env
docker compose -f docker-compose.middleware.yaml --profile weaviate -p dify up -d
  1. 配置API环境:
cd ../api
cp .env.example .env
sed -i "/^SECRET_KEY=/c\SECRET_KEY=$(openssl rand -base64 42)" .env
  1. 运行数据库迁移,以确保数据库是最新的:
poetry run python -m flask db upgrade

前端页面部署

  1. 安装Node.js v18.x LTS和NPM版本8.x.x或Yarn。
  2. 配置环境变量。在当前目录下创建文件.env.local,并复制.env.example中的内容。根据需求修改这些环境变量的值:
# For production release, change this to PRODUCTION
NEXT_PUBLIC_DEPLOY_ENV=DEVELOPMENT
# The deployment edition, SELF_HOSTED
NEXT_PUBLIC_EDITION=SELF_HOSTED
# The base URL of console application, refers to the Console base URL of WEB service if console domain is different from api or web app domain.
NEXT_PUBLIC_API_PREFIX=http://localhost:5001/console/api
# The URL for Web APP, refers to the Web App base URL of WEB service if web app domain is different from console or api domain.
NEXT_PUBLIC_PUBLIC_API_PREFIX=http://localhost:5001/api
  1. 启动Web服务:
npm run start
# or
yarn start
# or
pnpm start

正常启动后,访问http://127.0.0.1:3000即可使用本地部署的Dify。

Dify提供了一个强大的平台,让您能够快速构建和部署生成式AI应用。希望这篇指南能帮助您更好地了解和使用Dify。