LIDA:用大型语言和图像生成模型进行数据可视化生成

2024年06月27日 由 alex 发表 310 0

简介

创建数据可视化通常是一项复杂的任务,其中涉及数据操作、编码和设计技能。LIDA 是一个开放源码库,可通过减少开发时间、错误数量和整体复杂性来实现数据可视化创建过程的自动化。


LIDA 由 4 个模块组成,如下图所示。在这种多阶段可视化生成方法中,每个模块都有其独特的作用。


20


  1. 摘要:该模块将数据转换为自然语言摘要。摘要分两个阶段实现。在第一阶段,即基础摘要生成阶段,使用 pandas 库应用规则从数据集中提取属性,生成一般统计数据,并为数据集中的每一列提取一些样本。在第二阶段,即摘要丰富阶段,基础摘要阶段的内容将由 LLM 或用户通过用户界面进行丰富,以包括数据集和字段的语义描述。
  2. 目标探索器:该模块根据摘要模块生成的摘要创建数据探索目标。该模块生成的目标以 JSON 数据结构表示,其中包含问题、解决该问题的可视化和理由。
  3. 可视化生成器:该模块由 3 个子模块(代码支架构造器、代码生成器和代码执行器)组成。该模块的目标是根据 GOAL EXPLORER 模块中的数据可视化目标或用户创建的新可视化目标中的规范,生成、评估、修复、过滤和执行可视化代码。
  4. INFOGRAPHER:该模块利用 IGMs 根据 VIZ GENERATOR 模块的输出以及可视化和风格提示创建风格化的信息图表。


LIDA 利用了 LLM 的两个关键功能:

  1. 语言建模--这些功能有助于生成具有语义意义的可视化目标。
  2. 代码编写(即代码生成)--这些功能有助于生成创建数据可视化的代码,然后将代码作为图像生成模型(如 DALL-E 和 Latent Diffusion)的输入,生成风格化的信息图表。


此外,LIDA 工具还使用了提示工程。


"提示工程是设计、优化和改进用于与人工智能语言模型交流的提示的过程。提示是输入到人工智能系统中的问题、陈述或请求,以激发特定的响应或输出。


提示工程融入 LIDA 的几种方式包括使用提示来创建和定义六个评估维度,以及用户指定样式提示来格式化可视化的能力。


实践

有两种方法可以开始使用 LIDA:通过 python API 或混合用户界面。本节将介绍如何使用 LIDA 库中可选的捆绑用户界面和网络 API,在本地计算机上开始使用用户界面。


第1步:安装必要的程序库

在电脑上安装以下库。


pip install lida


pip install -U llmx openai


第 2 步:创建一个变量来存储 OpenAI API 密钥

要创建 OpenAI API 密钥,请导航至 "个人资料">"用户 API 密钥",然后选择 + 创建新密钥。


21


复制 API 密钥。在新的终端窗口中,将 API 密钥保存在名为 OPENAI_API_KEY 的变量中。


export OPENAI_API_KEY=""


第 3 步:启动用户界面网络应用程序

在终端窗口中,使用以下命令启动 LIDA UI 网络应用程序。


lida ui --port=8080 --docs


在网络浏览器中,导航到 "localhost:8080",然后就可以开始了!选择 "实时演示 "或 "演示 "选项卡查看网络应用程序。


22


网络应用程序示例

本节将介绍使用 Kaggle 提供的美国票房前 10 名电影数据集³的几个示例和提示。


第 1 步:选择可视化库/语法

在创建任何数据可视化或摘要之前,请选择要使用的可视化库。有 4 个选项可供选择:Altair、Matplotlib、Seaborn 和 GGPlot。首先,选择 Seaborn--一个基于 Matplotlib 的 Python 数据可视化库。


23


提示:不确定从哪个图书馆开始?先选一个,稍后再切换!你可以稍后再切换可视化库/语法,即使是在上传数据之后。如果在加载数据后进行切换,并发现错误,快速刷新即可解决问题。


第 2 步:查看生成设置

