- Python 3.11
- Docker и Docker Compose
- GPU (для работы MinerU с CUDA)
- Рекомендуемая версия CUDA: 12.0+
- Поддерживаемые драйверы NVIDIA: 535.104.05+
- Минимальный объем видеопамяти: 8 GB
- Рекомендуемый объем видеопамяти: 16 GB+
Для работы контейнеров с GPU необходимо установить NVIDIA Container Toolkit:
# Добавление репозитория NVIDIA
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
# Обновление списка пакетов и установка
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
# Перезапуск Docker
sudo systemctl restart dockerСоздайте файл .env в корневой директории проекта:
cp .env.example .envИли создайте вручную со следующим содержимым:
# MinIO credentials
MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=minioadmin123
MINIO_ACCESS_KEY=minio
MINIO_SECRET_KEY=minio123
MINIO_BUCKET=documents
# Qdrant API Key (опционально)
QDRANT_API_KEY=docker-compose up -d --buildФлаги:
-d— запуск в фоновом режиме--build— пересобрать образы
docker-compose psВсе сервисы должны быть в статусе Up.
# Логи всех сервисов
docker-compose logs -f
# Логи конкретного сервиса
docker-compose logs -f mineru
docker-compose logs -f minio
docker-compose logs -f qdrant# Остановить без удаления данных
docker-compose down
# Остановить и удалить volumes (данные будут потеряны!)
docker-compose down -vcd app
# Установка зависимостей
pip install -r ../requirements.txt
# Настройка переменных окружения
export S3_URL=http://localhost:9000
export S3_ACCESS_KEY=minio
export S3_SECRET_KEY=minio123
# Запуск
python src/main.pyСервис для генерации эмбеддингов на основе модели Qwen.
Необходимо установить и запустить сервис отдельно по инструкции: https://github.com/YRL-AIDA/qwen-embedding-service
После установки сервис будет доступен по следующему эндпоинту:
- URL:
http://localhost:8000/embed(или другой порт, указанный в конфигурации сервиса) - Метод:
POST - Пример запроса:
{
"text": "Ваш текст для эмбеддинга"
}Сервис для работы с языковой моделью (VLLM). Запросы на стороне клиента формируются в формате OpenAI API.
Для работы необходима мультимодальная модель. Тестирование проводилось на модели 'Qwen/Qwen3-VL-32B-Thinking'.
#### Настройка переменных окружения
Для подключения к сервисам добавьте в `.env` файл следующие переменные:
```env
# Embedding service
EMBEDDING_SERVICE_URL=
# LLM service
LLM_SERVICE_URL=