Weaviate

circle-info

Weaviate является AI-нативной, открытой в исходном коде векторной базой данных, разработанной для семантического поиска, гибридного поиска и приложений RAG (Retrieval-Augmented Generation). Она хранит как объекты, так и их векторные эмбеддинги и поддерживает встроенную интеграцию ML-моделей.

Обзор

Weaviate выходит за рамки традиционных векторных баз данных, нативно интегрируя ML-модели для автоматической векторизации при импорте и во время запросов. Она поддерживает несколько типов данных (текст, изображения, видео, аудио), встроенный гибридный поиск, объединяющий BM25 и векторную похожесть, а также многопользовательские (multi-tenant) развёртывания. Weaviate готова к производственной эксплуатации, облачно-нативна и спроектирована для масштабирования от прототипов до миллиардов векторов.

Свойство
Значение

Категория

Векторная база данных / Инфраструктура RAG

Разработчик

Weaviate B.V.

Лицензия

BSD 3-Clause

Звезды

12K+

Docker-образ

cr.weaviate.io/semitechnologies/weaviate

Порты

22 (SSH), 8080 (HTTP API / GraphQL)


Ключевые возможности

  • Гибридный поиск: векторы + ключевые слова — комбинируйте полнотекстовый BM25 с векторной похожестью в одном запросе

  • Встроенные векторизаторы — автоматически векторизуйте данные при импорте с помощью OpenAI, Cohere, HuggingFace или локальных моделей

  • Мультимодальность — храните и ищите текст, изображения, видео, аудио в одной базе данных

  • GraphQL API — выразительный язык запросов для сложных семантических запросов

  • REST API — полные операции CRUD и управление схемой

  • Многопользовательская изоляция (Multi-tenancy) — изолируйте данные по арендаторам при общей инфраструктуре

  • Индексация HNSW — быстрый приближённый поиск ближайших соседей

  • Фильтрованный поиск — комбинируйте векторный поиск с традиционными фильтрами метаданных

  • Генеративный поиск — встроенный RAG с интеграцией больших языковых моделей

  • Горизонтальное масштабирование — шардинг и репликация по нескольким узлам

  • Система модулей — подключайте векторизаторы, ридеры, генераторы


Настройка Clore.ai

Шаг 1 — Выбор оборудования

Сценарий использования
Рекомендуется
ОЗУ
Хранилище

Разработка / прототипирование

Экземпляр CPU

8 ГБ

20 ГБ

Небольшое продакшен-окружение (< 1M векторов)

Экземпляр CPU

16 ГБ

50 ГБ

Крупномасштабное (10M+ векторов)

GPU-инстанс

32 ГБ+

200 ГБ+

Векторизация с ускорением на GPU

RTX 4090

24 ГБ

100 ГБ

circle-info

Сам Weaviate работает на CPU. Используйте GPU-инстансы на Clore.ai, когда вам нужна локальная модель эмбеддингов вывод (inference) (например, text2vec-transformers с локальной моделью) для быстрой векторизации при импорте.

Шаг 2 — Арендуйте сервер на Clore.ai

  1. Перейдите на clore.aiarrow-up-rightМаркетплейс

  2. Для чистого векторного поиска: CPU-инстансы с ≥ 16 ГБ ОЗУ

  3. Для ускорённых на GPU эмбеддингов: RTX 3090 или 4090

  4. Открытые порты: 22 и 8080

  5. Убедитесь, ≥ 50 ГБ диска для хранения векторов

Шаг 3 — Развёртывание с Docker

Минимальное развёртывание (без векторизатора):

С векторизатором OpenAI:

С локальным векторизатором HuggingFace (ускорение на GPU):

Запуск:


Доступ к API

HTTP/REST API

GraphQL endpoint

Проверка состояния (Health Check)

Через SSH


Клиент на Python

Установка

Подключение


Схема и коллекции

Создать коллекцию


Импорт данных

Пакетный импорт с заранее вычисленными векторами

Автовекторизация с OpenAI (при импорте)


Запросы

Семантический (векторный) поиск

Гибридный поиск (вектор + BM25)

Поисковый запрос по ключевым словам (BM25)

Фильтрованный поиск

GraphQL-запрос


Генеративный поиск (RAG)


Многопользовательская изоляция


Примеры REST API


Устранение неполадок

circle-exclamation
circle-exclamation
circle-info

Высокое потребление памяти — Weaviate держит векторный индекс в оперативной памяти для быстрого поиска. Для 1M векторов размерности 768: ~6 ГБ ОЗУ. Планируйте соответственно при выборе размера инстанса в Clore.ai.

circle-info

Не удаётся подключиться через Python-клиент — Убедитесь, что оба порта 8080 (HTTP) и 50051 (gRPC) открыты. Python-клиент v4 по умолчанию использует gRPC.

Проблема
Решение

Соединение отклонено

Подождите старта (~30 сек), проверьте docker ps, проверьте порты

Схема уже существует

Сначала удалите коллекцию: client.collections.delete("Name")

Недостаточно памяти

Увеличьте ОЗУ или уменьшите размерность векторов

Медленный векторный поиск

Добавьте HNSW-индекс или проверьте размер набора данных относительно доступной ОЗУ


Советы по производительности

  1. Используйте пакетные импорты — в 10–50 раз быстрее, чем одиночные вставки

  2. Выберите правильную модель эмбеддинговall-MiniLM-L6-v2 (384 измерения) быстрый; text-embedding-3-large (3072 измерения) обеспечивает лучшее качество, но использует в 8 раз больше ОЗУ

  3. Параметр alpha для гибридного поиска — настройте alpha для вашего случая: 0.25 для запросов с упором на ключевые слова, 0.75 для семантических запросов

  4. Параметры HNSWef и efConstruction контролируют компромисс между полнотой поиска и скоростью

  5. Изоляция арендаторов — используйте multi-tenancy для SaaS-приложений; это масштабируется гораздо лучше, чем отдельные коллекции на пользователя


Связанные инструменты

  • Qdrant — Векторная база данных на Rust с фильтрами полезной нагрузки

  • ChromaDB — лёгкая база данных для эмбеддингов

  • Milvus — векторная база данных для крупномасштабных задач


Weaviate на Clore.ai предоставляет вам векторную базу данных промышленного уровня с GPU-ускоренной векторизацией — идеально подходит для создания масштабируемых RAG-систем и приложений семантического поиска.


Рекомендации Clore.ai по GPU

Сценарий использования
Рекомендуемый GPU
Примерная стоимость на Clore.ai

Разработка/Тестирование

RTX 3090 (24GB)

~$0.12/gpu/hr

Производственный векторный поиск

RTX 3090 (24GB)

~$0.12/gpu/hr

Высокопропускная способность эмбеддингов

RTX 4090 (24GB)

~$0.70/gpu/hr

💡 Все примеры в этом руководстве можно развернуть на Clore.aiarrow-up-right GPU-серверах. Просматривайте доступные GPU и арендуйте по часам — без обязательств, с полным root-доступом.

Последнее обновление

Это было полезно?