Dify 从入门到实战:部署、模型对接与企业级 AI 应用开发全教程

一、Dify 核心介绍

1.1 什么是 Dify

Dify 是一款开源大语言模型(LLM)应用开发平台 ,名称由 Define(定义)+ Modify(迭代优化) 组合而来,核心理念是定义 AI 应用,并持续迭代优化 ,同时延伸寓意 Do it for you,一站式帮用户落地 AI 能力。

它并非大模型本身,而是大模型编排与应用交付平台 ,提供从应用设计、调试、运维、监控到对外服务的全链路能力,支持可视化操作、工作流编排、知识库、插件拓展,零代码 / 低代码即可快速搭建生产级 AI 应用。

1.2 核心优势

  1. 开源无绑定:代码完全开源,支持私有化部署,数据自主管控,不受云厂商限制。
  2. 低代码门槛:可视化界面操作,非技术人员也能搭建聊天机器人、数据分析、智能工作流等应用。
  3. 全模型兼容:支持市面上主流公有云大模型(通义千问、文心一言、智谱等)与本地私有化模型。
  4. 企业级能力:内置权限管理、调用审计、成本统计、API 网关,可作为企业统一 AI 中台。
  5. 丰富拓展生态:支持插件、RAG 知识库、Agent 智能体、ECharts 图表、文生图 / 文生视频等能力。

1.3 典型应用场景

  • 快速搭建聊天机器人、客服机器人、知识库问答;
  • 业务系统集成:将 LLM 能力接入 CRM、ERP、OA,解耦 Prompt 与业务代码;
  • 企业 AI 中台:统一管理模型、API Key、访问权限与调用成本;
  • 数据智能分析:实现自然语言转 SQL(Text2SQL)、数据可视化;
  • AIGC 创作:文生图、文生视频、智能文案生成等。

二、部署前置条件

2.1 硬件最低要求

  • CPU:≥ 2 核
  • 内存 (RAM):≥ 4GiB
  • 磁盘:预留 20GB 以上空间(存放 Docker 镜像、容器数据)

2.2 软件依赖

本次采用 Docker Compose 容器化部署,跨 Windows /macOS/ Linux 全平台适配,需提前安装:

  1. Docker + Docker Compose
    • Windows/macOS:直接安装 Docker Desktop(内置 Compose);
    • Linux:通过系统命令安装 Docker 及 Docker Compose。
  2. Git:用于拉取官方源码(无 Git 可手动下载源码包)。
  3. 网络要求:访问 GitHub、模型插件仓库网络通畅,安装插件阶段建议配置网络代理,避免超时失败。

官方部署文档:https://docs.dify.ai/zh-hans/getting-started/install-self-hosted/docker-compose

三、Dify 容器化部署(Docker Compose)

3.1 拉取官方源码

打开终端(PowerShell、CMD、系统终端均可),依次执行以下命令克隆源码并进入部署目录:

复制代码
# 克隆 Dify 开源仓库
git clone https://github.com/langgenius/dify.git

# 进入 docker 部署目录
cd dify/docker

3.2 生成环境配置文件

官方提供默认环境变量模板,直接复制即可使用,基础部署无需修改配置:

复制代码
# 复制示例配置为正式配置文件
cp .env.example .env

如需自定义端口、数据库密码、域名等,使用文本编辑器打开 .env 文件修改对应参数。

3.3 启动容器集群

执行命令后台启动所有 Dify 服务容器,首次启动会自动拉取大量镜像,耗时较长,请耐心等待:

复制代码
docker compose up -d
常用运维命令(必备)
复制代码
# 查看所有容器运行状态
docker compose ps

# 实时查看容器日志(排错、查看插件安装状态)
docker compose logs -f

# 停止所有容器
docker compose down

# 重启服务
docker compose restart

当所有容器状态显示 Running,代表服务启动成功。

3.4 初始化管理员账号并登录

  1. 打开浏览器,访问默认地址:http://localhost
  2. 首次进入系统,根据提示设置管理员账号、密码
  3. 使用刚创建的管理员账号登录 Dify 工作台,基础部署完成。

四、对接大模型(通义千问为例)

Dify 本身不内置大模型,需安装模型插件并配置对应厂商的 API Key,下面以通义千问演示完整对接流程。

4.1 安装通义千问插件

  1. 点击页面右上角头像 → 选择【设置】→ 进入【模型供应商】;
  2. 在插件列表搜索「通义千问」,点击【安装】; 重要提示:安装插件建议开启代理,极易出现超时、安装失败问题。
  3. 校验安装结果
    • 方式一(日志校验):终端执行 docker compose logs -f,出现插件启动日志、接口请求记录,且进程状态为 Running,即安装成功;
    • 方式二(页面校验):回到模型供应商页面,通义千问状态变为待配置

