Как превратить LLM-разметку в универсальный Spark-пайплайн

TL;DR: мы сделали llm_markup — Spark-приложение для массовой обработки данных через LLM API в существующем Airflow-контуре. Источник данных, промпт, формат ответа, лимиты и целевая таблица задаются конфигурацией. Инструмент берет на себя батчинг, распределение запросов, контроль нагрузки на API, валидацию ответов и сопоставление результата с исходными строками.
Меня зовут Дима Иванов, я дата-инженер в Lamoda Tech. Я работал над llm_markup и в этой статье расскажу, как мы пришли к его архитектуре и какие задачи пришлось решить, чтобы инструмент стабильно работал в продакшене. Разберем это на двух примерах: оценке качества поиска и классификации негативных отзывов.