Развертывание векторной базы данных (Weaviate)
Ainergy поддерживает создание сервиса векторной базы данных на сервере Weaviate.
Сервер
Сервер Weaviate — это автономный экземпляр векторной базы данных, развертываемый как отдельный Docker-образ. Сервер предназначен для хранения коллекций данных и векторной базы данных, используемых для семантического поиска и работы с векторными запросами.
Взаимодействие с сервером осуществляется через API. Сервер Weaviate может запускаться независимо от основного проекта, что позволяет использовать его как самостоятельный сервис или интегрировать в существующую инфраструктуру.
Клиент
Клиент — это асинхронный API-клиент, в котором реализованы необходимые методы для работы с векторной базой.
Развертывание
Клиент и сервер развертываются с помощью Docker Compose и работают в рамках одной Docker-сети. Сервер изолирован от внешнего доступа — взаимодействие с ним осуществляется только внутри сети. Клиент предоставляет внешнее API с авторизацией по Bearer-токену.
Конфигурация эмбеддингов и реранкера
Система поддерживает два типа API:
-
Nexus API (по умолчанию для эмбеддингов):
USE_OPENAI_LIKE_EMBEDDINGS=False- Использует переменные
NEXUS_*
-
OpenAI-совместимое API:
USE_OPENAI_LIKE_EMBEDDINGS=TrueUSE_OPENAI_LIKE_RERANKER=True- Использует переменные
EMBEDDING_API_URL,RERANKER_API_URL
Установка и запуск
-
Создайте целевую директорию:
mkdir -p vectordb
cd vectordb -
Создайте
.envфайл в целевой директории и вставьте в него текст из файла. -
Создайте файл
compose.ymlс содержимым из файла. -
Создайте Docker-сеть:
docker network create ainergy-net -
Скачайте образы:
docker compose pull -
Запустите сервисы:
docker compose up -d -
Проверьте статус:
docker compose ps
Доступ к API
- Client API:
http://localhost:3002 - Weaviate API:
http://localhost:8081(только для отладки) - Документация Swagger:
http://localhost:3002/docs
Управление
- Остановка:
docker compose down - Перезапуск:
docker compose restart - Логи:
docker compose logs -f - Обновление:
docker compose pull && docker compose up -d
Структура папок
vectordb/
├── .env # Конфигурация
├── compose.yml # Docker Compose файл
├── data/ # Данные Weaviate
└── cron/
└── logs/ # Логи cron задач
Примечания
- Все переменные окружения должны быть настроены в .env файле.
- Данные Weaviate сохраняются в папке
./data. - Резервные копии создаются автоматически согласно расписанию
SCHEDULE. - Порты можно изменить в файле
compose.ymlпри необходимости.