flyteorg/flyte

Динамичная и устойчивая оркестрация AI. Координируй данные, модели и вычисления при создании AI-воркфлоу.

LLMOps⭐ 7 542Goпоследний релиз: v2.0.49
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

Flyte 2 — это оркестратор для построения масштабируемых ML-пайплайнов и агентов на чистом Python с поддержкой асинхронности.

Зачем нужен

Инструмент позволяет координировать выполнение задач с данными, моделями и вычислительными ресурсами, обеспечивая надежность и отказоустойчивость процессов. Он полезен для создания сложных рабочих процессов (workflows), где требуется параллельное выполнение задач и управление зависимостями.

Что можно реализовать

  • Построение масштабируемых ML-пайплайнов с использованием чистого Python
  • Оркестрация работы AI-агентов и моделей
  • Запуск асинхронных задач с параллельным выполнением (asyncio.gather)
  • Локальная разработка и тестирование ML-сервисов через TUI
  • Развертывание моделей как сервисов (FastAPI) в контейнеризованной среде

Ключевые возможности

  • Разработка пайплайнов на чистом Python без сложной конфигурации
  • Встроенная поддержка асинхронности и параллельного выполнения задач
  • Локальная среда разработки с TUI (Terminal User Interface)
  • Возможность сервинга моделей через FastAPIAppEnvironment
  • Статус Graduated проекта от LF AI & Data Foundation

👤 Кому подойдёт: ML-инженеры, разработчики AI-приложений и Data Scientists, работающие с Python

Релизы

v2.0.49minor
🕐 2 дн назад · релиз на GitHub ↗

Исправления в executor (таймауты, прерывания, ошибки), новые методы работы с артефактами и рефакторинг настроек запусков.

  • Fixed: Исправлено поведение executor: таймауты теперь считаются на одну попытку, а прерываемость задач учитывается корректно.
  • Added: Добавлены методы для удаления артефактов и сортировки их списков по ключам.
  • Fixed: Исправлено применение настроек к спецификации запуска при его создании и учёт организации в ключах хранилища.
  • Fixed: Сырые контейнеры теперь могут корректно сообщать о постоянных ошибках, а метаданные подов передаются в JobSet.
  • Added: Решение настроек вынесено в отдельную callable-функцию для использования вне обработчиков.
v2.0.48majorbreaking
🕐 17 дн назад · релиз на GitHub ↗

В Flyte v2.0.48 добавлена поддержка множественных родителей артефактов для построения DAG-истории, что является ломающим изменением IDL.

  • Breaking: Поля parent_artifact заменены на повторяющиеся parent_artifacts (до 32 элементов) в ArtifactSpec и ProducedArtifact.
  • Added: Артефакты теперь могут иметь несколько версий-родителей, формируя полный DAG истории с поддержкой слияний.
  • Added: Фильтр parent_name+parent_version в ListArtifacts теперь ищет артефакты, у которых указанная версия является одной из родителей.
  • Added: Добавлены ограничения длины через buf.validate для ключей артефактов (org до 63, domain до 64, name до 255) и версий (до 255).
v2.0.47majorbreaking
🕐 18 дн назад · релиз на GitHub ↗

В Flyte v2.0.47 lineage артефактов стал полноценным справочником, а публикация npm-пакетов переведена на OIDC.

  • Breaking: Заменены строковые поля parent_version на ArtifactSpec.parent_artifact и ProducedArtifact.parent_artifact (core.ArtifactVersionId) для кросс-именного lineage.
  • Added: Lineage теперь поддерживает связь моделей с версиями датасетов; пустые ключи наследуют scope и имя от дочернего элемента.
  • Added: Публикация пакетов @flyteorg/flyteidl2 в npm переведена на доверенную публикацию через OIDC.
v2.0.46minor
🕐 18 дн назад · релиз на GitHub ↗

