Skip to content

Eg0Mak/AQUA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

114 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image

AQUA - Artificial Query Analyzer

Описание задачи

Необходимо разработать интеллектуальный сервис с применением языковых моделей (LLM), который будет анализировать SQL-запросы, логическую и физическую структуру хранилища данных на базе S3, Apache Iceberg, Trino и Spark.

Цель - выдавать рекомендации по изменению запросов и моделей хранения для повышения производительности и более рационального использования ресурсов.

Актуальность

Современные Data Lakehouse - системы обеспечивают гибкость и масштабируемость для хранения и аналитики данных, но быстрое развитие технологий делает задачу их оптимизации крайне важной. Автоматизированные рекомендации по улучшению производительности позволяют компаниям снижать издержки и ускорять аналитику.

Ресурсы

Текущая схема данных (DDL), список запросов и количество выполнений каждого запроса, строка подключения к демонстрационному датасету в Trino (для оценки состава данных). Вычислительные мощности для отработки запросов для финалистов.

Состав

  • Егор Шипилов – ML-engineer
  • Никита Кирнасов – Fullstack-разработчик
  • Владислав Апухтин – Data Scientist
  • Фёдор Дубовицкий – Data Storyteller
  • Ярослав Кудрявцев – Капитан, Data Analyst

Схема архитектуры VK Data Lakehouse

Схема архитектуры VK Data Lakehouse

Описания решения

Основной технологический стек

Backend & AI-компоненты:

FastAPI + Uvicorn - высокопроизводительный REST API и ASGI-сервер для развертывания

Подробнее про API

SQLCoder 2 + SFT/LoRA - базовая LLM с эффективным дообучением через адаптеры RAG-система + Optuna - база знаний по оптимизации запросов с автоматической настройкой гиперпараметров

Подробнее про ML

Бенчмарк-система:

Кастомный модуль оценки - проверка валидности, безопасности и оптимизации SQL-запросов Многокритериальная оценка Интегральные метрики - взвешенная оценка качества запросов

Подробнее про бенчмарк

Реструктуризация базы данных:

Анализ SQL-запросов во временном ряду и построение графа нагрузки, чтобы выявлять узкие места и предлагать оптимизацию структуры БД.

Подробнее про реструктуризацию базы данных

Рабочий процесс:

  • Запрос через REST API → пользователь отправляет SQL-запрос

  • Бенчмарк SQL-запроса до обработки

  • Обработка моделью → система анализирует и оптимизирует запрос с использованием контекста из RAG

  • Возврат результата → клиент получает оптимизированную версию запроса

  • Бенчмарк SQL-запроса после обработки

About

LLM-powered SQL optimization service with RAG, SQLCoder fine-tuning, FastAPI, and custom query benchmarking

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors