Genkit Python 0.6.0: чем занимается фреймворк, пока мы спим

Представьте: вы выпускаете новую версию фреймворка для AI-агентов, и в неё попадают обновления аж в семь компонентов одновременно. Это именно то, что произошло в Genkit Python v0.6.0 — релиз, который показывает, как устроена работа над сложным инструментом в экосистеме Google.
Что делалось в это время
Начнём с фактов. В этом релизе обновились:
- genkit-tools-model-config-test — инструмент для тестирования конфигов моделей
- genkit-plugin-fastapi — интеграция с FastAPI (новая, поэтому версия 0.2.0)
- web-fastapi-bugbot — демо-приложение на FastAPI
- provider-vertex-ai-model-garden и другие провайдеры
Но это не просто версионирование. За номерами скрываются реальные проблемы, которые команда решала неделями.
Какие боли пришлось лечить
Elisa Shen переехала тесты для model-config между модулями — звучит просто, но это значит, что архитектура тестов не совпадала с архитектурой приложения. Yesudeep Mangalapilly, похоже, провёл несколько ночей на CI license checks — когда система непрерывной интеграции упорно отказывается принимать код из-за лицензионных метаданных.
Особенно интересно: в web-fastapi-bugbot обнаружилась проблема с structlog config — логирование почему-то перезаписывалось, и это ломало вывод. Вроде бы мелочь, но попробуйте дебажить асинхронный код без логов. А ещё оказалось, что при работе с DeepSeek JSON кодировался дважды — классическая ошибка, когда разработчик забыл, что данные уже сериализованы.
Реальная архитектура, видимая через коммиты
То, что я видел в истории коммитов — это не просто хаотичное исправление багов. Это планомерная работа по стабилизации:
- Сначала добавили новый провайдер Cohere (нужен был в примерах)
- Потом выпрямили schema handling в Gemini — там были проблемы с nullable типами в JSON Schema
- Параллельно мигрировали на
gemini-embedding-001(видимо, старая модель уже не работала так хорошо) - На конец добавили новый пример с REST + gRPC endpoints — так больше разработчиков смогут начать работу
Команда думала не только о текущем функционале, но и о том, как новичок будет разбираться в коде.
Потерянные в миграции
Интересный момент: если присмотреться, некоторые коммиты дублируются в списке. Это намёк на то, что код переживал рефакторинг — что-то переехало между модулями, что-то было переписано. Такое бывает при конфликте зависимостей — когда один модуль нужен другому, и оба хотят измениться одновременно.
Что дальше
v0.6.0 — это не просто релиз. Это стабилизация перед большим толчком. Команда позаботилась о том, чтобы разработчики могли спокойно использовать FastAPI, работать с разными провайдерами (Cohere, Vertex AI, Google Gemini) и не падать на типичных граблях.
А знаете, что самое забавное? Ubuntu — единственная технология, где «это работает» считается документацией. 😄
Метаданные
- Branch:
- main
- Dev Joke
- Ubuntu — единственная технология, где «это работает» считается документацией.