Flyte v2.0.46: отслеживание происхождения артефактов и перезапуск JobSet без расхода бюджета.

  • Added: Добавлено поле parent_version для отслеживания происхождения версий артефактов, что позволяет вести нелинейную историю изменений.
  • Added: Задачи JobSet теперь перезапускаются при техническом обслуживании хоста без списания средств из бюджета перезапусков.
  • Fixed: Обновлены зависимости: OpenTelemetry, AWS SDK Go v2, Sentry, gRPC и компоненты Kubernetes API.
v2.0.45minor
🕐 20 дн назад · релиз на GitHub ↗

Релиз Flyte v2.0.45: улучшена работа с настройками запусков, добавлен Helm-чарт и хук для мутации PodSpec.

  • Added: Добавлен механизм слияния настроек (settings merge engine) и валидация параметров при создании и обновлении запусков.
  • Added: Внедрен универсальный хук мутации PodSpec в flytek8s и добавлена возможность настройки максимального возраста кэша на уровне задачи.
  • Added: Добавлен начальный Helm-чарт flyte-core и новый метод ListArtifactMetadataKeys в ArtifactService.
  • Fixed: Исправлено использование secretKeyRef для секретов вместо их прямого помещения в спецификацию пода.
  • Fixed: Улучшена классификация сбоев GPU на основе Xid-событий и исправлена запись документов об ошибках в copilot.
v2.0.43minor
🕐 1 мес назад · релиз на GitHub ↗

Релиз Flyte v2.0.43: внедрение слоя хранения настроек, поддержка Human-in-the-loop в UI и исправления стабильности.

  • Added: Реализован слой хранения настроек (settings persistence layer) и добавлены CRUD-хендлеры для управления конфигурациями.
  • Added: В UI добавлена поддержка сигнала Human-in-the-loop (HITL), исправлено отображение входных данных после такого сигнала.
  • Added: В протобуферы настроек добавлено поле pod_template_name; задачи теперь помечаются метками run, action и attempt.
  • Fixed: Исправлено отображение msgpack IO с нестроковыми ключами, устранена проблема с блокировкой сигналов действий.
  • Fixed: Исполнитель больше не повторяет запросы с ошибкой 400 от Kubernetes; исправлена обработка статуса отклонения в UpdateActionStatus.
  • Added: Обновлены зависимости: Go 1.26.6, AWS SDK, Azure SDK, Knative 0.50.0, а также добавлена кэш-слой для образов devbox.
v2.0.42patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлена работа Ray Autoscaler и устранена проблема с общим состоянием параметров у RayJobs.

  • Fixed: Обновлен бэкенд и плагин для корректной обработки опции Ray Autoscaler.
  • Fixed: Исправлено разделение параметров запуска, чтобы RayJobs больше не использовали общую карту start-params плагина.
v2.0.41minor
🕐 1 мес назад · релиз на GitHub ↗

Исправления Spark, PyTorch, cron-триггеров и гонки состояний; новые метрики OTel, кэширование и настройка KubeRay.

  • Fixed: Исправлена работа cron-триггеров с учетом часовой зоны и устранена гонка в бэкенде событий.
  • Fixed: Улучшена интеграция Spark: корректная передача спецификаций подов и объявление версии Spark.
  • Fixed: PyTorchJob теперь корректно передает метаданные подов в CR.
  • Added: Добавлены панели мониторинга для TaskAction GC и метрики OpenTelemetry.
  • Added: Реализована ленивая загрузка логов и опциональное ограничение кэша информера одним неймспейсом.
v2.0.40minor
🕐 1 мес назад · релиз на GitHub ↗

В Flyte v2.0.40 добавлена привязка входных параметров приложений к конкретным версиям артефактов и возможность фильтрации приложений по потребляемым артефактам.

  • Added: Появилась возможность привязывать входные параметры приложений к зафиксированным версиям артефактов.
  • Added: Добавлена возможность перечислять приложения, фильтруя их по потребляемым артефактам.
v2.0.39minor
🕐 1 мес назад · релиз на GitHub ↗