4.2 配置 API Key 并连通测试

  1. 点击通义千问插件右侧【设置】,进入配置页;
  2. 填入在阿里云开发者平台申请的 通义千问 API Key
  3. 点击【测试】,提示连通成功后保存配置;
  4. 返回模型列表,确认模型正常加载,系统 "模型未配置" 提示消失。

五、实战一:快速创建基础聊天助手

完成大模型对接后,先搭建最简单的对话机器人,验证整体链路可用性。

  1. 回到 Dify 首页,点击【创建空白应用】;
  2. 应用类型选择聊天助手,自定义应用名称,点击【创建】;
  3. 右侧为「调试与预览」对话窗口,输入测试内容,例如:你是谁
  4. 模型正常返回回答,代表对话功能可用;
  5. 测试无误后,点击右上角【发布】,对外上线该聊天应用。

六、实战二:房产数据分析助手(Text2SQL 工作流)

6.1 项目背景

房产中介业务人员无 SQL 基础,通过自然语言提问自动生成 SQL、查询数据库并分析结果,实现低代码数据查询与分析。

6.2 环境准备

  1. 本地部署 MySQL 8.0 数据库;
  2. 执行 fangchang.sql 脚本,创建房源数据表并导入测试数据;
  3. 记录数据库地址、账号、密码、库名,后续用于接口配置。

6.3 搭建后端查询接口(Flask)

编写 Python 接口服务,接收 SQL 语句并执行数据库查询,代码 api.py

复制代码
from flask import Flask, request, jsonify
import pymysql

app = Flask(__name__)
# 数据库配置,根据自己环境修改
db_config = {
    'host': '127.0.0.1',
    'user': 'root',
    'password': 'root123456',
    'db': 'dify_test'
}

def execute_query(sql):
    connection = pymysql.connect(**db_config)
    try:
        with connection.cursor() as cursor:
            cursor.execute(sql)
            result = cursor.fetchall()
            return result
    finally:
        connection.close()

@app.route('/execute_query', methods=['GET'])
def get_data():
    sql_query = request.args.get('sql_query', default='', type=str)
    result = execute_query(sql_query)
    return jsonify(result)

if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0', port=5001)

运行服务:

复制代码
python api.py

服务默认地址:http://127.0.0.1:5001

6.4 Dify 工作流编排

  1. 首页【创建空白应用】→ 选择工作流 ,命名为 text2sql
  2. 依次添加并配置节点:开始节点 → LLM 节点 1 → 代码执行节点 → LLM 节点 2 → 结束节点
节点 1:开始节点

新增输入变量 query(文本类型),用于接收用户自然语言提问。

节点 2:LLM 节点 1(自然语言转 SQL)
  • 模型选择:通义千问(qwen-max);

  • System 提示词

    你是数据分析专家,精通MySQL。根据用户问题生成SQL查询。
    核心规则:

    1. 仅使用用户提到的表和字段,SQL兼容MySQL;
    2. 只输出完整可执行SQL,无多余注释、文字;
    3. 字符字段使用 LIKE N'%关键词%',严格匹配表名字段名。

    表结构:
    fangchang(id,地区,房价(万),配置,大小(平米),单价(元),方位,层数,装修,其他)

  • User 提示词

    问题:{{query}}
    请将问题转为SQL语句,仅返回SQL代码。

节点 3:代码执行节点(调用 Flask 接口执行 SQL)

输入变量绑定上一级 LLM 输出,Python 代码如下(修改为你的服务 IP):

复制代码
import requests

def main(sql_query):
    base_url = "http://127.0.0.1:5001"
    url = f"{base_url}/execute_query"
    response = requests.get(url, params={"sql_query": sql_query})
    return {"result": response.text}

规范要求:入口函数必须为 main,返回格式固定为 {"result": 内容}

节点 4:LLM 节点 2(数据分析与结果整理)

接收数据库查询结果,做数据解读、汇总、格式美化,配置对应提示词,要求输出表格、数据总结、趋势分析,并附带原始 SQL。

节点 5:结束节点

绑定上一级 LLM 输出,作为工作流最终返回内容。

6.5 运行测试与发布

  1. 点击【运行】,输入测试问题:分析精装修房产中,各地区的最高单价、最低单价及价差
  2. 工作流自动生成 SQL → 查询数据库 → 分析并返回格式化结果;
  3. 测试通过后点击【发布】,支持通过 API、网页嵌入等方式对外调用。

6.6 进阶:结合 ECharts 生成数据图表

如需实现数据可视化图表,拓展流程如下:

  1. 在 Dify 插件市场安装 ECharts 图表工具;
  2. 新增代码执行节点,解析 LLM 输出的 JSON 格式图表参数;
  3. 增加条件分支节点,根据图表类型(饼图 / 柱状图 / 折线图)分流;
  4. 对应分支挂载 ECharts 节点,配置标题、X 轴、数据;
  5. 最后通过模板转换节点统一输出图文 + 图表结果。

七、实战三:AIGC 文生图 / 文生视频工作流

Dify 支持接入各大 AIGC 插件,快速搭建文生图、文生视频应用,核心流程如下:

  1. 安装插件:在插件市场安装通义万相、Qwen Text2Image、豆包文生视频等插件,并配置对应 API Key;
  2. 工作流结构
    • 开始节点:接收用户提示词、选择生成类型(文生图 / 文生视频);
    • 条件分支:根据类型分流至不同链路;
    • LLM 节点:优化用户提示词,转为 AI 绘画 / 视频专用结构化提示词;
    • 文生图 / 文生视频节点:调用插件生成媒体资源;
    • 回复节点:整合结果并返回给用户;
  3. 自定义提示词规则,约束画面主体、场景、风格、细节,提升生成效果。

八、拓展:应用参考与二次开发

如果暂无开发思路,可以参考社区开源范例快速上手:

  1. 开源工作流仓库:
  2. 经典范例:
    • 深度研究报告(Deep Research):结合知识库、多轮检索、多模型协作生成专业调研报告;
    • 股票分析:结合数据查询、行情解读、智能总结的综合工作流;
  3. 开发建议:
    • 复杂场景可优先使用「知识库 + RAG」补充私有数据;
    • 模型生成 SQL 出错时,可将正确案例录入知识库做示例引导;
    • 线上部署后,开启日志与监控,统计 Token 消耗与调用成本。

九、常见问题排查

  1. docker compose up -d 拉取镜像超时解决方案:配置 Docker 国内镜像源,或临时开启代理完成镜像拉取。

  2. 模型插件安装一直转圈、失败 原因:境外插件仓库访问受限,安装全程保持代理开启,观察日志出现pre-loaded即为成功。

  3. 浏览器访问 http://localhost 打不开页面

    • 检查容器状态:docker compose ps,确保全部容器为 Running;
    • 检查 80 端口是否被占用,修改.env中的端口配置后重启服务。
  4. 调用模型提示 Key 错误 / 接口不通重新核对 API Key、模型权限,在模型供应商页面重新点击「测试」连通性。

  5. Text2SQL 生成语句报错检查表结构描述是否和数据库一致,补充典型 SQL 案例至提示词或知识库。

十、总结

  1. Dify 基于 Docker Compose 实现一键部署,开箱即用,降低 AI 应用落地门槛,私有化部署保障数据安全;
  2. 核心流程:环境准备 → 部署 Dify → 对接大模型 → 可视化编排应用 → 测试发布;
  3. 能力覆盖:对话机器人、Text2SQL 数据分析、AIGC 图文生成、知识库问答、复杂 Agent 工作流,适配个人、团队、企业多类场景;
  4. 作为开源平台,依托社区生态可持续拓展插件与工作流,是搭建生产级 LLM 应用的优选方案。

参考链接

  1. Dify 官方自托管文档:https://docs.dify.ai/zh-hans/getting-started/install-self-hosted/docker-compose
  2. Dify 开源仓库:https://github.com/langgenius/dify
  3. 通义千问开发者平台(获取 API Key):阿里云通义千问控制台
相关推荐
本地化文档1 小时前
black-docs-l10n
python·github·gitcode·sphinx
AllData公司负责人1 小时前
大模型赋能AllData数据中台,系列升级|通过联合智谱大模型与Chat2DB开源项目,建设Text2SQL生产场景全新体验的数据源平台!
数据库·人工智能·text2sql·数据中台·数据源·chat2db·智谱大模型
Dream_ksw1 小时前
Python 基础
开发语言·python
xinlianyq1 小时前
2026 电商视觉红海突围:核心 AI 视频与海报创作工具实战选型指南
人工智能·aigc
Deepoch1 小时前
Deepoc VLA开发板:除草机器人的持续学习与协同作业系统
人工智能·学习·机器人·开发板·具身模型·deepoc
生成论实验室1 小时前
判断力与六十四卦:AI的第三块基石
人工智能·语言模型·机器人·自动驾驶·安全架构
xixixi777771 小时前
空天地通信、高速光模块、AI 智能体攻击、同态加密芯片四大事件解读:AI 算力底座攻防与全域通信同步升级
大数据·人工智能·深度学习·ai·大模型·光模块·智能体
水木流年追梦2 小时前
大模型入门-大模型优化方法13- MTP 多 token 输出、DCA 双块注意力
人工智能·分布式·算法·正则表达式·prompt
雪隐2 小时前
AI股票小助手06-Backtrader 量化回测
人工智能·后端