Dify智能体平台源码二次开发笔记(2) - 源码调试、打包及部署指南
本文记录了Dify智能体平台源码二次开发过程中的关键环节,重点介绍调试配置、镜像构建与部署实施的具体操作。文章详细说明了本地调试所需的环境变量配置,包括缓存、数据库、文件存储、向量数据库等服务的连接参数。在构建环节,提供了从源码编译Docker镜像到推送至Harbor私有仓库的完整操作流程。最后简要说明了使用Docker Compose部署更新后的服务,帮助开发者快速将二次开发成果投入实际应用环境
·
目录
前言
在完成中间件和服务端口的本地化配置后,我们即可开始进行Dify平台的二次开发工作。本篇文章将重点介绍开发流程中的关键环节:调试、打包及部署,具体功能开发将在后续文章中结合应用场景详细讲解。
调试配置
环境变量配置
本地启动API程序前,需正确配置.env文件中的服务连接参数:
缓存配置
REDIS_HOST=XXX.XXX.XXX.XXX REDIS_PORT=6379 REDIS_USERNAME= REDIS_PASSWORD=123456 REDIS_USE_SSL=false REDIS_DB=3 CELERY_BROKER_URL=redis://:123456@XXX.XXX.XXX.XXX:6379/4
数据库配置
DB_USERNAME=postgres DB_PASSWORD=difyai123456 DB_HOST=XXX.XXX.XXX.XXX DB_PORT=5432 DB_DATABASE=dify
文件存储配置
STORAGE_TYPE=s3 S3_USE_AWS_MANAGED_IAM=false S3_ENDPOINT=http://XXX.XXX.XXX.XXX:9001 S3_BUCKET_NAME=difyai S3_ACCESS_KEY=**** S3_SECRET_KEY=***** S3_REGION=us-east-1
向量数据库配置
VECTOR_STORE=milvus MILVUS_URI=http://XXX.XXX.XXX.XXX:19530 MILVUS_TOKEN= MILVUS_USER=root MILVUS_PASSWORD=Milvus
插件服务配置
PLUGIN_DAEMON_KEY=*****************
PLUGIN_DAEMON_URL=http://XXX.XXX.XXX.XXX:5002
PLUGIN_REMOTE_INSTALL_PORT=5003
PLUGIN_REMOTE_INSTALL_HOST=XXX.XXX.XXX.XXX
PLUGIN_MAX_PACKAGE_SIZE=15728640
INNER_API_KEY_FOR_PLUGIN=*********************
ENDPOINT_URL_TEMPLATE=http://XXX.XXX.XXX.XXX:5002/e/{hook_id}
代码服务配置
CODE_EXECUTION_ENDPOINT=http://XXX.XXX.XXX.XXX:8194 CODE_EXECUTION_API_KEY=dify-sandbox
Milvus 1.1.3版本兼容性问题
在milvus_vector.py文件的235行,需要将:
filter=f 'metadata ["document_id"] in ({document_ids})'
修改为:
filter=f 'metadata ["document_id"] in [{document_ids}]'
否则会报错:MilvusException: (code=1100, message=failed to create query plan: cannot parse expression: metadata["document_id"]
镜像构建
完成源码修改后,按以下步骤构建Docker镜像:
-
进入api目录
-
执行构建命令:
docker build -t dify-api:1.1.3 .
镜像推送至Harbor仓库
-
登录Harbor:
-
docker login http://XXX.XXX.XXX.XXX:9090
-
添加标签:
-
docker tag dify-api:1.1.3 XXX.XXX.XXX.XXX:9090/dev/dify-api:1.1.3
-
推送镜像:
-
docker push XXX.XXX.XXX.XXX:9090/dev/dify-api:1.1.3

部署实施
获得镜像后,可根据企业部署规范进行部署。以下以官方Docker Compose方式为例:
- 修改docker-compose.yaml

- 更新服务:
-
docker compose up -d --no-deps api
至此,您的二次开发代码已成功投入商用环境!
更多推荐

所有评论(0)