Релиз Flyte v2.0.39: исправление зависания задач, новые типы связей запусков, поддержка cluster_id и улучшение логирования.

  • Fixed: Исправлено зависание составных кластерных задач в статусе RUNNING из-за длинных имен подов JobSet.
  • Added: Добавлены новые типы связей запусков: TRIGGERED и ON_ARTIFACT.
  • Added: В SelectClusterRequest добавлен cluster_id и новая операция OPERATION_GET_CLUSTER_CONFIG.
  • Added: Стали доступны настраиваемые хосты для API и известных ingress-маршрутов.
  • Fixed: Убраны остатки ссылок Istio из devbox-bundled для корректного применения манифестов knative в k3s.
v2.0.38minorbreaking
🕐 1 мес назад · релиз на GitHub ↗

Релиз v2.0.38: добавлен интерфейс ClusterPlugin, переименован LocalRunService в TrackedRunService, обновлены зависимости и Go до 1.26.5.

  • Added: Добавлен интерфейс ClusterPlugin для плагинов общего кластера.
  • Added: В Copilot добавлена инъекция конфигурации хранилища учетных данных через секретный том.
  • Breaking: Сервис LocalRunService переименован в TrackedRunService.
  • Fixed: Обновлен Go до версии 1.26.5 и go-openapi/swag до v0.28.0.
  • Fixed: Обновлены зависимости gRPC и AWS Secrets Manager SDK.
v2.0.37minor
🕐 1 мес назад · релиз на GitHub ↗

Релиз Flyte v2.0.37: добавлена опциональная стек мониторинга для devbox, настраиваемая длительность повторных попыток задач и исправления конфигурации.

  • Added: Добавлена опциональная поддержка стека Grafana/Prometheus/OpenTelemetry в режиме разработки (devbox).
  • Added: Стала доступна настройка длительности повторных попыток (requeue) для TaskAction.
  • Added: В Helm-чарт добавлена возможность установки переменных окружения для контейнера консоли.
  • Fixed: Исправлены проблемы с конфигурацией Viper (изменения были добавлены, а затем отменены).
  • Fixed: Улучшена работа CI-джоб: переработан чек качества PR, увеличен лимит сбоев и добавлена защита от спама.
v2.0.36minor
🕐 1 мес назад · релиз на GitHub ↗

В Flyte v2.0.36 добавлен LocalRunService, обновлены зависимости AWS SDK и внедрена автоматизация триггеров артефактов.

  • Added: Добавлен LocalRunService для отчетности о локально оркестрируемых запусках.
  • Added: Внедрена автоматизация триггеров артефактов: TYPE_ARTIFACT и ArtifactTrigger.
  • Deprecated: Добавлены подсостояния масштабирования, верхнеуровневые статусы развертывания помечены как устаревшие.
  • Fixed: Обновлены зависимости AWS SDK Go v2 до последних версий.
v2.0.35minor
🕐 1 мес назад · релиз на GitHub ↗

В Flyte v2.0.35 добавлен метод ListArtifactNames для получения уникальных имён артефактов с подсчётом версий.

  • Added: Добавлен метод ArtifactService.ListArtifactNames, возвращающий уникальные имена артефактов с количеством версий.
v2.0.27minor
🕐 2 мес назад · релиз на GitHub ↗

Добавлены поля cluster_pool и related_to в RunSpec, улучшена работа Flyte Connectors и исправлены логи Ray.

  • Added: В RunSpec добавлены поля cluster_pool и related_to для привязки к родительскому запуску.
  • Added: Мигрирована конфигурация и настройки по умолчанию для Flyte Connectors.
  • Fixed: Исправлено логирование в плагине Ray: отключены ANSI-коды и прогресс-бары.
  • Fixed: В бинарнике Flyte по умолчанию инжектируются переменные окружения для callback-уведомлений.
  • Added: Добавлена настройка run_base_dir в proto-настройки.