VMK 360 Data Collector
Описание
Сервис приёма, нормализации и ИИ-обогащения данных об объектах недвижимости.
- Принимает полусырые данные от парсеров через REST API
- Валидирует: AI определяет, является ли payload объявлением о недвижимости
- Нормализует: приводит неструктурированные данные к единому формату
- Обогащает: анализ изображений (vision) + текстовый анализ (NER, summary, оценка цены)
- Сохраняет в PostgreSQL с полной историей изменений (snapshots)
Быстрый старт
# 1. Запуск PostgreSQL и Ollama (опционально)
docker compose up -d
# 2. Установка зависимостей
pip install -e ".[dev]"
# 3. Копирование .env
cp .env.example .env
# 4. Применение миграций
alembic upgrade head
# 5. Запуск приложения
uvicorn vmk_data_collector.main:app --reload --port 8000
API
POST /api/v1/properties/ingest — приём сырых данных от парсеров
Архитектура
Сервис построен по слоистой архитектуре:
- API Layer — FastAPI, Pydantic валидация
- Service Layer — PropertyPipeline, AI-нормализация, обогащение
- Repository Layer — абстракция доступа к PostgreSQL
- Domain Layer — чистые сущности недвижимости
- Infrastructure Layer — Ollama client, image downloader, логирование
Документация