
Локальная LLM помогает мигрировать витрины из Vertica в Trino: практический опыт
Команда BI‑разработчиков Avito описала, как построили пайплайн миграции данных с помощью локальной LLM, какие проблемы возникли и какие инженерные решения нашли.
Что произошло
В статье от 31 августа 2026 команда BI‑разработчиков коммерческого департамента Avito (Алексей Дубинец и Павел Беспалов) поделилась опытом построения потока миграции витрин данных из Vertica в Trino с помощью локальной LLM. Цель – автоматизировать генерацию и адаптацию SQL‑скриптов, сократить ручную работу и ускорить процесс перехода.
Ключевые факты
- Модель: локальная LLM‑модель 7 B параметров, запущенная в контейнере Docker на выделенном сервере.
- Проблемы: модель часто «не тянула» сложные запросы, генерировала синтаксические ошибки и не учитывала специфические функции Vertica.
- Наивные решения, такие как простое «prompt‑to‑SQL», приводили к 40 % отказов.
- Инженерные решения:
- Retrieval‑augmented generation (RAG) – добавление справочников по синтаксису Vertica и Trino в контекст.
- Chain‑of‑thought prompting – разбивка задачи на несколько шагов (анализ схемы → построение базового запроса → адаптация).
- Fallback‑engine – при неудаче LLM переключается на шаблонный генератор, написанный на Python.
- Контроль качества – парсинг с помощью
sqlglot, статический анализ и автоматическое тестирование на небольших подвыборках.
- Результат: за первые две недели миграции удалось автоматизировать ≈70 % запросов, а общее время переноса снизилось на 30 % по сравнению с полностью ручным процессом.
Ссылки
- Оригинальная статья на Habr AI: https://habr.com/ru/companies/avito/articles/1075942/
- Репозиторий с примером пайплайна (GitHub): https://github.com/avito/vertica2trino-llm
Что дальше
Команда планирует добавить интерактивный UI для ручного уточнения запросов и расширить модель до 13 B параметров, чтобы покрыть более сложные трансформации.
Для AI‑разработчиков и студентов это яркий пример того, как **LLM‑технологии интегрируются в традиционные ETL‑процессы**. Главное – не полагаться только на «магический» вывод модели, а строить вокруг неё слой валидации, RAG‑контексты и fallback‑механизмы. Такой подход снижает риск ошибок и делает автоматизацию более предсказуемой, особенно в критичных BI‑сценариях.


