AIKraft Agents

flyteorg/flyte

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

LLMOps⭐ 7 842Goпоследний релиз: v2.0.54
Открыть на 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.54minor
🕐 2 дн назад · релиз на GitHub ↗

Релиз Flyte v2.0.54: улучшена работа с очередями, таймаутами, мониторингом и Kubernetes-кластерами, исправлены ошибки в плагинах и хранилище.

  • Added: Добавлена возможность настройки количества реплик executor в Helm-чартах flyte-core.
  • Added: Внедрено отслеживание таймаутов (TimeoutStrategy.deadline) для всех попыток выполнения задачи.
  • Added: Реализована поддержка Kueue: автоматическое возобновление прерванных gang-задач при их повторном допуске.
  • Added: Добавлены метрики и трассировка для PostgreSQL (через otelsql) и Redis (через redisotel-native).
  • Fixed: Исправлена ошибка в плагинах: теперь фильтруются только собственные поды задачи, а не все доступные.
  • Fixed: Устранена проблема с потерей уведомлений: watch-стримы теперь корректно синхронизируются.
v2.0.53minor
🕐 10 дн назад · релиз на GitHub ↗

Релиз Flyte v2.0.53: улучшена работа с GPU, исправлен кэш и загрузка данных, обновлен Go до 1.27.3.

  • Added: Добавлена поддержка очередей в API загрузки данных и метаданных задач.
  • Added: Улучшена обработка GPU: сохранены настройки акселераторов и добавлена поддержка MIG.
  • Fixed: Исправлена логика обновления кэша для записей старше maxCacheAge.
  • Fixed: Устранена ошибка списания попыток при недоступном статусе завершения задачи.
  • Added: Обновлена версия Go до 1.27.3 и ряд зависимостей.
v2.0.52minor
🕐 16 дн назад · релиз на GitHub ↗

Обновление до Go 1.27, поддержка HPA в Helm, улучшение обработки отмен Kueue и оптимизация загрузки файлов.

  • Added: Обновлена версия Go до 1.27.
  • Added: Добавлена поддержка Horizontal Pod Autoscaler (HPA) в Helm-чарт flyte-core.
  • Added: Отмены задач Kueue теперь классифицируются как пользовательские или системные повторы.
  • Added: Запущена поддержка акселераторов Apple Silicon для devbox.
  • Fixed: Исправлена загрузка файлов: добавлено ограничение на параллельность для сохранения лимита памяти.
  • Fixed: Улучшена работа с Redis: унификация конфигурации и поддержание соединения при сбоях пинга.
v2.0.51minor
🕐 29 дн назад · релиз на GitHub ↗

Исправления Kueue и Copilot, поддержка NVIDIA RTX PRO 4500, плагинные мутаторы подов и новые поля в IDL.

  • Fixed: Исправлена обработка прерываний Kueue как системных повторов и корректное отображение приостановленных JobSets.
  • Added: Добавлена поддержка ускорителя NVIDIA RTX PRO 4500.
  • Added: Executor webhook получил плагинные мутаторы подов/нод и исправления инъекции секретов.
  • Added: В TaskTemplate добавлено поле worker_kind, а в SelectClusterRequest — queue_id.
  • Fixed: Исправлена загрузка multipart-блобов через аутентифицированное хранилище и обработка Optional[File] в Copilot.
v1.16.9minor
🕐 1 мес назад · релиз на GitHub ↗

Релиз Flyte v1.16.9: добавлен плагин sleep, исправлены ошибки Ray и gRPC, обновлены зависимости.

  • Added: Добавлен новый плагин sleep для организации задержек в воркфлоу.
  • Fixed: Исправлена блокировка (deadlock) в auth interceptor при сбое обновления токена.
  • Fixed: Устранена проблема разделения параметров запуска в плагине RayJobs.
  • Fixed: Исправлено отображение NaN в деталях выполнения через flytectl.
  • Fixed: Обновлены gRPC и другие зависимости для устранения уязвимостей CVE.
v2.0.49minor
🕐 1 мес назад · релиз на GitHub ↗

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

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

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

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

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

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

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

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

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

  • Added: Появилась возможность привязывать входные параметры приложений к зафиксированным версиям артефактов.
  • Added: Добавлена возможность перечислять приложения, фильтруя их по потребляемым артефактам.
v2.0.39minor
🕐 3 мес назад · релиз на 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
🕐 3 мес назад · релиз на 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
🕐 3 мес назад · релиз на GitHub ↗

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

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

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

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

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

  • Added: Добавлен метод ArtifactService.ListArtifactNames, возвращающий уникальные имена артефактов с количеством версий.
v2.0.27minor
🕐 4 мес назад · релиз на 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-настройки.