一.前置条件
1.安装和配置poetry
通过Windows PowerShell安装poetry:
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -
关于poetry相关配置参考文献[1]。
2.下载dify和启动中间件容器
克隆Dify v0.6.14代码:
git clone https://github.com/langgenius/dify.git
git checkout 0.6.14
在启用业务服务之前,需要先部署 PostgresSQL / Redis / Weaviate(如果本地没有的话),可以通过以下命令启动:
cd docker
cp middleware.env.example middleware.env
docker compose -f docker-compose.middleware.yaml -p "dify0614" up -d
PyCharm界面如下所示:
Docker Desktop界面如下所示:
Portainer界面如下所示:
二.服务端部署
1.进入api目录
cd api
2.复制环境变量配置文件
cp .env.example .env
3.生成随机密明,并替换.env中 SECRET_KEY的值
sed -i "/^SECRET_KEY=/c\SECRET_KEY=$(openssl rand -base64 42)" .env
4.安装依赖包
poetry install
5.执行数据库迁移
poetry shell
flask db upgrade
6.启动API服务
flask run --host 0.0.0.0 --port=5001 --debug
7.启动Worker服务
用于消费异步队列任务,如数据集文件导入、更新数据集文档等异步操作。 Linux / MacOS 启动:
celery -A app.celery worker -P gevent -c 1 -Q dataset,generation,mail,ops_trace,app_deletion --loglevel INFO
解释命令如下所示:
如果使用 Windows 系统启动,请替换为该命令:
celery -A app.celery worker -P solo --without-gossip --without-mingle -Q dataset,generation,mail,ops_trace,app_deletion --loglevel INFO
三.前端页面部署
1.进入web目录
cd web
2.安装依赖包
npm install
3.配置环墳变量
在当前目录下创建文件 .env.local
,并复制.env.example
中的内容。
4.构建代码
npm run build
5.启动 Web服务
npm run dev
访问 http://127.0.0.1:3000 即可使用本地部署的 Dify。设置管理员密码,根据邮箱和密码登录Dify平台,然后可看到探索、工作室、知识库、工具界面。
参考文献
[1] Poetry入门教程:https://z0yrmerhgi8.feishu.cn/wiki/KapBwuGITiQ2I6ktYpicZl01nyh
[2] What’s New in v0.6.14:https://github.com/langgenius/dify/releases
[3] Dify v0.6.9源码部署:https://z0yrmerhgi8.feishu.cn/wiki/RhZLwjuYxiK8ZikpUMVcICCwn1b