firebase/genkit

Open-source framework для создания AI-приложений на JavaScript, Go и Python, разработанный и используемый в продакшене Google

Агенты⭐ 6 452TypeScriptпоследний релиз: genkit-cli@1.43.0
Открыть на GitHub ↗Сайт проекта ↗

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

Genkit — это open-source фреймворк от Google Firebase для создания полнофункциональных AI-приложений с поддержкой JavaScript, Go, Python и Dart.

Зачем нужен

Инструмент упрощает интеграцию различных LLM (Google, OpenAI, Anthropic и др.) через единый интерфейс, абстрагируя сложность работы с моделями. Он полезен для быстрой разработки, тестирования и развертывания production-ready AI-решений с встроенными инструментами мониторинга и отладки.

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

  • Создание чат-ботов и систем рекомендаций с использованием агентных рабочих процессов (agentic workflows)
  • Разработка приложений с RAG (context-aware generation) для извлечения данных
  • Генерация структурированных данных (structured output) и мультимодального контента
  • Построение AI-автоматизации с использованием tool calling

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

  • Единый интерфейс для сотен моделей от разных провайдеров
  • Кросс-языковая поддержка (JS/TS, Go, Python, Dart) с консистентными API
  • Встроенные инструменты разработки: CLI, Developer UI для отладки промптов и трассировки выполнения
  • Production-мониторинг: отслеживание метрик, задержек и ошибок в реальном времени
  • Готовая интеграция с Next.js, React, Angular, iOS, Android и Firebase

👤 Кому подойдёт: разработчики (frontend, backend, fullstack), инженеры по машинному обучению, команды, строящие production AI-приложения

Релизы

genkit-cli@1.43.0minor
🕐 3 дн назад · релиз на GitHub ↗

В genkit-cli 1.43.0 добавлены команды для логов, поддержка OTLP, улучшен UI и обнаружение Java.

  • Added: Добавлена команда genkit log:list для просмотра структурированных логов времени выполнения.
  • Added: Реализована поддержка ingestion логов OTLP для потоковой передачи отладочных логов Python в Developer UI.
  • Added: Панель логов трассировки (trace logs) выделена в отдельный вид верхнего уровня в Developer UI.
  • Added: Добавлена возможность скачивания архивов Zip для артефактов агентов, состоящих из нескольких частей.
  • Fixed: Улучшено поведение возобновления (resume) для взаимодействий с участием человека в агентах.
  • Fixed: Исправлены иконкиspanов трассировки для companion-агентов (agent-wait, agent-snapshot, agent-abort).
py/v0.11.0minor
🕐 17 дн назад · релиз на GitHub ↗

Genkit v0.11.0: generate() сохраняет ответ при ошибках, добавлена асинхронная работа с Veo и унифицированы ошибки провайдеров.

  • Added: generate() теперь возвращает ModelResponse с остатком ответа вместо выброса исключения при отказе модели, превышении лимита инструментов или несовпадении схемы.
  • Added: Добавлена поддержка видео-моделей Veo через асинхронные операции: generate_operation запускает задачу, а check_operation позволяет опрашивать статус готовности.
  • Added: Все ошибки провайдеров (HTTP 400, 429, 503 и др.) теперь оборачиваются в единый тип GenkitError с понятными статусами, что упрощает обработку исключений.
  • Added: Параметр model= принимает не только имя, но и типизированный объект ModelRef для строгой настройки конфигурации.
go/v1.13.1patchbreaking
🕐 17 дн назад · релиз на GitHub ↗

Релиз v1.13.1 отменяет v1.13.0 и перемещает плагин A2UI в документированный путь a2ui/exp.

  • Breaking: Версия v1.13.0 отозвана и зафиксирована в go.mod.
  • Added: Плагин A2UI перемещён в пакет github.com/firebase/genkit/go/plugins/a2ui/exp.
  • Fixed: Исправлено несоответствие между фактическим путём пакета и документацией.
genkit@1.42.0minor
🕐 19 дн назад · релиз на GitHub ↗

Выпуск Genkit 1.42.0: новый плагин A2UI для потоковой отрисовки интерфейсов, исправления ошибок в плагинах Google и OpenAI.

  • Added: Добавлен плагин @genkit-ai/a2ui для потоковой отрисовки интерактивных интерфейсов (A2UI) прямо в агенте.
  • Added: Логи OpenTelemetry теперь включены по умолчанию, флаг отключения удален, настройки больше не перезаписываются.
  • Fixed: Исправлено отображение ошибок API в плагине google-genai: теперь middleware retry корректно реагирует на статусы и ошибки перегрузки.
  • Fixed: В плагине compat-oai исправлена карта статусов: неверные ключи теперь корректно возвращают UNAUTHENTICATED вместо PERMISSION_DENIED.
  • Added: В метаданные span для рендеринга добавлено имя промпта для улучшения удобства использования Dev UI.
genkit-cli@1.42.0minor
🕐 26 дн назад · релиз на GitHub ↗

