Skip to main content

Введение

Датасет LAION 5b содержит 5,85 миллиарда эмбеддингов пар «изображение—текст» и связанные с ними метаданные изображений. Эмбеддинги были сгенерированы с помощью модели Open AI CLIP ViT-L/14. Размерность каждого эмбеддинг-вектора — 768. Этот датасет можно использовать для моделирования вопросов проектирования, подбора размера и производительности крупномасштабного приложения векторного поиска из реального мира. Датасет можно использовать как для поиска изображений по тексту, так и для поиска изображений по изображению.

Сведения о датасете

Полный датасет можно скачать с помощью opendatalab/laion5b-downloader. ClickHouse также предоставил подмножество из 10 миллионов векторов в публичном бакете S3. Подмножество хранится в одном файле Parquet. Мы рекомендуем пользователям сначала оценить требуемые ресурсы, чтобы определить требования к хранилищу и памяти для этого датасета, обратившись к документации.

Шаги

1

Создать таблицу

Создайте таблицу laion_5b_10m для хранения эмбеддингов и связанных с ними атрибутов:
id — это просто последовательное целое число. Дополнительные атрибуты можно использовать в предикатах, чтобы изучить поиск по сходству векторов в сочетании с постфильтрацией/префильтрацией, как описано в документации
2

Загрузить данные

Чтобы загрузить набор данных, выполните следующий SQL-запрос:
Загрузка 10 миллионов строк в таблицу займет несколько минут.
4

Создайте индекс векторного сходства

Выполните следующий SQL-запрос, чтобы создать и построить индекс векторного сходства для столбца vector таблицы laion_5b_10m:
Параметры и особенности производительности при создании индекса и поиске по нему описаны в документации. В приведённом выше операторе для гиперпараметров HNSW M и ef_construction используются значения 64 и 512 соответственно. Необходимо тщательно подобрать оптимальные значения этих параметров, оценивая время построения индекса и качество результатов поиска, соответствующие выбранным значениям.Построение и сохранение индекса для подмножества из 10 миллионов строк может занять значительное время в зависимости от количества доступных ядер CPU и пропускной способности хранилища.
6

Создайте эмбеддинги для поискового запроса

Эмбеддинг-векторы набора данных LAION 5b были сгенерированы с использованием модели OpenAI CLIP ViT-L/14.Ниже приведён пример скрипта на Python, показывающий, как программно генерировать эмбеддинг-векторы с помощью API CLIP. Затем поисковый эмбеддинг-вектор передаётся в качестве аргумента функции cosineDistance() в SELECT-запросе.Чтобы установить пакет clip, обратитесь к репозиторию OpenAI на GitHub.
Результат поиска показан ниже:
Последнее изменение 26 августа 2026 г.