在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

相关推荐
GEM的左耳返3 小时前
互联网大厂Java面试:微服务与AI技术深度交锋
spring cloud·ai·微服务架构·java面试·rag技术
姜 萌@cnblogs6 小时前
Saga Reader 0.9.9 版本亮点:深入解析核心新功能实现
前端·ai·rust
奋进的孤狼10 小时前
【Spring AI】阿里云DashScope灵积模型
人工智能·spring·阿里云·ai·云计算
哥不是小萝莉19 小时前
CocoIndex实现AI数据语义检索
ai·cocoindex
charlee4420 小时前
PandasAI连接LLM进行智能数据分析
ai·数据分析·llm·pandasai·deepseek
九河云1 天前
从 “制造” 到 “智造”:中国制造业数字化转型的突围之路
科技·ai·制造·数字化转型·传统
yeshan3331 天前
使用 Claude Code 的自定义 Sub Agent 完善博文写作体验
ai·github·agent·claudecode
戴维-davy1 天前
什么?智能体生成智能体?自我进化?
ai·agent·智能体
守城小轩1 天前
从零开始学习Dify-数据库数据可视化(五)
ai·ai客服·ai浏览器
友莘居士1 天前
Dify中的Agent和发现和调用mcp工具两个节点调用的异同
agent·react·dify·functioncalling·mcp