还在为数据可视化头疼?微软研究院的开源项目 Data Formulator,让你告别代码,拥抱 AI!UI 拖拽 + 自然语言,动动手指、说说话,就能搞定复杂图表。无论你是数据小白还是专家,Data Formulator 都能帮你轻松驾驭数据,发现隐藏的洞察,成为数据可视化达人!
数据可视化,AI 时代的“水晶球”
数据时代,信息爆炸。如何从海量数据中挖掘价值、预测趋势?数据可视化,就是你的“水晶球”。它让数据“说话”,一眼洞察本质,发现规律。
想象一下,你是餐厅老板,面对每日营业数据却无从下手。传统工具虽强大,但操作复杂,学习成本高。你可能要花大量时间学习,或求助专业人士,才能做出想要的图表。
现在,AI 让数据可视化迎来变革! AI 工具能自动处理数据、生成图表,还能理解你的自然语言指令。这就像给餐厅老板配了位“AI 参谋”,数据分析从未如此简单高效。
Data Formulator:数据可视化,这么玩!
什么是 Data Formulator?
Data Formulator 是微软研究院的颠覆性 AI 数据可视化工具。它打破传统,将 UI 操作的直观性与自然语言的灵活性完美融合,带来前所未有的体验。
传统工具像“复杂乐高”,Data Formulator 则是“智能积木”,你只需告诉它你想要什么,它就自动帮你完成。
Data Formulator 的核心优势:
• 零代码: 告别代码,告别加班!拖拽、点选、说话,就能搞定数据转换和图表生成。
• AI 赋能: AI 大模型自动处理数据,生成高质量图表,效率提升十倍!
• 灵活迭代: 探索数据就像“寻宝”,Data Formulator 让你随时调整策略,从不同角度反复推敲,直至找到“宝藏”。
• 开源免费: 人人可用,可修改,可分享,让 AI 的力量惠及每个人。
谁适合使用 Data Formulator?
• 数据分析师: 告别繁琐数据处理,专注数据洞察和业务决策。
• 业务人员: 快速创建报表,监控关键指标,及时发现问题。
• 数据科学家: 验证数据模型,进行数据驱动的实验探索。
• 学生/研究人员: 更直观便捷地学习和研究数据可视化。
• 其他任何人: 只要你需要与数据打交道,Data Formulator 都是你的得力助手。
深入 Data Formulator 的“魔法”
Data Formulator 就像一位“AI 魔法师”,将复杂过程隐藏在幕后,让你只需关注数据本身,就能轻松创作出惊艳的可视化作品。
多模态交互:UI 与自然语言的“珠联璧合”
Data Formulator 的核心创新,在于其多模态交互界面。 它将传统 UI 操作(拖拽、选择等)与自然语言输入结合,让你“左右开弓”,自由切换,高效操作。
概念编码架(Concept Encoding Shelf):可视化“指挥中心”
概念编码架是 Data Formulator 的核心交互区,就像可视化“指挥中心”。你可以在这里:
• 拖拽字段: 像搭积木,将字段拖到视觉通道(x 轴、y 轴、颜色等),定义图表样式和内容。
• 输入指令: 直接输入字段名或自然语言描述,告诉 Data Formulator 你想要什么,就像给“AI 魔法师”下指令。
Data Formulator 会智能理解你的意图,自动生成数据转换和图表,就像一位“心有灵犀”的助手。
数据线程(Data Threads):数据探索“时光机”
数据线程是另一大亮点。它记录你每一步操作:数据转换、图表生成、参数调整。
你可以随时通过数据线程回溯历史,查看之前的结果,或在之前图表基础上修改迭代,就像有“时光机”,在数据“历史长河”中自由穿梭。
图表规范与数据转换:分而治之,合而为一
Data Formulator 的设计哲学:“分而治之,合而为一”:
分而治之:解耦复杂任务
图表样式规范(选类型、配通道)与数据转换(筛选、聚合、计算)解耦,让你专注当前任务,无需在不同工具间切换。就像“交响乐”分解为不同乐章,分别练习,最后合奏。
合而为一:UI 与 AI 无缝协作
概念编码架和 AI 引擎将二者无缝整合。同一界面完成全流程,无需代码,就像 UI 和 AI 两位“大师”联手创作。
AI 驱动的数据转换:幕后“魔法师”
Data Formulator 的核心竞争力:强大的 AI 数据转换引擎。 就像幕后“魔法师”,自动理解你的指令,生成 Python 代码执行转换。
支持各种常见转换操作:
• 数据筛选: 轻松过滤,例如“只显示最近 30 天数据”。
• 数据聚合: 分组、汇总,快速计算,例如“按产品类别计算总销售额”。
• 数据排序: 升序、降序,例如“按客户消费金额排序”。
• 数据计算: 基于现有字段,计算新字段,例如“计算利润率”。
• 数据重塑: 改变结构,例如“‘日期’列拆分为‘年’、‘月’、‘日’”。
自然语言描述需求,Data Formulator 帮你搞定,就像“私人订制”数据专家。
迭代式探索:像“侦探”一样抽丝剥茧
Data Formulator 鼓励你像“侦探”一样,迭代探索。你可以:
1. 由浅入深: 简单图表开始,逐步添加字段、调整参数、修改条件,不断优化,就像“剥洋葱”。
2. 回溯追踪: 随时回到之前状态,重新探索,尝试不同方案,就像“时光倒流”。
3. 对比分析: 多个图表组合,多角度对比,发现隐藏规律,就像“多棱镜”。
多模态交互和数据线程,提供强大迭代支持,让你尽情探索,就像“探险家”在数据“迷宫”中自由穿梭,直至找到“真相”。
代码解析:Data Formulator 的“智慧引擎”
深入剖析核心代码,揭秘“智慧引擎”。
请求处理流程:用户指令到可视化
Data Formulator 后端用 Flask 框架,通过 RESTful API 接收前端请求。处理数据派生请求的关键代码:
@app.route('/derive-data', methods=['GET', 'POST'])
def derive_data():
if request.is_json:
content = request.get_json()
# ... 获取模型客户端、输入数据、指令等 ...
# 判断是数据转换还是推荐
mode = "transform" if len(new_fields) > 0 else "recommendation"
# 选择 Agent
if mode == "recommendation":
agent = DataRecAgent(client, model)
results = agent.run(input_tables, instruction)
else:
agent = DataTransformationAgentV2(client=model)
results = agent.run(input_tables, instruction, [f['name'] for f in new_fields])
# 错误修复(最多一次)
# ...
# 返回结果
response = flask.jsonify({ "token": token, "status": "ok", "results": results })
else:
response = flask.jsonify({ "token": "", "status": "error" })
response.headers.add('Access-Control-Allow-Origin', '*')
return response
代码解读:
1. 接收请求: 前端点击“Formulate”,发送
POST
请求到/derive-data
。2. 解析数据: 获取模型信息、输入数据、新字段、指令。
3. 模式选择: 有新字段为
transform
,否则为recommendation
。4. Agent 调用:
DataRecAgent
推荐,DataTransformationAgentV2
转换。5. 错误修复: 若出错,尝试让 LLM 修复代码。
6. 返回结果: JSON 格式返回结果。
数据处理核心:DataLoadAgent
和 DataTransformationAgentV2
•
DataLoadAgent
: “数据管家”,初始加载和预处理。• 接收原始数据,利用 LLM 清洗、分析。
• 识别缺失值、异常值、数据类型。
• 生成数据摘要。
•
DataTransformationAgentV2
: “数据魔术师”,执行数据转换。• 根据指令和数据,生成 Python 代码。
• 支持筛选、聚合、排序、计算等。
• “魔法”步骤:
1. 构建 Prompt: 指令、数据、上下文组合成 Prompt。
2. 调用 LLM: Prompt 给 LLM,生成 Python 代码。
3. 执行代码: 数据“变身”。
AI 模型调用:与 LLM“对话”
response = client.chat.completions.create(
model=model,
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "用户指令"},
]
)
•
get_client
创建 LLM 连接,像“桥梁”。•
chat.completions.create
发请求、获响应,像“对话”。•
messages
:对话历史。•
"role": "system"
:定义 LLM 角色。•
"role": "user"
:用户指令。
Data Formulator 支持多种 LLM 模型,按需选择。
用户案例:Data Formulator 实战
微软用户研究,让参与者用 Data Formulator 完成真实任务。
研究设计:
• 参与者: 8 位不同背景、经验的用户。
• 任务: 复现两个案例,创建 16 个图表(12 个需复杂转换)。
• 案例 1: 大学专业收入分析。
• 案例 2: 电影数据分析。
用户反馈:
• 效率提升: 速度显著提高,尤其复杂任务。
• 易用性: 多模态交互、数据线程很直观。
• 迭代支持: 轻松回溯、修改、尝试。
迭代策略:
• 渐进式: 简单图表开始,逐步添加、调整。
• 回溯式: 回到之前,重新探索。
• 组合式: 多个图表组合,讲故事。
任务完成:
所有参与者成功完成,平均不到 1 小时,证明易用性和高效性。
对比:Data Formulator vs 现有工具
与传统工具(Tableau、Power BI)
特性 | Data Formulator | Tableau/Power BI |
数据转换 | AI 驱动,自动生成代码 | 手动操作或脚本编写 |
交互方式 | 多模态(UI + 自然语言) | 传统 UI 操作 |
迭代式探索 | 数据线程强力支持 | 支持有限 |
学习曲线 | 更低 | 较高 |
灵活性 | 更高 | 相对较低 |
优势 | AI赋能,操作更简便,支持自然语言交互,迭代更灵活 | 功能丰富,社区支持强大,适合专业人士 |
不足 | 对AI依赖性强,可定制性相对较弱 | 操作复杂,学习曲线陡峭,数据转换能力有限 |
Data Formulator 在数据转换、交互、迭代、学习曲线有优势,Tableau/Power BI 功能丰富、社区强大。
与 AI 工具(LIDA、ChartGPT)
特性 | Data Formulator | LIDA/ChartGPT |
交互方式 | 多模态(UI + 自然语言) | 自然语言为主 |
迭代式探索 | 数据线程强力支持 | 有限支持或不支持 |
可控性 | UI 精细控制,自然语言辅助 | 自然语言描述,可控性较弱 |
数据转换 | 支持更复杂转换 | 能力相对较弱 |
可解释性 | 代码+解释,易理解 | 较弱,难理解 AI 决策 |
优势 | UI和自然语言结合,迭代更方便,可控性更强,数据转换能力更出色 | 纯自然语言交互,上手快 |
不足 | 对UI的依赖性强,纯自然语言交互场景受限 | 迭代支持不足,可控性弱,数据转换能力有限 |
Data Formulator 交互、迭代、可控性、转换能力、可解释性更优,LIDA/ChartGPT 纯自然语言交互上手快。
未来展望:AI 数据可视化
Data Formulator 展现了 AI 的巨大潜力。
Data Formulator 发展方向:
• 更多数据源和图表: “工具箱”更丰富。
• 更强 AI 模型: “魔法”更强大。
• 智能推荐: “AI 参谋”更精准。
• 协作分享: “社区”更活跃。
• 错误处理: “AI 医生”更可靠。
• 自定义: 用户自定义图表组件。
AI 数据可视化潜力:
• 降低门槛: 人人能做,“数据可视化平民化”。
• 提高效率: 告别繁琐,“工业革命”。
• 发现洞察: 自动识别,“掘金”。
• 智能交互: 人机合一,“知心伙伴”。
Data Formulator 创新多模态交互、强大 AI 引擎、灵活迭代,带来变革。 提升专业人士效率,让普通用户上手。
开源发布,注入活力。AI 不断发展,Data Formulator 未来可期,开启新篇章,让数据驱动决策惠及每个人。
推荐阅读
• GitHub: https://github.com/microsoft/data-formulator
• 论文: https://arxiv.org/abs/2408.16119
2024 年度 AI 报告(一):Menlo 解读企业级 AI 趋势,掘金 AI 时代的行动指南 2024年度AI报告(二):来自Translink的前瞻性趋势解读 - 投资人与创业者必看 2024年度AI报告(三):ARK 木头姐对人形机器人的深度洞察 2024年度AI报告(四):洞察未来科技趋势 - a16z 2025 技术展望 2024年度AI报告(五):中国信通院《人工智能发展报告(2024)》深度解读 2025 AI 展望 (一):LLM 之上是 Agent AI,探索多模态交互的未来视界 2025 AI 展望 (二):红杉资本展望2025——人工智能的基础与未来 2025 AI 展望(三):Snowflake 洞察 - AI 驱动的未来,机遇、挑战与变革 2025 AI 展望(四):OpenAI 的 AGI 经济学