📊 Рекламные агентства ежедневно работают с огромными массивами данных:
- 📑 Маркетинговые исследования
- 📊 Аналитические отчеты
- 📈 Презентации
- 🎨 Креативные материалы
❌ Ключевые проблемы:
- 🏗️ Отсутствие единой системы управления знаниями
- ⏳ Медленный поиск нужной информации
- 📉 Снижение эффективности работы
- 🔍 Сложность поиска в визуальных материалах
- 📚 Постоянно растущий объем данных
💼 Требования к решению:
- 🤖 Чат-бот с веб-интерфейсом
- 🔎 Быстрый поиск по всем типам материалов
- 🔗 Предоставление ссылок на источники
- ⬆️ Возможность пополнения базы знаний
- 🎯 Точная локализация релевантной информации
🎁 Результат внедрения:
- ⚡ Ускорение принятия решений
- 📈 Повышение эффективности работы
- 💪 Усиление конкурентных преимуществ
- 🚀 Более быстрая разработка стратегий
Мы разработали интеллектуальную систему поиска, которая:
- 🤖 Понимает естественно-языковые запросы
- 🖼️ Работает одновременно с текстом и изображениями
- 🎯 Точно определяет релевантные фрагменты документов
- 🔍 Визуализирует процесс принятия решений через карты внимания
- 📚 Легко масштабируется на новые документы
- Мультимодальный поиск: единый поиск по тексту и изображениям
- Работа без предварительного OCR
- Точная локализация информации с визуализацией
- Естественно-языковой интерфейс
- Открытый исходный код
- ColPali: Умный анализ документов с построением множественных векторных представлений
- Qdrant: Высокопроизводительный поиск по мультивекторным данным
- Qwen2vl: Мультимодальная модель для понимания контекста
.
├── app/ # Main application code
│ ├── main.py # FastAPI application entry point
│ ├── routers/ # API endpoints
│ ├── retriever/ # ColPali service
│ ├── templates/ # HTML templates
│ └── static/ # Static assets
├── pybooks/ # Jupyter notebooks for development
├── tools/ # Utility scripts
├── docker-compose.yaml # Docker services configuration
├── Dockerfile # Web-service build configuration
├── pyproject.toml # Python dependencies managed by poetry
└── vllm.env # Environment variables for docker-compose
📌 Основные папки:
app/
: Основной код веб-интерфейса с FastAPIpybooks/
: Ноутбуки для разработки и демонстрацииtools/
: Вспомогательные скриптыqdrant_data/
: Хранилище векторной базы данныхuploads/
: Хранилище исходных pdf-файлов, загруженных в системуpreviews/
: Хранилище изображений, полученных из исходных pdf-файлов
Подробная документация по каждому компоненту доступна в соответствующих директориях.
- 🐳 Docker и Docker Compose
- 🖥️ NVIDIA GPU с поддержкой CUDA
- 📦 Минимум 32GB GPU памяти для минимальной конфигурации и 80GB GPU для продвинутой
- 💾 Достаточно места на диске для кэша моделей
- Подготовка окружения
# Клонируем репозиторий
git clone [repository-url]
cd [repository-name]
# Создаем файл с переменными окружения
touch vllm.env
- Настройка vllm.env
# Добавьте необходимые переменные окружения для VLLM
HUGGING_FACE_HUB_TOKEN= #для загрузки моделей с huggingface
VLLM_API_KEY= #для ограничения доступа к vllm api
- Сборка и запуск сервисов
docker-compose up --build -d
После запуска будут доступны следующие сервисы:
- 🌐 Веб-интерфейс:
http://localhost:6340
- 📊 Интерфес Qdrant:
http://localhost:6333/dashboard
- 🤖 VLLM API, совместимый с openai:
http://localhost:6336/v1
- 🔍 ColPali api:
http://localhost:6339
- Запуск данной сборки предусматривается на видеокарте NVIDIA Tesla A100 с 80Гб видеопамяти. Это обеспечивает лучший баланс используемых ресурсов и качества ответов
- Запуск сервиса возможен на двух видеокартах с 16ГБ видеопамяти (3080Ti, 4070Ti и мощнее). При этом рекомендуется использовать менее параметризованную версию Qwen2VL-7B-Instruct
- Сервис использует GPU с индексом 0 (можно изменить в docker-compose.yaml)
- Для Qdrant используется персистентное хранилище в ./qdrant_data
- Кэш Hugging Face моделей сохраняется между запусками
- VLLM настроен на использование 75% доступной GPU памяти
docker-compose down
docker-compose up -d
# Просмотр логов всех сервисов
docker-compose logs -f
# Просмотр логов конкретного сервиса
docker-compose logs -f [service-name]
- 🏢 Возможность развертывания на собственной инфраструктуре
- 🔐 Полный контроль над данными
- 📈 Возможность дообучения на корпоративных материалах
- 🔄 Простая интеграция с существующими системами
Развернуть список примеров
-
Запрос: "Как за 10 лет изменилось количество телепрограмм, привлекающих более 4-х млн. зрителей в Великобритании?"
-
Визуализация внимания модели при ответе на предыдущий вопрос
-
Визуализация внимания модели при ответе на предыдущий вопрос
-
Запрос: "Как развивался размер рынка инфлюенс-маркетинга в мире с 2016 по 2024 год?"
-
Визуализация внимания модели при ответе на предыдущий вопрос
-
Визуализация внимания модели при ответе на предыдущий вопрос
-
Визуализация внимания модели при ответе на предыдущий вопрос
-
Расширение модальностей
- Поддержка аудио и видео контента
- Улучшение работы с таблицами и графиками
-
Улучшение пользовательского опыта
- Настраиваемые фильтры поиска
- История поисковых запросов
-
Расширение функционала
- Автоматическое составление краткого содержания документов
- Генерация презентаций на основе найденной информации
- Система рекомендаций связанных документов
-
Технические улучшения
- Оптимизация скорости индексации
- Улучшение точности локализации информации
- Оптимизация объема используемых ресурсов
- Дообучение моделей под специальные сценарии
-
Интеграционные возможности
- API для интеграции с популярными системами документооборота
- Плагины для офисных приложений
- Мобильное приложение
👨💻 batterlake | Team Lead
- 🎯 Руководство проектом
- 🤖 Интеграция языковых моделей
- 🔍 Разработка векторной базы данных
- 🚀 Развертывание сервисов
👨💻 yozice | Full Stack Developer
- ⚡ Разработка бэкенда
- 🎨 Создание веб-интерфейса
- 🔄 Клиент-серверная архитектура
- 🌐 API интеграция
👨💻 sleeplessuser | ML Engineer
- 🧠 Моделирование
- 📊 Развертывание ColPali
- 🎯 Оптимизация моделей
- 📈 Подготовка финального решения