Что это
Weaviate - векторная база данных. Она хранит текстовые объекты с метаданными и embeddings, чтобы приложение могло находить подходящие фрагменты. Поиск можно сочетать с фильтрами и ключевыми словами; качество нужно проверять на своих вопросах.
Есть собственное размещение и управляемый Weaviate Cloud. Векторы можно передавать самостоятельно или получать через настроенную интеграцию. Генерация ответа, разбор PDF и правила доступа к документам - отдельные части решения.
В экосистеме есть отдельные Query Agent и Engram. Установка базы сама по себе не включает весь набор агентных функций и долговременной памяти. Открытое ядро и enterprise-часть имеют разные лицензии.
Ключевые параметры
- Категория: Векторные базы
- Сложность: Для разработчика
- Запуск: Около 30 минут
- Open-source: Да
- Данные: Не известно
- Чувствительные данные: Только с настройками
Сильные стороны
- Объекты, свойства и векторы хранятся в коллекциях вместе.
- Можно использовать собственные embeddings без обязательной встроенной модели.
- Есть векторный и гибридный поиск с фильтрами.
- Доступны собственное размещение и управляемое облако.
Ограничения
- Нужно поддерживать одинаковую модель и размерность embeddings для выбранного индекса.
- Качество выдачи зависит от исходного текста, разбиения и поисковой настройки.
- Собственный сервер требует ресурсов, резервных копий и контроля доступа.
- Enterprise-функции лицензируются отдельно; облако и дополнительные модели имеют свои расходы.
Как использовать
1. Подготовка. Возьмите два вымышленных текста с метками A и B. Для проверки соединения используйте учебные векторы [1, 0] и [0, 1]; они не представляют смысл текста и не проверяют качество реальных embeddings.
2. Настройка. Создайте отдельный кластер или локальный экземпляр по документации. Локальные HTTP 8080 и gRPC 50051 оставьте доступными только через 127.0.0.1. Установите weaviate-client v4 и подключитесь с подходящей авторизацией; проверьте client.is_ready().
3. Первый результат. Создайте учебную коллекцию с vector_config=Configure.Vectors.self_provided(). Добавьте объекты через collection.data.insert(properties={"text": "A"}, vector=[1, 0]) и такой же вызов для B с [0, 1]. Выполните collection.query.near_vector(near_vector=[1, 0], limit=1) и получите объект A.
4. Проверка. Повторите запрос для [0, 1] и получите B. Затем создайте отдельную коллекцию реальных embeddings одной модели и размерности, сохраните источники и проверьте выдачу на известных вопросах. near_text требует настроенного векторизатора: он не заменяет near_vector в тесте self_provided. Закройте клиент после работы.
Примеры сценариев
- Проверить вставку и поиск на двух учебных векторах.
- Сохранить источник каждого фрагмента базы знаний.
- Измерить качество выдачи до подключения генерации ответа.
Доступ и оплата
- Модель оплаты: Open-source
- Бесплатный тариф: Да
- Работа в РФ: Нужно проверять
- VPN: Не известно
- Русский интерфейс: Не известно
- Русский язык: Не известно
У Cloud есть бесплатный уровень с ограничениями коллекций, памяти и хранения; рабочее расширение платное. Собственное открытое ядро имеет BSD-3-Clause, код enterprise-части - отдельные условия. Бесплатная база не отменяет расходы на сервер и embeddings. Облачный доступ из России здесь не подтвержден.
Когда не подходит
- Превратить любую папку PDF в готового чат-бота одной установкой
- Смешать embeddings разных моделей в одном индексе
- Открыть базу в интернет без авторизации
Альтернативы
Qdrant - отдельная векторная база. pgvector добавляет векторный поиск в PostgreSQL. Pinecone предлагает управляемую инфраструктуру. Сравнивайте одинаковые данные и вопросы, права, ресурсы и стоимость, а не только наличие vector search.