news 2026/6/9 22:49:21

将班上一系列同学的考试成绩一键转换成柱状图

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
将班上一系列同学的考试成绩一键转换成柱状图

成都地区的中考内卷程度是全国出了名的。孩子升上初中后,周考和月考增加,很多家长每次考完试后,都关注自己孩子在班上优生中的成绩排名。

老师把成绩单发布到群之后,假设家长拿到的是这样的文本数据:

title:英语单元过关单 郝宇:80 汪子熙:90 赵轩:80 王程:90 余星:93 张宇:89

家长希望根据上面的数据自动生成一张柱状图,X 轴是学生姓名,Y 轴是学生成绩。

在过去这个需求可以轻易在 Excel 里实现,不过需要若干次鼠标的点击。

AI 工具普及之后,我们当然也可以把上面的数据,发给大模型,然后编写一些提示词,让大模型生成柱状图。

这种方式理论上可行,但是存在两个弊端:

  • 每次使用都需要编写提示词,浪费时间
  • 更大的问题是,大语言模型完成这种柱状图生成任务时仍然存在幻觉,会出现生成的图表数据紊乱的情况

更高效准确的做法当然是使用扣子工作流。

笔者已经开发了一个这样的工作流,源代码下载链接:

使用方法也很简单,输入数据:

title:英语单元过关单 郝宇:80 汪子熙:90 赵轩:80 王程:90 余星:93 张宇:89

点击试运行按钮:

最后生成的柱状图图片链接如下:

下面是这个工作流详细的拆解。

首先是信息提取节点,这个节点的职责,是将用户输入的以换行符号分隔的每个学生的姓名和成绩做处理,让它们成为柱状图生成节点所能接收的数据输入格式。

这个节点不需要写代码实现这些格式处理,用大模型来处理就足够了。大模型类型还是选择豆包·1.5

系统提示词:

用户输入的内容为字符串,每一行都是形如A:B的字符串,通过换行符号区分行与行。 第一行的A固定为 title,B为 title 的值。 从第二行开始,每一行的A代表学生姓名,B代表学生成绩。 请你将第一行的 title 值提取出来,存储到输出变量 title 中。 从第二行开始的学生姓名,按照顺序插入到输出变量 names 中。 输出变量 names 的初始值是 "[]". 假设第一个插入的学生姓名是 A,插入之后,names 的值变成了 "["A"]", 再插入第二个值 B,names 的值就是 "["A", "B"]", 以此类推。 从第二行开始的学生成绩,按照顺序插入到输出变量 scores 中。 输出变量 scores 的初始值是 "[]". 假设第一个插入的学生成绩是 89,插入之后,scores 的值变成了 "[89]", 再插入第二个值 100,scores 的值就是 "[89, 100]", 以此类推。

用户提示词:

定义三个输出变量:

  • title:存放柱状图图片
  • names:字符串,存放所有的学生姓名,像这种格式:[“张三”,“李三”,“王二”]。为什么要这种格式?因为后面的柱状图生成节点需要这种格式。
  • scores:字符串,存放所有的学生成绩,像这种格式:[98,100,99]。

看一个输出的例子:

接下来我们选择添加节点->插件

搜索栏里输入关键字图表,然后搜索结果里看到图表大师这个插件:

单击,选择下面的子类bar_charts,再点击添加即可。

点击查看示例,可以看到这个插件接收的输入参数的格式

因为我们第一个信息提取的节点,只提取了全部的学生姓名和成绩,格式和这个柱状图生成节点需要的输入格式有差异,因此我们再使用一个代码节点,进行格式转换操作。

新建一个代码节点,定义namesscores两个输入参数,绑定到前一个名叫信息提取的大模型节点的同名输出参数上。

这个代码节点的输出参数定义,其实就是比照着柱状图生成节点需要的输入参数的格式来定的:

代码:

// 在这里,您可以通过 'params' 获取节点中的输入变量,并通过 'ret' 输出结果// 'params' 已经被正确地注入到环境中// 下面是一个示例,获取节点输入中参数名为'input'的值:// const input = params.input;// 下面是一个示例,输出一个包含多种数据类型的 'ret' 对象:// const ret = { "name": '小明', "hobbies": ["看书", "旅游"] };asyncfunctionmain({params}:Args):Promise<Output>{// 构建输出对象constret={"data":params.scores,"legend":1,"xAxis":{"data":params.names,"name":"姓名","type":"category"},"yAxis":{// 输出一个Object"name":"分数","type":"value"},};returnret;}

下面是这个代码节点的一个输出例子:

图表生成

最后使用刚刚添加的图表生成的节点,完成柱状图的生成。这个节点的输入参数我们不用手动定义,直接将它们逐一绑定到前一个代码节点的同名输出参数即可。

该节点的输出参数是生成柱状图的 url.

至此这个工作流就拆解完毕了,希望对大家有用。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 6:44:27

CRNN OCR与知识管理系统的无缝集成方案

CRNN OCR与知识管理系统的无缝集成方案 &#x1f4d6; 项目简介&#xff1a;高精度通用 OCR 文字识别服务&#xff08;CRNN版&#xff09; 在数字化转型加速的今天&#xff0c;非结构化文档信息提取已成为知识管理系统的核心能力之一。传统OCR工具在面对复杂背景、模糊图像或…

作者头像 李华
网站建设 2026/6/10 9:52:21

Mamba架构助力语音合成:Sambert-Hifigan镜像深度优化揭秘

Mamba架构助力语音合成&#xff1a;Sambert-Hifigan镜像深度优化揭秘 &#x1f3af; 引言&#xff1a;中文多情感语音合成的现实挑战 随着智能客服、虚拟主播、有声阅读等应用场景的爆发式增长&#xff0c;高质量中文多情感语音合成&#xff08;Text-to-Speech, TTS&#xff09…

作者头像 李华
网站建设 2026/6/10 9:49:22

1小时验证抢票创意:AI原型开发实战

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个抢票脚本的最小可行产品(MVP)&#xff0c;只需实现核心功能&#xff1a;1.车次查询 2.余票检测 3.简单下单。要求&#xff1a;1.使用最简代码结构 2.突出核心算法 3.忽略非…

作者头像 李华
网站建设 2026/6/10 13:06:34

高效实验:用Llama Factory快速验证你的想法

高效实验&#xff1a;用Llama Factory快速验证你的想法 作为一名AI研究员或开发者&#xff0c;当你灵光一现有了新的算法想法时&#xff0c;最迫切的需求就是快速验证它是否可行。传统的手动实现和测试流程往往耗时费力&#xff0c;而Llama Factory正是为解决这一痛点而生的高效…

作者头像 李华
网站建设 2026/6/10 13:29:51

一键构建AI面试官:基于Llama Factory的岗位JD适配微调实战

一键构建AI面试官&#xff1a;基于Llama Factory的岗位JD适配微调实战 为什么需要定制化AI面试官&#xff1f; HR团队在初筛简历时常常面临一个痛点&#xff1a;通用大语言模型虽然能处理文本&#xff0c;但无法准确理解"5年JAVA开发经验"或"熟悉Spring Cloud微…

作者头像 李华
网站建设 2026/6/5 4:10:48

AI播客制作流程:文案生成→语音合成→后期剪辑全自动化

AI播客制作流程&#xff1a;文案生成→语音合成→后期剪辑全自动化 引言&#xff1a;AI时代的内容生产新范式 随着大模型技术的成熟&#xff0c;AI驱动的内容创作正在重塑媒体生态。传统播客制作依赖专业团队完成脚本撰写、录音、剪辑等环节&#xff0c;周期长、成本高。如今…

作者头像 李华