В Dev UI добавлена поддержка OpenTelemetry, улучшена обработка ошибок и рендеринг сообщений, исправлена передача числовых параметров.

  • Added: В Dev UI теперь отображаются сообщения OpenTelemetry с предпросмотром атрибутов.
  • Added: Agent runner поддерживает session ID в AgentInit и показывает индикатор ошибок customPatch.
  • Added: Ошибки теперь помечаются статусом, возвращенным рантаймом, для лучшей диагностики.
  • Fixed: Исправлен рендеринг сообщений: теперь корректно отображается текст вместе с данными.
  • Fixed: Числовые параметры модели (temperature, topK) теперь передаются как числа, а не строки.
  • Fixed: Кнопка «Open in prompt runner» работает для рендер-спанов, а ответы инструментов отображаются корректно.
py/v0.10.0major
🕐 1 мес назад · релиз на GitHub ↗

Выпуск Python SDK v0.10.0: официальный плагин Amazon Bedrock, Firestore Session Store для агентов и поддержка Gemini 3.6/3.7 Flash.

  • Added: Официальный плагин genkit-amazon-bedrock с поддержкой Converse, эмбеддингов, генерации изображений и асинхронного Boto3.
  • Added: FirestoreSessionStore для надежного хранения сессий агентов с инкрементальными дифами и шардированием.
  • Added: Добавлены в каталог модели Gemini 3.6 и 3.7 Flash для явного закрепления версий.
  • Added: Унификация поведения SDK через кросс-платформенный тест конформности агентов.
  • Fixed: Снижение уровня шума в логах терминала для улучшения локальной разработки.
go/v1.12.0major
🕐 1 мес назад · релиз на GitHub ↗

Добавлены плагины для xAI, DeepSeek, DashScope, Kimi, Z.ai и OpenRouter с валидацией конфигов и улучшенным трейсингом.

  • Added: Появились плагины для xAI, DeepSeek, DashScope (Qwen), Kimi, Z.ai (GLM) и OpenRouter, интегрированные в переработанное ядро compat_oai.
  • Added: Внедрена строгая типизация конфигураций провайдеров: фреймворк валидирует параметры до отправки запроса, предотвращая списание средств за ошибки.
  • Added: Улучшена работа с reasoning: унифицированный доступ к ответам через resp.Reasoning() для DeepSeek, Kimi и OpenRouter, а также отслеживание стоимости через Usage.Custom.
  • Added: Обновлены плагины Google и Claude: добавлена поддержка Express Mode через API-ключ, настройка BaseURL, Headers, HTTPClient и чтение заголовков backoff при 429.
  • Fixed: Исправлена обработка ошибок: статусы теперь корректно передаются через middleware до HTTP-ответа, а ошибки SDK провайдеров классифицируются автоматически.
v1.41.0minorbreaking
🕐 1 мес назад · релиз на GitHub ↗

Добавлены модели GPT-5.x, ключи Anthropic теперь настраиваются на запрос, улучшен Dev UI и CLI.

  • Added: В плагин compat-oai добавлены модели GPT-5.2, 5.4, 5.4-mini, 5.4-nano и 5.5.
  • Added: Плагин Anthropic теперь поддерживает ключи API на уровне запроса, что удобно для мультиарендности.
  • Added: Dev UI: в Model Runner добавлена панель редактирования выходных схем и улучшен рендеринг JSON.
  • Breaking: google-genai plugin больше не сохраняет clientOptions в метаданных операций, что требует явной передачи ключей при checkOperation/cancelOperation.
  • Fixed: Исправлено определение расширения файлов для транскрипции, улучшена логика ретраев и исправлен вывод CLI trace:get.
py/v0.9.0majorbreaking
🕐 1 мес назад · релиз на GitHub ↗

Выпуск Genkit Python SDK v0.9.0: запуск Agents, реорганизация плагинов и улучшенная наблюдаемость.

  • Added: Официальный запуск Agents: добавлены абстракции Agent и Session для многооборотных рабочих процессов с сохранением состояния.
  • Added: Внедрена поддержка Human-in-the-Loop для прерывания и подтверждения действий, а также удаленные клиенты для взаимодействия с агентами.
  • Breaking: Полная реорганизация пакетов плагинов на PyPI: старые названия заменены на формат genkit-* (например, genkit-openai).
  • Added: Улучшена наблюдаемость: атрибуты спанов инициализируются сразу, что позволяет мгновенно отображать трассы в Developer UI.
  • Fixed: Исправлена совместимость с Gemini: роли сообщений строго нормализованы, а ссылки на инструменты привязаны к ID вызовов модели.
go/v1.10.0major
🕐 2 мес назад · релиз на GitHub ↗

Экспериментальный API агентов с многопоточным чатом, инструментами с прерываниями и мидлвэрами для делегирования.

  • Added: Добавлен экспериментальный API агентов (DefineAgent) с поддержкой многопоточного чата, потоковой передачи и сохранения состояния.
  • Added: Новый API инструментов (DefineTool) объединяет функционал и поддерживает прерывания (interrupts) и частичное потоковое обновление.
  • Added: Появились экспериментальные мидлвэры для делегирования задач между агентами и управления артефактами сессии.
  • Added: Реализована поддержка фоновых агентов с возможностью открепления (Detach) и опроса статуса через snapshot ID.
  • Added: Весь экспериментальный функционал доступен через опцию WithExperimental() и может меняться между минорными релизами.