新闻详情

新闻详情

首页 / 资讯中心 / 详情

如何让LLM帮你选对图表?Data-Analysis-Agent推荐引擎的Prompt工程与JSON解析揭秘

发布时间:2026/10/2 21:16:38来源:尧图网络
如何让LLM帮你选对图表?Data-Analysis-Agent推荐引擎的Prompt工程与JSON解析揭秘
如何让LLM帮你选对图表Data-Analysis-Agent推荐引擎的Prompt工程与JSON解析揭秘【免费下载链接】Data-Analysis-Agent你的私人数据分析助手。通过对话式交互自动生成可视化报表与商业洞察让数据决策变得像聊天一样简单。 Your personal data analysis assistant. Say goodbye to complex SQL and Excel formulas. An LLM-powered data analysis agent. Chat with your data to instantly generate visualizations and business insights. Making>项目地址: https://gitcode.com/gh_mirrors/vi/Data-Analysis-AgentData-Analysis-AgentVizPilot AI是一个 LLM 驱动的智能图表推荐与生成系统上传 Excel 或 CSV 数据后它会自动分析字段类型与数据特征由大语言模型推荐 3-5 个最合适的图表并附理由、星级评分和字段映射建议最终一键生成交互式 HTML 报表。整个过程像聊天一样简单让数据决策告别复杂 SQL 和 Excel 公式。上面是系统首页。左侧完成数据上传和 LLM 提供商配置右侧是图表网格——这份列表并非手写死而是由 charts/registry.py 注册表统一驱动新增图表只需改一处前后端自动同步。一图看懂推荐链路整个智能推荐可以拆成五步全部封装在 LLM/llm_recommender.py读数据解析 CSV/XLSX自动识别数值列与文本列见 core/loader.py拼 Prompt把数据特征 图表白名单 输出格式约定打包成提示词调 LLM以temperature0.2的低随机度请求保证输出稳定解析 JSON多级容错提取推荐数组严格校验白名单过滤 字段映射补全输出干净结果给前端Prompt工程的三个关键设计1. 角色锚定让模型只说人话图表Prompt 以「你是数据可视化专家」开头见 LLM/llm_recommender.py。这一句看似平常其实把模型的知识空间约束到了数据可视化领域减少无关发散是 Prompt 工程里最基础也最有效的技巧之一。2. 动态图表白名单注册表即 Prompt这是本项目最巧妙的设计。函数build_charts_definition()每次都会从charts/registry.py实时生成图表目录注入 PromptAVAILABLE CHART TYPES (ONLY use these chart_id values): [对比类 COMPARING] chart_id: Bar_Chart name: 柱状图 desc: 通过矩形高度编码数值最常用的比较图表 required_fields: x, y ...好处有三永不失配注册表加一个图表Prompt 立刻多出对应选项LLM 永远不会推荐系统里根本不存在的图表带字段契约每个图表的required_fields如source, target, value一并告知 LLM让它提前按字段结构推荐而不是拍脑袋按优先级排序priority高的图表排在前面利用 LLM 对靠前内容权重更高的特性自然提高热门图表被选中的概率3. 结构化输出约定给 LLM 一张答题卡Prompt 末尾明确要求返回 JSON 数组每个推荐包含chart_id、stars五星~一星推荐、reason、field_mapping、columns_to_keep、data_processing六个字段并给出四条硬约束field_mapping必须覆盖所有required_fields列名必须是数据中真实存在的列只推荐注册表中存在的图表最多推荐 5 个图表这套答题卡式约定是后续 JSON 解析能够高成功率的根基——模型连往哪个格子里填都知道翻车概率自然低。JSON解析的三级容错LLM不是每次都听话再好的 Prompt 也无法保证 LLM 100% 按格式返回。extract_and_parse_json()采用了经典的三级回退策略第一级直接json.loads如果模型很乖返回的就是纯 JSON 数组一步到位。第二级提取围栏代码块很多模型会把 JSON 包在json ... 里。正则同时匹配带语言标记和裸围栏两种形式for p in [rjson\s*(.*?)\s*, r\s*(.*?)\s*]:第三级暴力截取最外层方括号最兜底的一招找到第一个[和最后一个]之间的内容再用正则re.sub(r,(\s*[\]}]), r\1, ...)顺手清掉 JS 风格的尾逗号这是 LLM 输出 JSON 最常见的翻车点然后再次尝试解析。三级全部失败才返回None前端会提示重试。这种能救则救的容错设计是 LLM 工程里对抗输出不稳定的通用思路。严格校验层白名单 字段映射双重兜底拿到 JSON 后还不能直接相信sanitize_and_validate_recommendations()会做一轮警察工作白名单过滤chart_id不在charts/registry.py里的直接丢弃防止模型幻觉出waterfall_chart_v2之类的野名星级纠偏星级字段只接受五星/四星/…/一星推荐六个合法值否则统一回填为三星字段映射瘦身只保留该图表required_roles和optional_roles中允许的角色名且值必须是真实列名必填检查required_fields缺一个就整条丢弃——宁缺毋滥避免生成时报错兼容回填对 XY 图老字段x_label/y_label会自动回填进field_mapping平滑过渡列名吸附自动把field_mapping中指向真实列的值并入columns_to_keep保证下游绘图模块拿到的列一定存在经过这一层返回给前端的推荐列表已经是可安全执行的干净数据。多 LLM 提供商一个配置面板切换 DeepSeek / OpenAI / 自定义推荐引擎与具体模型解耦。LLM/llm_config_manager.py 统一管理内置提供商DeepSeek、OpenAI、Claude和用户自定义的 OpenAI 兼容接口配置持久化在 LLM/llm_config.json。在页面 Settings 面板填入 API Key 并保存后调用analyze_data_with_llm()时会通过get_llm_client(provider)动态构造客户端无需改一行代码即可切换模型。这也是Prompt 工程落地的重要一环Prompt 写得好模型换得快。如上图当上传的数据包含source/target/value三列时LLM 给出五星推荐 桑基图理由和字段标签一目了然右侧图表网格中桑基图卡片同步高亮——这是推荐结果直接驱动前端 UI 的体现。图表详情页把推荐讲明白双击任一图表卡片可打开详情页左侧展示来自 charts/ 目录下各图表 README 的元数据分类、所需列、约束右侧是 Plotly 交互式示例帮助新手在点击生成前心里有数。规则引擎与 LLM 的双保险除 LLM 推荐外项目还提供了基于规则的 core/recommender_rules.py 推荐引擎根据列类型组合时间列数值列→折线图、双数值列→散点图、地理列→地图…做确定性匹配规则阈值集中定义在 LLM/chart_rules.yaml。LLM 负责聪明的解释规则负责兜底的确定性两者互为备份推荐结果既稳又准。上手只需三步安装依赖pip install -r requirements.txt详见 requirements.txt启动服务python app.py或 Windows 下双击 start.bat浏览器访问http://localhost:5017上传文件 → 配置 API Key → 点发送 → 选图生成写在最后Data-Analysis-Agent 的推荐引擎给所有做 LLM 应用的人上了三节课Prompt 不是模板是接口——把动态数据源注册表注入 Prompt让模型永远与系统状态同步JSON 解析要有三级火箭——直接解析 → 抽围栏 → 截方括号清尾逗号容错到位成功率翻倍校验层不能省——LLM 输出必须过一次白名单 契约校验才能安全进入生产链路掌握这套组合拳你也能把任何让 LLM 帮我选/写/生成 X的场景做得又稳又省心。【免费下载链接】Data-Analysis-Agent你的私人数据分析助手。通过对话式交互自动生成可视化报表与商业洞察让数据决策变得像聊天一样简单。 Your personal data analysis assistant. Say goodbye to complex SQL and Excel formulas. An LLM-powered data analysis agent. Chat with your data to instantly generate visualizations and business insights. Making>项目地址: https://gitcode.com/gh_mirrors/vi/Data-Analysis-Agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

