---
layout: single
title:  "Dify：开源 LLM 应用开发平台"
date:   2025-06-10 10:00:00 +0800
categories: [AI 与大模型, 操作系统]
tags: [Dify, LLMOps, 工作流, SiliconFlow, LLM, macOS]
---

Dify 是一个开源的 LLM 应用开发平台。其直观的界面结合了 AI 工作流、RAG 管道、Agent、模型管理、可观测性功能等，让您可以快速从原型到生产。

<!-- more -->

## 安装

### 克隆代码仓库
```bash
git clone https://github.com/langgenius/dify
```

### Docker 部署

Dify 提供了 Docker 部署方式，您可以通过以下步骤快速部署：

```bash
cd dify
cd docker
cp .env.example .env
docker compose up -d
```

运行后，可以在浏览器上访问 [http://localhost/install](http://localhost/install) 进入 Dify 控制台并开始初始化安装操作。

![](/images/2025/Dify/install.png)

### 自定义配置

如果您需要自定义配置，请参考 [.env.example](https://github.com/langgenius/dify/blob/main/docker/.env.example) 文件中的注释，并更新 `.env` 文件中对应的值。此外，您可能需要根据您的具体部署环境和需求对 `docker-compose.yaml` 文件本身进行调整，例如更改镜像版本、端口映射或卷挂载。完成任何更改后，请重新运行 `docker-compose up -d`。您可以在[此处](https://docs.dify.ai/getting-started/install-self-hosted/environments)找到可用环境变量的完整列表。

### 服务镜像

#### 核心镜像（必需）

```bash
# 核心服务
docker pull langgenius/dify-api:1.4.1          # API 服务
docker pull langgenius/dify-web:1.4.1          # 前端 Web 服务
docker pull postgres:15-alpine                 # PostgreSQL 数据库
docker pull redis:6-alpine                     # Redis 缓存
docker pull langgenius/dify-sandbox:0.2.12     # 代码沙盒环境
docker pull langgenius/dify-plugin-daemon:0.1.1-local  # 插件守护进程
docker pull ubuntu/squid:latest                # SSRF 代理
docker pull nginx:latest                       # Nginx 反向代理
docker pull semitechnologies/weaviate:1.19.0   # 默认向量数据库 (Weaviate)
```

#### 完整镜像

```bash
#!/bin/bash

# 最小化安装镜像（必需组件）
docker pull langgenius/dify-api:1.4.1
docker pull langgenius/dify-web:1.4.1
docker pull postgres:15-alpine
docker pull redis:6-alpine
docker pull langgenius/dify-sandbox:0.2.12
docker pull langgenius/dify-plugin-daemon:0.1.1-local
docker pull ubuntu/squid:latest
docker pull nginx:latest
docker pull semitechnologies/weaviate:1.19.0

# ----------------------------
# 可选组件（按需下载）
# ----------------------------

# 向量数据库备选方案
docker pull langgenius/qdrant:v1.7.3                  # Qdrant
docker pull pgvector/pgvector:pg16                    # PGVector
docker pull tensorchord/pgvecto-rs:pg16-v0.3.0        # PGVector.rs
docker pull ghcr.io/chroma-core/chroma:0.5.20         # Chroma
docker pull milvusdb/milvus:v2.5.0-beta               # Milvus
docker pull opensearchproject/opensearch:latest       # OpenSearch
docker pull opensearchproject/opensearch-dashboards:latest
docker pull opengauss/opengauss:7.0.0-RC1             # OpenGauss
docker pull myscale/myscaledb:1.6.4                   # MyScale
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.14.3
docker pull docker.elastic.co/kibana/kibana:8.14.3

# 其他数据库
docker pull oceanbase/oceanbase-ce:4.3.5.1-101000042025031818  # OceanBase
docker pull container-registry.oracle.com/database/free:latest # Oracle

# 文件处理
docker pull downloads.unstructured.io/unstructured-io/unstructured-api:latest  # Unstructured

# 基础设施
docker pull quay.io/coreos/etcd:v3.5.5               # Milvus 依赖
docker pull minio/minio:RELEASE.2023-03-20T20-16-18Z # Milvus 依赖
docker pull certbot/certbot                          # SSL 证书管理
```

将此脚本保存为 `pull-dify-images.sh`，运行 `chmod +x pull-dify-images.sh && ./pull-dify-images.sh` 即可下载所有镜像。

### 导出和导入镜像

#### 方法一

- 将镜像导出为 tar 文件
```bash
docker save -o dify-images.tar langgenius/dify-api:1.4.1 langgenius/dify-web:1.4.1 postgres:15-alpine redis:6-alpine langgenius/dify-sandbox:0.2.12 langgenius/dify-plugin-daemon:0.1.1-local ubuntu/squid:latest nginx:latest semitechnologies/weaviate:1.19.0
```

- 在目标服务器上导入镜像
```bash
docker load -i dify-images.tar
```

#### 方法二

- 将镜像导出为 tar 文件
```bash
docker save -o dify-api_1.4.1.tar langgenius/dify-api:1.4.1
docker save -o dify-web_1.4.1.tar langgenius/dify-web:1.4.1
docker save -o postgres_15-alpine.tar postgres:15-alpine
docker save -o redis_6-alpine.tar redis:6-alpine
docker save -o dify-sandbox_0.2.12.tar langgenius/dify-sandbox:0.2.12
docker save -o dify-plugin-daemon_0.1.1-local.tar langgenius/dify-plugin-daemon:0.1.1-local
docker save -o ubuntu-squid_latest.tar ubuntu/squid:latest
docker save -o nginx_latest.tar nginx:latest
docker save -o weaviate_1.19.0.tar semitechnologies/weaviate:1.19.0
```

- 在目标服务器上导入镜像
```bash
docker load -i dify-api_1.4.1.tar
docker load -i dify-web_1.4.1.tar
docker load -i postgres_15-alpine.tar
docker load -i redis_6-alpine.tar
docker load -i dify-sandbox_0.2.12.tar
docker load -i dify-plugin-daemon_0.1.1-local.tar
docker load -i ubuntu-squid_latest.tar
docker load -i nginx_latest.tar
docker load -i weaviate_1.19.0.tar
```

### 访问 Dify 控制台

在浏览器中访问 [http://localhost](http://localhost) 即可进入 Dify 控制台。

![](/images/2025/Dify/workspace.png)


## 设置

![](/images/2025/Dify/setting.png)

### 模型提供商

- 安装`硅基流动`插件

![](/images/2025/Dify/setting-model-provider-siliconflow.png)

- 设置 API Key

![](/images/2025/Dify/setting-model-provider-siliconflow-apikey.png)

- 设置系统模型

![](/images/2025/Dify/setting-model-provider-system-model-setting.png)


## 工作室

### Chatbot

![](/images/2025/Dify/chatbot-create.png)

![](/images/2025/Dify/chatbot-setting.png)

![](/images/2025/Dify/chatbot-preview.png)

### 语音助手

#### 创建工作流
![](/images/2025/Dify/SpeechAssistant-create.png)

![](/images/2025/Dify/SpeechAssistant-workflow.png)

![](/images/2025/Dify/SpeechAssistant-setting.png)

#### 工作流设置

![](/images/2025/Dify/SpeechAssistant-workflow-1-start-setting.png)

![](/images/2025/Dify/SpeechAssistant-workflow-2-SpeechToText-setting.png)

![](/images/2025/Dify/SpeechAssistant-workflow-3-LLM-setting.png)

![](/images/2025/Dify/SpeechAssistant-workflow-4-TextToSpeech-setting.png)

![](/images/2025/Dify/SpeechAssistant-workflow-5-end-setting.png)

#### 预览

![](/images/2025/Dify/SpeechAssistant-preview1.png)

![](/images/2025/Dify/SpeechAssistant-preview2.png)

![](/images/2025/Dify/SpeechAssistant-preview3.png)

#### 发布

![](/images/2025/Dify/SpeechAssistant-publish.png)


## 知识库

![](/images/2025/Dify/KnowledgeBase.png)

## 工具

![](/images/2025/Dify/tools.png)

## 插件

![](/images/2025/Dify/plugins.png)


## Dify 🏆 RAGFlow

| **维度**       | **Dify**                                                                 | **RAGFlow**                                                                 |
|--------------------|--------------------------------------------------------------------------|-----------------------------------------------------------------------------|
| **核心定位**       | 低代码/零代码 AI 应用开发平台，支持多模型接入，适合快速构建 AI 应用（如智能客服、文案生成） | 专注于检索增强生成（RAG），擅长处理复杂文档（如 PDF、扫描件、表格），优化检索精度以减少 AI 幻觉 |
| **易用性**         | 低代码开发，适合新手快速上手                                 | 学习曲线较陡，适合技术团队                                      |
| **RAG 能力**       | 依赖外部插件，提供基础 RAG 支持                              | 深度集成 RAG，支持多级检索优化（向量+全文+关键词），减少幻觉率 35% |
| **模型支持**       | 支持多模型（GPT、Claude、本地模型）                          | 侧重本地模型（如 DeepSeek），可灵活配置 LLM 和向量模型          |
| **流程编排**       | 可视化工作流（线性逻辑）                                     | 流程图式复杂逻辑（支持循环/并行）                               |
| <nobr>**文档解析能力**   | 支持基础文档格式（PDF、Word），OCR 准确率较低（扫描件仅 78%） | 支持 20+ 格式（含扫描件、表格），智能分块策略，解析准确率 >95% |
| **企业级功能**     | 开源社区版 + 企业扩展功能                                    | 内置安全审计、权限控制，支持千亿级 Token 知识库                 |
| **部署与成本**     | 部署简单，适合云服务或小型私有化部署，成本较低               | 需要较高配置（推荐 4 核 16GB 内存），适合企业级高负载场景      |
| **适用场景**       | 快速搭建 AI 应用（如客服机器人、营销文案生成）               | 高精度文档处理（如法律合同解析、医疗报告分析）                 |
| **检索优化**       | 依赖第三方向量数据库（如 Pinecone）                          | 多路召回 + 重排序（如 bge-reranker），准确率提升 40%           |

### **总结**
- **选择 Dify**：适用于快速验证 AI 应用、低代码开发、多模型混合编排的场景。
- **选择 RAGFlow**：适用于专业文档处理、高精度检索需求、企业级安全合规的场景。  


## 参考资料
- [Dify README 中文](https://github.com/langgenius/dify/blob/main/README_CN.md)
- [Dify](https://docs.dify.ai/zh-hans/introduction)
- [Dify 环境变量说明](https://docs.dify.ai/zh-hans/getting-started/install-self-hosted/environments)
