在Dify中使用Echarts生成一个图表

1、需求

Dify中通过文件上传的方式,获取到文件数据,然后通过Echarts进行图表的展示。

整体思路如下: 开始节点(文件上传 ) -> 文档提取器(获取文档内容 ) -> 参数提取器(整理需要获取的参数 )-> 代码执行节点(构建echarts图表需要的参数 )-> 显示节点(进行图表的展示

2、操作步骤

2.1 开始节点设置添加文件

此处设置文件的变量名称为input_file

2.2 通过文档提取器提取文档中的内容


文档提取器提取到的内容如下:

2.3 通过参数提取器进行参数的提取

提示词如下:

复制代码
将输入转换成一个字符串,示例如下 :
"[['1月', '2月'], ['260','60']]"

2.4 代码执行节点进行数据的转换


完整的代码如下:

js 复制代码
function main({json_str}) {
    // 1. 替换单引号为双引号(JSON标准格式)
    let jsonString = json_str.replace(/'/g, '"');
    // 2. 解析为 JavaScript 数组
    const json = JSON.parse(jsonString);
console.info(json);
    let option = {
        xAxis: {
            type: 'category',
            data: json[0]
        },
        yAxis: {
            type: 'value'
        },
        series: [
            {
            data: json[1],
            type: 'bar',
            showBackground: true,
            backgroundStyle: {
                color: 'rgba(180, 180, 180, 0.2)'
            }
            }
        ]
    };

   let output = "```echarts\n" + JSON.stringify(option) + "\n```";

    return {
        result: output
    }
}

2.5 添加显示节点显示图表

3、运行结果

4、完整DSL文件

https://gitee.com/huan1993/configuration/blob/master/ai/dify/使用Echarts生成图表.yml

相关推荐
维元码簿1 小时前
Claude Code 深度拆解:多 Agent 协作 3 — Task 状态机、SendMessage 与消息邮箱
ai·agent·claude code·ai coding
二哈赛车手1 小时前
新人笔记---实现简易版的rag的bm25检索(利用ES),以及RAG上传时的ES与向量数据库双写
java·数据库·笔记·spring·elasticsearch·ai
AI进化营-智能译站1 小时前
ROS2 C++开发系列07-高效构建机器人决策逻辑,运算符与控制流实战
开发语言·c++·ai·机器人
运维小子2 小时前
Claude Code 权限配置完全指南
ai·claude
AI进化营-智能译站3 小时前
ROS2 C++开发系列13-运算符重载让ROS2消息处理更自然
java·开发语言·c++·ai
翔云1234563 小时前
大模型训练框架全景解析(2026最新)
ai·大模型
翔云1234563 小时前
大模型部署全流程深度解析
人工智能·ai·大模型
孟柯coding4 小时前
教程:在 Windows WSL 中为 Codex 接入 DeepSeek V4 Pro
ai·ai编程
翔云1234564 小时前
vLLM 全部8种部署方式(按从简单到企业级排序,附适用场景+最简命令)
人工智能·ai·大模型
whyfail4 小时前
AI 平台订阅套餐 Coding Plan 、Token Plan对比指南(2026年4月)
人工智能·ai·chatgpt·订阅套餐·平台对比