当前位置: 首页 > news >正文

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

1、需求

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

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

2、操作步骤

2.1 开始节点设置添加文件

开始节点设置添加文件
此处设置文件的变量名称为input_file

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

在这里插入图片描述
文档提取器提取到的内容如下:
文档提取器提取到的内容如下

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

通过参数提取器进行参数的提取
提示词如下:

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

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

代码执行节点进行数据的转换
完整的代码如下:


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/%E4%BD%BF%E7%94%A8Echarts%E7%94%9F%E6%88%90%E5%9B%BE%E8%A1%A8.yml

http://www.dtcms.com/a/85887.html

相关文章:

  • LabVIEW FPGA与Windows平台数据滤波处理对比
  • Leetcode 3493. Properties Graph
  • SpringCloud-consul
  • 好用的Markdown阅读编辑器Typora破解记录
  • Midscene.js自然语言驱动的网页自动化全指南
  • 航拍图像阴影自动检测去除算法研究(大纲)
  • C++——权限初识
  • 深度剖析:复制带随机指针的链表算法实现
  • C++STL(三) :list的模拟实现
  • 使用Kubesec检查YAML文件安全
  • Django项目之订单管理part5
  • 前后端+数据库的项目实战:hbu迎新网-较复杂(下)javaweb
  • 运费服务模块通用需求分析
  • 算法刷题整理合集(七)·【算法赛】
  • Java面试黄金宝典12
  • STM32基础教程——PWM驱动LED呼吸灯
  • 【数理基础】【概率论与数理统计】概率论与数理统计本科课程总结、资料汇总、个人理解
  • 《AI大模型开发笔记》企业RAG技术实战(二)
  • AI比人脑更强,因为被植入思维模型【19】三脑理论思维模型
  • 我未来计划的Computer Use产品与对照组,即迷你版的AIGC中文脚本语言的区别
  • 本地部署Dify 添加Ollama模型DeepSeek
  • 2024年数维杯数学建模C题天然气水合物资源量评价解题全过程论文及程序
  • 全星研发管理 APQP 软件系统:以功能优势赋能企业研发
  • 死锁:当程序 “卡住“ 时,发生了什么?
  • UDP套接字编程(代码)
  • 聊聊langchain4j的MCP
  • TreeKEM 原理解析
  • ACF介绍及选用规则
  • CF1011(Div.2)A~D
  • 数组,指针 易混题解析(二)