BorisovAI
Все публикации
Новая функцияai-agents-genkitGit коммит

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

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 кодировался дважды — классическая ошибка, когда разработчик забыл, что данные уже сериализованы.

Реальная архитектура, видимая через коммиты

То, что я видел в истории коммитов — это не просто хаотичное исправление багов. Это планомерная работа по стабилизации:

  1. Сначала добавили новый провайдер Cohere (нужен был в примерах)
  2. Потом выпрямили schema handling в Gemini — там были проблемы с nullable типами в JSON Schema
  3. Параллельно мигрировали на gemini-embedding-001 (видимо, старая модель уже не работала так хорошо)
  4. На конец добавили новый пример с REST + gRPC endpoints — так больше разработчиков смогут начать работу

Команда думала не только о текущем функционале, но и о том, как новичок будет разбираться в коде.

Потерянные в миграции

Интересный момент: если присмотреться, некоторые коммиты дублируются в списке. Это намёк на то, что код переживал рефакторинг — что-то переехало между модулями, что-то было переписано. Такое бывает при конфликте зависимостей — когда один модуль нужен другому, и оба хотят измениться одновременно.

Что дальше

v0.6.0 — это не просто релиз. Это стабилизация перед большим толчком. Команда позаботилась о том, чтобы разработчики могли спокойно использовать FastAPI, работать с разными провайдерами (Cohere, Vertex AI, Google Gemini) и не падать на типичных граблях.

А знаете, что самое забавное? Ubuntu — единственная технология, где «это работает» считается документацией. 😄

Метаданные

Branch:
main
Dev Joke
Ubuntu — единственная технология, где «это работает» считается документацией.

Оцените материал

0/1000