今天,DuckDB 和 Hugging Face 共同宣布了一项新版本,即在 DuckDB 中使用 hf://
前缀访问 Hugging Face 仓库中的数据集。这为使 AI 和 ML 领域的数据更加易于访问和轻量化带来了新的机会浪潮。
您可以在此处查看完整公告 “使用 DuckDB 访问来自 Hugging Face 的 15 万+ 数据集”。
过去,数据仓库中的大多数数据来自组织内部,例如事务系统、企业资源规划 (ERP) 应用程序、客户关系管理 (CRM) 应用程序以及类似来源。
这些数据的结构、体量和速率相当可预测且已知。然而,随着云技术的兴起,越来越多的数据现在来自外部来源,这些来源的可控性较低,例如应用程序日志、Web 应用程序、移动设备、社交媒体以及物联网的传感器数据。这些数据通常以无模式的半结构化格式到达。传统的数据仓库解决方案正努力处理这种新型数据,因为它们依赖于深度的 ETL(提取、转换、加载)管道和物理调优,这假设数据是可预测的、变化缓慢的、易于分类的,且主要来自内部来源。
在今天的教程中,我们将使用 DuckDB 直接从 Hugging Face 加载数据,而无需将其下载到您的计算机,并使用 Wren AI 作为连接到 GPT-4o 的接口,用户可以向数据集提出业务问题并获得答案;通过这种方式,您可以使用 hf://
路径访问 Hugging Face 数据集,通过语义建模定义语义含义,并询问有关数据集的任何问题,LLM GPT-4o 将理解您的查询并进行查询以检索和回答。
DuckDB 是一个快速的进程内分析型数据库,它在数据和 AI 社区获得了广泛的应用,例如 Hugging Face 提供了 Hugging Face 数据集的 DuckDB 集成。
如今,DuckDB 是 GitHub 上最受欢迎的数据库之一,并且在 DB-Engine 排名中也保持着良好的势头。
借助 DuckDB,您可以轻松指向远程位置的文件,例如 CSV、Excel、JSON、parquet 等,而无需从远程位置(例如 Amazon S3、Azure blob storage、Google Cloud Storage 等)移动文件,即可对其进行分析。
Hugging Face 数据集提供了来自不同来源的广泛数据集,包括学术研究、流行基准任务和真实世界应用程序,拥有超过 15 万个人工智能数据集。这些数据集经过精心策划、处理和标准化,以确保一致性和易用性,从而实现对用于训练和评估 AI 模型的数据集的访问、操作和探索的民主化。
在本教程中,我们从 CORGIS 项目上传了一个有趣的“亿万富翁 CSV 文件”。CORGIS 项目收集了一些有趣的数据集,例如 COVID-19、亿万富翁、航空公司等。
在 Hugging Face 上查看我们在本教程中使用的数据集——亿万富翁数据集。
让我们开始吧!🚀
首先,在此处查看 Hugging Face 亿万富翁数据集。
处理数据时,您经常需要读取各种格式(例如 CSV、JSONL 和 Parquet)的文件。
现在,可以使用如下所示的 hf://
路径进行查询
hf://datasets/⟨my_username⟩/⟨my_dataset⟩/⟨path_to_file⟩
在本例中,您可以使用以下 URL 获取数据集
hf://datasets/chilijung/Billionaires/billionaires.csv
Wren AI 是一个开源的 Text-to-SQL 解决方案,数据团队无需编写 SQL,即可通过提问业务问题更快地获得结果和见解。
接下来,让我们开始安装 Wren AI;在开始之前,您需要安装 Docker。
1. 在您的本地计算机上安装 Docker Desktop。
请确保 Docker Desktop 的版本至少 >= 4.17。
2. 准备一个 OpenAI API 密钥
请确保您的 Open API 密钥具有 完全权限(全部)。
访问 OpenAI 开发者平台。
为 Wren AI 生成一个新的具有完全权限的 API 密钥。
3. 安装 Wren AI Launcher
如果您使用的是 Mac(使用 Windows 或 Linux 请查看此处),输入以下命令安装最新的 Wren AI Launcher。
curl -L https://github.com/Canner/WrenAI/releases/latest/download/wren-launcher-darwin.tar.gz | tar -xz && ./wren-launcher-darwin
然后启动器将询问您的 OpenAI API 密钥,如下所示,将您的密钥粘贴到命令中并按 Enter。
gpt-4o
现在您可以选择 OpenAI 生成模型的 gpt-4o
、gpt-4-turbo
、gpt-3.5-turbo
。
现在您将看到我们正在您的计算机上运行 docker-compose
;安装完成后,工具将自动打开您的浏览器以访问 Wren AI。
当终端成功安装后,它将启动浏览器
在 UI 中,选择 DuckDB
,它将询问您连接详情。
在这里,您可以输入数据集的显示名称,例如 Billionaire
,然后在 Initial SQL statements
中输入以下脚本。
该 URL 是我们之前展示的 hf://
路径
CREATE TABLE billionaires AS
SELECT * FROM 'hf://datasets/chilijung/Billionaires/billionaires.csv';
然后点击 Next
。在下一步中,选择您要在 Wren AI 中使用的表。
选择表并点击 Next!
在本例中,我们只有一个表,因此您可以跳过或直接点击 Finish
;但如果您有多个表,您可以在此处定义语义关系,以帮助 LLM 理解并生成更准确的 SQL JOIN。
现在一切就绪了!
在此示例中,我们只有一个模型(表),因此当您点击顶部的 Modeling
页面时,您将看到以下屏幕
现在点击 billionaires
模型,右侧会弹出一个抽屉。
CORGIS 数据集详细描述了每一列,我们可以将其添加到语义模型中。
向模型添加语义上下文
如果您有多个模型,可以通过以下界面进行建模。
借助 Wren AI UI,您可以在语义上下文中对数据进行建模。这包括添加描述、定义关系、包含计算等。通过提供此上下文,您可以帮助 LLM 理解您的业务术语和 KPI 定义,减少合并多个表时的错误。LLM 可以通过学习关系(例如表之间是 多对一
、一对多
还是 多对多
关系)来理解数据结构层次。
您可以在 Wren AI 中通过计算定义您的业务 KPI 和公式。
添加表之间的语义关系。
现在让我们切换到 Home
页面,您可以在其中启动新线程并开始向 Wren AI 提问。
然后它会根据您的问题生成最佳的三个选项,如下所示
选择其中一个选项,它将生成如下结果,并带有逐步细分和解释。
根据结果提出后续问题
差不多就是这样了!
现在,使用 hf://
路径,您可以通过 Wren AI 直接连接到 Hugging Face 上的多达 150,000 多个数据集,无需费心处理文件!是不是很棒?
如果您喜欢我们的工作,请在 GitHub 上支持并为我们加星!
🚀 GitHub:https://github.com/canner/wrenai
如果您喜欢这篇文章,别忘了给 ⭐ Wren AI 在 Github 上点赞 ⭐,一如既往,感谢您的阅读。
立即使用 AI 提升您的数据能力?!