右侧有一个修改生成设置的选项。在这里,你可以选择模型提供者、用于生成的模型,并调整其他字段,如最大令牌数、温度和信息数。目前,请保留默认设置。


24


第3步:上传数据

设置基本参数后,上传数据集。单击或拖动文件,将数据集上传至网络应用程序。或者,你也可以使用提供的示例文件。


25


提示:如果在尝试上传文件时出现错误,请检查你所选模型提供商的使用和计费访问。访问问题可能导致 LIDA 中的数据文件上传问题。此外,终端窗口还会显示错误信息(如果有的话),这可能有助于排除故障。


注意: 如果/当切换回 LIDA 主页时要小心--这将导致丢失当前显示的工作!


第4步:查看数据摘要

数据汇总 "部分提供对数据集的描述,以及数据集中字段的汇总,包括列类型、唯一值数量、列描述和样本值。该输出是前面提到的 SUMMARIZER 模块的结果。


下图显示了美国票房前十名电影数据集的数据摘要。其中包含对整个数据集和数据集中所有 9 列的描述。


26


选择 "查看原始摘要",以 JSON 字典形式查看数据摘要。


27


第5步:审查目标探索

本部分显示根据上传的数据集自动生成的目标或假设列表。每个目标都以问题的形式列出,并包含可视化显示内容的描述。该输出是前面提到的 "目标探索 "模块的结果。


在这里,你可以阅读不同的目标,并在可视化生成部分选择一个目标进行可视化。


28


第6步:生成可视化

根据在面 "目标探索 "中选择的目标,你将看到可视化以及用于生成该目标可视化的 Python 代码。


下图显示了目标 "按月发布的电影分布情况如何?左侧是可视化的垂直条形图,右侧是用于创建可视化的 Python 代码。此代码片段可复制供外部使用。


29


或者,你也可以在 "目标探索 "部分列出的目标之外输入一个新的可视化目标。


例如,下图显示了 "平均预算最多的前 5 个流派是什么?


30


注意:选择目标右侧的 "生成 "按钮会刷新可视化效果。这可能会导致一些细微的变化,如颜色方案的改变。


第7步:可视化修改和评估

可视化生成后,有 4 个选项卡可供使用: 完善、解释、评估和建议。


31


第一个选项卡 "提炼 "使用自然语言命令修改图表。


下图显示了使用 "精炼 "选项卡对图表 "按月份划分的电影上映分布情况如何?使用自然命令对图表进行了修改,将月份按时间顺序排列,以水平条形图显示数值,并为每个条形图添加了计数值。


32


提示:确保你的样式提示清晰、简洁、具体!否则,你可能会得到扭曲的可视化效果、意想不到的结果,或者你的自然语言命令可能无法呈现图表。请记住,当涉及到写作提示时,"垃圾进"→"垃圾出"!撰写提示语是一门艺术,因此撰写有效的提示语风格可能需要一些改进。


如果你需要重置可视化,在几次风格提示没有达到预期效果后,请使用 "清除聊天记录 "按钮重置可视化。


33


第二个选项卡 "解释 "提供文字说明,从数据转换、图表元素、代码等方面说明如何创建可视化效果。


34


第三个选项卡 "评估 "从 6 个方面对生成的图表进行评估:错误、转换、合规性、类型、编码和美观。每个维度都有一个满分 5 分的评级,并说明获得该评级的原因。


35


如上图所示,使用右下角的 "自动修复图表 "按钮,可以选择自动修复图表。如果你同意图表评估中提供的建议,那么这是一种快速应用修复的好方法!下图显示了根据美学评估自动修复图表后的更新图表。


36


第四个标签 "推荐!"会生成类似的图表和相应的代码片段--与最初的目标无关。这对于从数据中获得其他图表或其他见解很有帮助。


37


结论

本节重点介绍了在数据可视化和商业智能领域使用 LLM 和 IGM 的一些考虑领域 - 包括但不限于自动数据可视化生成。

文章来源:https://medium.com/towards-data-science/data-visualization-generation-using-large-language-and-image-generation-models-with-lida-69fcf95866ee
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
评论 登录
写评论取消
回复取消