Dify+Echarts实现数据可视化


在跟AI对话的过程中,我们有时候可能需要它为我们以图表的形式展现数据,又或者在智能问数的场景下,以图表的方式展现问数的数据结果,可以极大程度提高用户体验性,大概如下图所示:
Dify+Echarts实现数据可视化
话不多说,让我们来看看怎么在dify中做到这样吧。
以下以导入一个Excel文档为例,让Didy输出统计报表。
新建一个ChatFlow,共包括6个步骤,如下图所示:
Dify+Echarts实现数据可视化
1、开始节点:维护可上传文件。
2、文档提取器节点:提取文档内容
Dify+Echarts实现数据可视化
3、大模型处理节点:上一步提取的文档内容提交给大模型整理和转换格式,自行设置好提示词。
Dify+Echarts实现数据可视化
4、参数提取节点:将上一步大模型处理的数据再次做提取。
Dify+Echarts实现数据可视化
5、代码执行节点:使用Python组装Echarts参数。
Dify+Echarts实现数据可视化
代码如下:
import csvimport jsondef main(csv_string):    # 将CSV字符串分割成行    lines = csv_string.strip().split('n')        # 使用csv模块读取数据    reader = csv.reader(lines)        # 将所有行转换为列表    data = [row for row in reader]        # 将数字字符串转换为浮点数    for row in data[1:]:  # 跳过标题行        for i in range(1, len(row)):            try:                row[i] = float(row[i])            except ValueError:                pass        # 创建完整的ECharts配置    echarts_config = {        "legend": {},        "tooltip": {},        "dataset": {            "source": data        },        "xAxis": [            {"type": "category", "gridIndex": 0},            {"type": "category", "gridIndex": 1}        ],        "yAxis": [            {"gridIndex": 0},            {"gridIndex": 1}        ],        "grid": [            {"bottom": "55%"},            {"top": "55%"}        ],        "series": [            # 第一个网格中的柱状图系列            {"type": "bar", "seriesLayoutBy": "row"},            {"type": "bar", "seriesLayoutBy": "row"},            {"type": "bar", "seriesLayoutBy": "row"},            {"type": "bar", "seriesLayoutBy": "row"},            # 第二个网格中的折线图系列            {"type": "line", "xAxisIndex": 1, "yAxisIndex": 1},            {"type": "line", "xAxisIndex": 1, "yAxisIndex": 1},            {"type": "line", "xAxisIndex": 1, "yAxisIndex": 1},            {"type": "line", "xAxisIndex": 1, "yAxisIndex": 1},            {"type": "line", "xAxisIndex": 1, "yAxisIndex": 1},            {"type": "line", "xAxisIndex": 1, "yAxisIndex": 1}        ]    }    # 生成输出文件    output = "```echartsn" + json.dumps(echarts_config, indent=2, ensure_ascii=False) + "n```"    return {"output":output}
6、输出结果。
Dify+Echarts实现数据可视化

调试:可以输入进行调试,调试过程可以看到每个步骤执行的过程,包括执行时间、使用token、输入输出。
Dify+Echarts实现数据可视化
发布:
Dify+Echarts实现数据可视化
运行:点击运行会弹出一个新窗口,就可以直接跟AI聊天了。
Dify+Echarts实现数据可视化

关于Echarts:
在第五步组装Echarts参数,可以参考Echarts官网的图表示例进行组装。
官网:https://echarts.apache.org/zh/index.html
示例:
Dify+Echarts实现数据可视化
Dify+Echarts实现数据可视化

以上以一个Demo的形式介绍在Dify中如何做图表展示,重点还是在组装参数和结果输出,其他可以忽略。如果按照我的步骤还跑不出来的,可以私信我要DSL文件导入测试。

Agent智能体新闻资讯

Dify工作流节点篇(上)

2025-5-7 4:12:30

Agent智能体新闻资讯

吃瓜,Dify 被某医药IT工程师贴脸开 PR 换 Logo,喜提律师函

2025-5-7 6:12:30

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
购物车
优惠劵
搜索