尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

开发者指南:3步为Data-Analysis-Agent新增一种图表,无需改动主流程代码

开发者指南:3步为Data-Analysis-Agent新增一种图表,无需改动主流程代码 开发者指南3步为Data-Analysis-Agent新增一种图表无需改动主流程代码【免费下载链接】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 数据后它会自动分析字段特征、推荐合适的图表类型并一键生成交互式 HTML 可视化报表。得益于其Registry 注册中心架构所有图表元数据统一维护在单点新增一种图表只需 3 步无需改动任何主流程代码——前端列表、LLM 推荐、图表生成会自动识别你的新图表。为什么是零主流程改动这个项目的图表系统采用Registry 驱动设计核心理念是图表实现与图表元数据解耦模块职责相关路径图表元数据中心单点维护所有图表目录single source of truthcharts/registry.py统一接口协议定义generate()签名与ChartResult返回结构charts/base.py图表生成调度按chart_id动态导入charts.chart_id模块chart_generate.pyLLM 推荐引擎以 REGISTRY 为白名单只推荐已注册的图表LLM/llm_recommender.py前端页面通过 app.py 的/api/charts接口调用list_charts()拉取图表列表LLM 推荐引擎则直接读取REGISTRY做白名单过滤。也就是说只要你的图表进了注册表 有对应目录整条链路就自动打通了。第一步新建图表目录实现统一接口以新增一个菱形图 Diamond_Plot为例在charts/下新建目录包含 3 个文件result.html可选charts/ └── Diamond_Plot/ ├── __init__.py ├── chart.py # 核心图表生成实现 ├── README.md # 图表说明详情页会渲染它 └── result.html # 静态示例可选chart.py里只需暴露一个generate函数遵循 charts/base.py 定义的统一接口# 统一签名接收 DataFrame 字段映射 选项返回 ChartResult def generate(dfNone, mappingNone, optionsNone, **kwargs) - ChartResultmapping字段映射字典如{x: 国家, y: GDP}通过mapping.get(x)读取实际列名options前端传入的选项如标题、配色color_scheme可调用 charts/color_schemes.py 获取统一配色返回值必须构造ChartResult(html..., warnings..., meta...)其中html是完整的可交互 HTML 字符串一般用 Plotly 的pio.to_html生成。建议直接参考最简实现 charts/Bar_Chart/chart.py字段解析 → 数据清洗 →px.bar绘图 →_build_html包装页面 → 返回ChartResult。同时为目录编写一份 README.md 风格的说明文档用户双击图表卡片查看详情页时会看到它第二步在注册中心登记图表元数据打开 charts/registry.py在REGISTRY列表中追加一条ChartMetadata记录。这是新图表被系统看见的关键ChartMetadata( chart_idDiamond_Plot, # 必须与目录名完全一致 name菱形图, category对比类 COMPARING, # 六大分类之一 min_fields2, # 所需最少列数 required_roles[x, y], # 必填字段角色 optional_roles[color], # 可选字段角色 desc用菱形大小与位置编码两个维度适合对比分析, data_formatx列(类别) y列(数值), constraints类别数建议≤20, supports_timeFalse, )几个易错点⚠️chart_id必须与新建的目录名逐字一致区分大小写因为 chart_generate.py 通过importlib.import_module(fcharts.{chart_type})动态加载模块desc/data_format/constraints会直接喂给 LLM 作为推荐依据写得越具体推荐越准category请从现有六大分类对比类 / 时间趋势类 / 分布类 / 地理类 / 关系类 / 占比图中选择一个前端按此分组展示。注册完成后该图表立即进入 LLM 推荐的候选白名单第三步重启服务验证全链路生效安装依赖并启动应用依赖见 requirements.txtpip install -r requirements.txt python app.py # Windows 也可直接双击 start.bat然后访问http://localhost:5017按以下清单验证✅ 新图表出现在首页图表网格中且归入正确分类✅ 双击卡片能看到你写的 README 详情页✅ 上传数据并触发 LLM 推荐新图表可被推荐命中✅ 选中后点击生成能输出交互 HTML 并保存到 outputs/ 目录下载。常见问题与最佳实践图表生成了但列表里看不到99% 是chart_id与目录名不一致或忘了把ChartMetadata加进REGISTRY后重启服务。详情页空白检查charts/ChartName/README.md是否存在——详情接口直接从该目录读取 app.py 中的/api/chart-detail/chart_id路由。命名规范目录名建议使用项目现有的大写下划线风格如Stacked_Bar_Chart与chart_id保持一致。字段不足时优雅降级参考 charts/Bar_Chart/chart.py 的做法字段缺失时不要抛异常而是把原因写入ChartResult.warnings前端会友好提示用户。唯一准则图表数量、分类以 charts/registry.py 为唯一准源README 与代码不一致时以 registry 为准。按照以上 3 步你就可以在不触碰任何主流程代码的前提下把新图表平滑地接入 Data-Analysis-Agent 的上传 → 推荐 → 生成全流程让你的可视化工具箱再多一种表达数据的方式 【免费下载链接】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),仅供参考
返回列表