Dify+Docker实现本地化部署

基于MACOS进行演示

安装Docker服务

已安装请跳过此步骤

访问Docker官网,选择对应的系统下载安装包,下载完成后双击安装。

安装完成后为了避免Docker Pull仓库慢或者Timeout,需要自行设置registry-mirrors,这里我给出我的配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"debug": true,
"experimental": false,
"registry-mirrors": [
"https://docker.xuanyuan.me",
"https://registry.docker-cn.com",
"https://mirror.ccs.tencentyun.com",
"https://ustc-edu-cn.mirror.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn"
]
}

如果发现还是PULL不动,这里有看到一篇持续更新docker mirror的帖子,可以点进去查看最新可用的,加到列表的第一行即可。(轩辕镜像据说长期稳定可用)

下载Dify

使用Git服务获取Dify仓库或Github直接下载ZIP

Github仓库地址Dify,如果Github访问或者速度有困难,Gitee - Dify也是个不错的选择。

GIT

1
git clone https://github.com/langgenius/dify.git

备选:下载ZIP

调整Dify配置文件

ZIP下载的话,先解压

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 移动到对应为止
cp -R dify /Users/[your username]

# 复制环境配置文件
cd /Users/[your username]/dify/docker
cp .env.example .env

# 注意修改.env部分内容如下(否则启动后会有内部错误导致插件不可用)
> vim .env
# Plugin oss s3 credentials
PLUGIN_S3_USE_AWS_MANAGED_IAM=false
PLUGIN_S3_ENDPOINT=
PLUGIN_S3_USE_PATH_STYLE=false
PLUGIN_AWS_ACCESS_KEY=
PLUGIN_AWS_SECRET_KEY=
PLUGIN_AWS_REGION=
> wq!

启动服务

1
2
3
4
5
6
7
cd /Users/[your username]/dify/docker
docker-compose up # docker-compose up -d #后台

# 访问服务
http://localhost/signin

# 创建账户并登录即可

至此,Dify安装部署已完成。

测试使用

首先体验一下Chatflow功能

  1. 维护一个知识库

  2. 添加文档

    添加一个或多个符合类型的文件,Dify会通过内置能力倒排索引能力进行处理、词条切分等,all in auto.

    先试用默认配置,后续有需要了再进行调整

    处理自动进行,这时候我们可以去创建一个Chatflow的应用

  3. 创建Chatflow

    配置 LLM节点 (Deepseek)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    身份:信息统计员
    <context>
    {{#context#}}
    </context>
    回答时:
    - 如果你确定知道,就将检索的原始内容进行回复;
    - 如果你不确定当你不确定时,需要再次确认;
    - 如果你完全不知道,就说你不知道;

    避免提及你从上下文中获取的信息,并根据用户提问的语言进行回答。

    我们可以注册Deepseek并生成对应的Key

  4. 现在测试Chatflow

    至此,一个简单的Chatflow Demo就OK了。