Описание
Описания нет
Задачи
•ETL из СУБД, построение DWH со SCD2-историей
•RAG-слой на pgvector (семантический поиск по шаблонам запросов и описаниям таблиц)
•Интеграция с локальной LLM через Spring AI
•Безопасная валидация и исполнение сгенерированного SQL
•API-слой между дашбордом/чатом и данными
Требования
•Java/Kotlin + Spring Boot — уверенный уровень, это основа всего стека
•Spring Boot REST API — разработка backend-слоя для чат-интерфейса дашборда
•Spring Batch — джобы инкрементальной загрузки, идемпотентность (повторный запуск без дублей), обработка частичных сбоев
•PostgreSQL + pgvector — установка расширения, проектирование логических схем (dwh и semantic_search в одной БД), права доступа, партиционирование по времени
•SQL продвинутого уровня — оконные функции, CTE, оптимизация запросов
•SCD Type 2 на практике (valid_from/valid_to/is_current)
•Flyway (или аналог) — версионирование миграций схемы
•Spring AI: ETL Pipeline (DocumentReader → Transformer → Writer) — кастомные ридеры под ЕПВО, обогащение метаданными
•PgVectorStore — настройка размерности вектора, выбор индекса (HNSW)
•ChatClient + Advisors — сборка RAG-контекста, chat memory
•Tool/Function calling — логика "шаблон → фолбэк на генерацию SQL"
•OllamaChatModel / OllamaEmbeddingModel — интеграция с локальной моделью
•JSqlParser (или аналог) — валидация сгенерированного SQL: только SELECT, whitelist схем/таблиц, лимиты строк и времени
•Настройка read-only доступа на уровне JDBC-соединения
•Логирование пайплайна "вопрос → шаблон/SQL → результат" для аудита
Будет плюсом: опыт администрирования GPU-инфраструктуры (Ollama, CUDA)
Условия
Условий в вакансии нет