Dify搭建数据可视化工作流

本篇博客主要记录使用Dify搭建工作流,实现数据可视化的工作流助手。

1、环境准备

电脑系统:Windows

Dify版本:1.13.2

Docker:Docker Desktop(建议以管理员权限启动)

2、常用命令

bash 复制代码
# 启动
docker compose up -d
# 停止
docker compose down -v
# 重启某个应用
docker compose restart ***
# 服务运行情况
docker compose ps

3、数据集

数据集

4、实现流程

在dify中搭建工作流,流程如下:

用户输入处,新增变量file,用于上传文件。

文档提取器用于读取上传的文件内容。

LLM用于将读取的Excel文件转换为csv格式,用于后续的代码执行。

代码执行用于将输出的csv数据整理并绘制成ECharts图形并输出。

python 复制代码
import csv
import json
from collections import defaultdict

def main(csv_string):
    """
    读取CSV数据,按【地区】汇总销售额,
    生成ECharts柱状图配置
    """
    # 解析 CSV 数据
    lines = csv_string.strip().split('\n')
    reader = csv.reader(lines)
    headers = next(reader)
    data = [row for row in reader]

    # 按地区汇总销售额
    region_sales = defaultdict(float)
    for row in data:
        region = row[1]          # 地区
        sales = float(row[4])    # 销售额
        region_sales[region] += sales

    # 排序:按销售额降序
    sorted_regions = sorted(region_sales.items(), key=lambda x: x[1], reverse=True)
    categories = [item[0] for item in sorted_regions]
    values = [round(item[1], 2) for item in sorted_regions]

    # 构建 ECharts 配置
    echarts_config = {
        "title": {
            "text": "各地区销售额统计",
            "left": "center"
        },
        "tooltip": {
            "trigger": "axis",
            "axisPointer": {"type": "shadow"},
            "formatter": "{b}: {c} 元"
        },
        "grid": {
            "left": "3%",
            "right": "4%",
            "bottom": "3%",
            "containLabel": True
        },
        "xAxis": {
            "type": "category",
            "data": categories,
            "name": "地区",
            "axisLabel": {"interval": 0}
        },
        "yAxis": {
            "type": "value",
            "name": "销售额(元)"
        },
        "series": [
            {
                "name": "销售额",
                "type": "bar",
                "data": values,
                "itemStyle": {
                    "color": "#5470c6"
                },
                "label": {
                    "show": True,
                    "position": "top",
                    "formatter": "{c}"
                }
            }
        ]
    }

    output = "\n```echarts\n" + json.dumps(echarts_config, indent=2, ensure_ascii=False) + "\n```"
    return {"output": output}

输出节点用于输出生成的图表。

5、执行结果

相关推荐
IT研究室3 天前
最新大数据毕业设计选题推荐-基于大数据的信用等级数据分析与可视化-大数据-Spark-Hadoop-Bigdata
大数据·信息可视化·数据分析·spark·课程设计
IT研究室4 天前
最新大数据毕业设计选题推荐-基于大数据的物流快递数据分析与可视化-大数据-Spark-Hadoop-Bigdata
大数据·信息可视化·数据分析·spark·课程设计
IT研究室4 天前
最新大数据毕业设计选题推荐-基于大数据的鲜羊肉价格分析与可视化-大数据-Spark-Hadoop-Bigdata
大数据·信息可视化·数据分析·spark·课程设计
ZGi.ai4 天前
开源 AI Agent Runtime:培训题生成
知识库·工作流·ai智能体·zgi·agentruntime·培训资料
咖啡星人k4 天前
用 MCP 把找读抽做成一条信息流水线
信息检索·工作流·mcp
szephyr5 天前
Git 分支管理实战:feature/release/hotfix 怎么用才不乱
git·分支管理·团队协作·工作流·hotfix
IT毕设梦工厂5 天前
计算机毕业设计选题推荐:基于大数据的城市空气污染物浓度数据分析与可视化|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·python·信息可视化·数据挖掘·数据分析·课程设计·数据可视化
IT研究室5 天前
最新大数据毕业设计选题推荐-基于大数据的天气预报预警数据可视化与分析-大数据-Spark-Hadoop-Bigdata
大数据·信息可视化·数据分析·spark·课程设计
ZGi.ai5 天前
开源 AI Agent Runtime:客服截图怎样变成工单?
工作流·智能体·结构化输出·文件解析·zgi·客服工单
IT研究室5 天前
最新大数据毕业设计选题推荐-基于大数据的图书借阅数据可视化分析系统-大数据-Spark-Hadoop-Bigdata
大数据·信息可视化·数据分析·spark·课程设计