2026年论文党必备:TaoToken 统一 Key 接入降AI率工具实测与配置清单 2026/10/2 22:08:11

2026年论文党必备:TaoToken 统一 Key 接入降AI率工具实测与配置清单

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
TLQ 7/8消息中间件运维常用命令与故障排查实战指南 2026/10/2 22:08:03

TLQ 7/8消息中间件运维常用命令与故障排查实战指南

拿到TLQ 7/8这套消息中间件的时候,很多运维同事的第一反应是:这玩意儿不就是国产消息队列嘛,思路应该和RabbitMQ、Kafka差不太多。可真到了配置环境、启服务、查队列、定位故障的时候才发现,命令一多就容易乱,今天记住了明天又得翻手册。尤其是从TLQ 7升级到TLQ 8之后,部分命令…

阅读更多 →
OpenClaw on reComputer:隐私优先的边缘情绪识别Agent部署指南 2026/10/2 22:08:01

OpenClaw on reComputer:隐私优先的边缘情绪识别Agent部署指南

1. 项目概述:为什么在 reComputer 上跑 OpenClaw 是个“隐私优先”的硬核选择OpenClaw on reComputer —— 这个标题乍看像一串技术缩写堆砌,但拆开来看,它其实指向一个正在快速成型的边缘智能新范式:把高敏感度的情绪识别&#x…

阅读更多 →
SpringBoot+Vue3+MyBatis流浪动物救助平台源码解析 2026/10/2 22:08:00

SpringBoot+Vue3+MyBatis流浪动物救助平台源码解析

1. 从小区流浪猫说起:这套系统到底解决的问题是什么我最初关注流浪动物救助,是因为小区楼下那只橘猫。它有固定的喂食点,有志愿者拍照发朋友圈,但信息散在十几个群里,今天谁喂了、明天猫在哪、有没有生病,全…

阅读更多 →
Unity新输入系统实现鼠标单击、双击、长按判定与事件分发框架 2026/10/2 22:07:41

Unity新输入系统实现鼠标单击、双击、长按判定与事件分发框架

最近在做一个需要同时支持鼠标左键单击、双击、长按三种操作的小项目,切换到 Unity 的 New Input System 之后,第一版代码写得非常简陋:一个 MonoBehaviour 里塞满了 if 判断、时间戳和一堆“状态变量”。加功能只敢加在同一个文件里&#xf…

阅读更多 →
SkillClaw快速上手教程:5步装好你的AI Agent技能自动进化代理 2026/10/2 22:07:33

SkillClaw快速上手教程:5步装好你的AI Agent技能自动进化代理

SkillClaw快速上手教程:5步装好你的AI Agent技能自动进化代理 【免费下载链接】SkillClaw Let Skills Evolve Collectively with Agentic Evolver 项目地址: https://gitcode.com/gh_mirrors/sk/SkillClaw SkillClaw 是一款面向 AI Agent 的技能自动进化工具…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