Skip to main content

简介

LAION 5b 数据集包含 58.5 亿个图像-文本嵌入向量及 相关的图像元数据。这些嵌入向量由 Open AI CLIP 模型 ViT-L/14 生成。每个嵌入向量的 维度均为 768 该数据集可用于对大规模真实世界向量搜索应用的设计、容量规划和性能进行建模。该数据集既可用于文本到图像搜索,也可用于 图像到图像搜索。

数据集详情

完整数据集可使用 opendatalab/laion5b-downloader 下载。 ClickHouse 在一个 S3 bucket 中提供了包含 1 亿个向量的子集。 该 S3 bucket 包含 10 个 Parquet 文件,每个 Parquet 文件都有 1000 万行。 我们建议用户先参考文档进行容量评估,以估算该数据集所需的存储和内存。

步骤

1

创建表

创建 laion_5b_100m 表,用于存储嵌入向量及其相关属性:
id 只是一个递增的整数。附加属性可在谓词中使用,以帮助理解 如文档所述,与后过滤/前过滤结合使用的向量相似性搜索
2

加载数据

要从所有 Parquet 文件中加载数据集,请执行以下 SQL 语句:
将 1 亿行数据加载到表中需要几分钟。或者,也可以运行单独的 SQL 语句,以加载指定数量的文件/行。
4

构建向量相似度索引

运行以下 SQL,在 laion_5b_100m 表的 vector 列上创建并构建向量相似度索引:
有关索引创建和搜索的参数及性能注意事项,请参见文档。 上述语句中,HNSW 超参数 Mef_construction 分别使用了 64 和 512。 你需要根据所选参数对应的索引构建时间和搜索结果质量进行评估, 从而仔细选择这些参数的最佳取值。对于完整的 1 亿条数据集,构建并保存索引甚至可能需要数小时,具体取决于可用的 CPU 核心数量和存储带宽。
6

为搜索查询生成嵌入向量

LAION 5b 数据集的嵌入向量是使用 OpenAI CLIPViT-L/14 模型生成的。下面提供了一个 Python 示例脚本,演示如何通过编程方式使用 CLIP API 生成 嵌入向量。随后,搜索嵌入向量 会作为参数传递给 SELECT 查询中的 cosineDistance() 函数。如需安装 clip 包,请参阅 OpenAI GitHub 仓库
上述搜索结果如下:
最后修改于 2026年7月23日