掘金 人工智能 07月29日 16:40
dify二开示例
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文档详细介绍了如何对Dify进行本地化部署的二次开发,包括自定义前端图标和后端API。针对Dify 1.5.0版本,文章指导用户如何修改前端代码以替换默认图标,并通过打包本地镜像实现自定义前端效果。对于Dify 1.0.0至1.2.0及1.5.0版本,文章则分别阐述了如何修改后端代码、安装依赖、编辑Dockerfile以及构建自定义后端镜像。通过这些步骤,用户可以根据自身需求对Dify进行个性化配置,实现更灵活的应用。

🚀 **自定义Dify前端图标**:文章以Dify 1.5.0版本为例,指导用户通过修改`web/app/components/base/chat/embedded-chatbot/header/index.tsx`文件来替换前端图标,并在`dify/docker`目录下修改`docker-compose.yaml`,将前端服务镜像指定为本地自定义镜像`dify-web-custom`,最后通过`docker build`和`docker compose up -d`命令实现前端的定制化。

🐍 **定制Dify后端API(1.0.0-1.2.0版本)**:对于早期版本的Dify,需要进入`api`目录,安装Python依赖管理工具Poetry,然后编辑`Dockerfile`,添加阿里云镜像源并重新锁定依赖,最后构建名为`dify-api-custom`的本地后端镜像,并在`docker-compose.yaml`中指定使用此自定义镜像。

🔧 **定制Dify后端API(1.5.0版本)**:Dify 1.5.0版本后端工具链有所更新,文章指出其使用了`uv`。操作步骤与早期版本类似,核心在于修改`docker-compose.yaml`中`api`服务的镜像配置为`dify-api-custom`,并执行`docker build -t dify-api-custom ../api`命令来构建自定义后端镜像。

💡 **实现本地化部署与镜像构建**:文章强调了在进行二次开发前,需确保Dify已成功在本地部署,并提供了指向相关部署教程的链接。文中详细列出了构建自定义Docker镜像的命令,如`docker build -t dify-web-custom .`和`docker build -t dify-api-custom ../api`,并说明了`docker compose up -d`命令用于重启和应用更改。

🛠️ **二次开发与探索**:文章最后指出,文中所述仅为基础示例,更复杂的二次开发需要用户自行探索和实现,鼓励用户在掌握基础方法后进行更深层次的定制与创新。

一、前言

1.1、前置知识

需要您在本地能够启动部署dify,如果没有到这一步,请移步文章《ollama+dify本地化部署【菜鸟教程】》

1.2、实现效果

原先效果

最终效果

以上方式,仅仅只是个示例,如果您想更换dify图标,可以去dify-1.5.0\web\public\logo文件夹下替换所有的

二、更改前端

2.1、dify-1.5.0版本

1)复制env文件

2)进入dify-1.5.0\web\app\components\base\chat\embedded-chatbot\header\index.tsx文件下

3)更改前端代码完毕后,进入 dify-1.5.0/docker,更改docker-compose.yaml文件

  # Frontend web application.  web:    #image: langgenius/dify-web:1.5.0    image: dify-web-custom

下图所示

更改完毕后,执行命令将web目录打包成本地镜像web,docker compose up -d dify-web-custom打包花的时间比较久,需要耐心等待

4)docker compose up -d,重启docker

5)最终效果为

三、更改后端

3.1、dify版本1.0.0-1.2.0

1)复制env文件

2)更改后端代码,代码位于dify\apiapi是python开发,用的打包工具是poetry,先安装poetry

pip install poetry

进入api目录然后执行

poetry install

编辑api目录下的Dockerfile

# Install Python dependencies# COPY pyproject.toml poetry.lock ./# RUN poetry install --sync --no-cache --no-root# Install Python dependenciesCOPY pyproject.toml poetry.lock ./RUN poetry source add mirrors https://mirrors.aliyun.com/pypi/simple/RUN poetry lockRUN poetry install --no-root

3)回到dify/docker目录,编辑docker-compose.yaml里找到api的镜像配置改成

  api:    # image: langgenius/dify-api:1.0.0    image: dify-api-custom

4)最后执行,docker build -t dify-api-custom ../api

3.2、dify版本1.5.0

1)复制env文件

2)1.5版本的工具变成了uv

3)回到dify/docker目录,编辑docker-compose.yaml里找到api的镜像配置改成

  # API service  api:    # image: langgenius/dify-api:1.5.0    image: dify-api-custom

4)最后执行,docker build -t dify-api-custom ../api

四、总结

上文只是一个简单的示例,更加复杂的二开,需要您自己去探索开发了,完结撒花....

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Dify 本地化部署 Docker 二次开发 前端定制 后端定制
相关文章