❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
大家好,我是蚝油菜花,今天跟大家分享一下 Data Formulator 这个由微软研究院推出的开源 AI 数据可视化工具。
🚀 快速阅读
Data Formulator 是一款强大的 AI 数据可视化工具,帮助用户通过简单交互和指令快速创建丰富的可视化图表。
- 核心功能:结合图形化界面与自然语言输入,支持复杂数据转换和迭代设计。
- 技术原理:多模态交互界面、概念绑定与数据转换、AI 代理与代码生成。
Data Formulator 是什么
Data Formulator 是微软研究院推出的一款开源 AI 数据可视化工具,旨在帮助用户通过简单的交互和指令快速创建复杂的可视化图表。它结合了图形化用户界面(GUI)和自然语言输入(NL),用户可以通过拖拽操作或直接输入需求来设计图表,AI 负责处理复杂的数据转换和计算。
Data Formulator 的目标是让用户能够更高效地探索和理解数据,无需编写复杂的代码或进行繁琐的数据预处理。无论是数据分析专家还是初学者,都可以通过这款工具轻松创建专业的可视化图表。
Data Formulator 的主要功能
- 结合图形化界面与自然语言输入:用户可以通过拖拽操作将数据字段放置到图表属性中,也可以通过自然语言描述需求,AI 会根据指令完成数据转换和可视化。
- 支持复杂数据转换:用户可以在编码栏中输入不存在的数据字段名称,AI 会根据自然语言提示进行数据计算和转换,生成新的可视化内容。
- 迭代可视化设计:Data Formulator 提供了“数据线程”功能,用户可以基于现有图表进行进一步操作,AI 会根据自然语言指令更新图表。
- 结果验证与错误纠正:用户可以查看 AI 生成的转换数据、可视化图表和代码,通过代码解释模块理解数据转换过程。如果发现错误,可以用数据线程的迭代机制进行纠正。
- 灵活的图表样式调整:用户可以在不进行额外数据转换的情况下,直接在概念编码架上调整图表样式(如颜色方案、轴排序等),即时看到视觉反馈。
Data Formulator 的技术原理
- 多模态交互界面:Data Formulator 结合了图形化用户界面(GUI)和自然语言输入(NL),用户可以通过拖拽操作或直接输入自然语言指令来定义可视化需求。“双管齐下”的方式让用户能根据自己的习惯选择操作方式,通过界面操作还是语言描述,能高效地传达需求。
- 概念绑定与数据转换:用户首先通过自然语言或示例定义他们计划可视化的数据概念,然后将这些概念绑定到可视化通道(如 x 轴、y 轴、颜色等)。Data Formulator 会通过其 AI 代理(Agent)自动将输入数据转换为所需的格式,生成所需的可视化。
- AI 代理与代码生成:Data Formulator 的后端使用 Flask 框架,通过 RESTful API 接收前端请求。当用户点击“Formulate”按钮时,前端会发送一个 POST 请求到后端的
/derive-data
接口。后端根据用户输入的指令和数据,调用 AI 代理(如DataTransformationAgentV2
)生成 Python 代码,执行这些代码以完成数据转换。 - 数据处理与反馈机制:Data Formulator 提供了数据线程功能,用户可以基于现有图表进行进一步操作,AI 会根据自然语言指令更新图表。Data Formulator 提供了反馈机制,用户可以查看 AI 生成的转换数据、可视化图表和代码,确保结果符合预期。
如何运行 Data Formulator
1. 安装 via Python PIP
使用 Python PIP 进行安装,推荐在虚拟环境中运行:
# 安装 data_formulator
pip install data_formulator
# 启动 data_formulator
data_formulator
# 或者使用以下命令启动
python -m data_formulator
Data Formulator 将自动在浏览器中打开,访问地址为 http://localhost:5000。如果默认端口被占用,可以指定其他端口,例如 python -m data_formulator --port 8080
。
2. 使用 GitHub Codespaces
你也可以在 GitHub Codespaces 中运行 Data Formulator,所有配置已经预先设置好。点击下方链接即可快速启动:
3. 开发者模式
如果你希望完全控制开发环境并进行自定义配置,可以参考 DEVELOPMENT.md 文件中的详细说明进行本地构建。
资源
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 微信公众号|搜一搜:蚝油菜花 🥦