tgoop.com/smlttech/1004
Last Update:
Data-инструменты в действии: от контроля доступа до своей LLM-платформы
В первой части мы рассказали, как устроена архитектура нашей data-платформы.
Сегодня — о том, как мы используем эти инструменты: управляем доступом к данным, настраиваем маскирование, запускаем свои языковые модели и следим за качеством данных в автоматическом режиме.
📚 Управление метаданными и версиями данных
Мы используем связку DataHub и Project Nessie.
DataHub помогает искать таблицы, отслеживать lineage, назначать владельцев и управлять доступом.
А Project Nessie — это как Git для данных: можно создавать ветки, откатываться на предыдущие версии, тестировать изменения в изолированной среде и потом сливать их в прод. Всё работает с Apache Iceberg и другими lakehouse-форматами.
🔎 Маскировка данных на уровне запросов
Для защиты чувствительных данных мы встроили Open Policy Agent в пайплайн SQL-запросов.
Когда пользователь делает запрос через Trino, OPA проверяет его роль и подставляет маски вместо настоящих значений (например, ***@domain.com
или +7 *** *** 45
).
Политики доступа настраиваются через Keycloak и Open Policy Agent, а управление ролями — через Active Directory. Это работает прозрачно для пользователя и безопасно для бизнеса.
🧠 Open WebUI: свой интерфейс для работы с LLM
Мы используем Open WebUI как внутреннюю альтернативу ChatGPT. Интерфейс разворачивается внутри нашей инфраструктуры и позволяет работать с локальными и внешними языковыми моделями — без отправки данных в облако.
Поддерживаются модели вроде Llama 3, Phi-3, Ollama, vLLM, LM Studio и другие. Можно загружать документы, использовать RAG (Retrieval-Augmented Generation) и подключать плагины, например, для генерации изображений через Stable Diffusion.
Open WebUI встроен в нашу data-инфраструктуру и использует тот же Kubernetes-кластер и доступ через Keycloak.
✅ Платформа качества данных (DQ Platform)
Мы разработали продукт, который оркестрирует десятки тысяч автотестов данных через Apache Airflow.
Каждый тест запускается изолированно в Kubernetes, с динамической конфигурацией DAG-ов из GitLab и DQ Metastore (на PostgreSQL).
Мы тестируем как сырые данные (stage layer), так и витрины (ODS, DDS, CDM). Для выполнения тестов используем DuckDB и Trino — это позволяет обойтись без запуска Spark-сессий и снижает нагрузку.
Отчеты о результатах формируются автоматически и отправляются по почте командам аналитиков и DQ-инженеров.
Мы продолжаем развивать платформу, добавлять новые пайплайны, улучшать пайплайн маскировки, расширять каталог и интеграции с ML.
#строим
BY SMLTECH

Share with your friend now:
tgoop.com/smlttech/1004