Гайд · TNWS AI

Как перейти с generateContent на Gemini Interactions API и не сломать приложение

2 мин

Практическая миграция Gemini API: соответствие contents и input, история через previous_interaction_id, store:false и поэтапная проверка.

Переходите поэтапно: сначала заверните старый и новый вызов в один интерфейс приложения, затем сравните ответы, ошибки и расход на одинаковом наборе запросов. generateContent в 2026 году остаётся поддерживаемым, поэтому миграция не должна быть аварийной. Главное различие — Interactions API представляет один ход как ресурс Interaction и умеет продолжать состояние по previous_interaction_id.

Рабочий пример

// Было
const oldResponse = await ai.models.generateContent({
  model: "gemini-2.5-flash",
  contents: "Сожми текст до 200 знаков"
});
console.log(oldResponse.text);

// Стало
const first = await ai.interactions.create({
  model: "gemini-3.8-flash",
  input: "Сожми текст до 200 знаков",
  store: false
});
console.log(first.output_text);

Что означает каждая важная часть

  • contents в простом однопроходном сценарии превращается в input. Сложные роли и мультимодальные части требуют явного сопоставления типов.
  • Вместо чтения response.text используется interaction.output_text; вызовы инструментов находятся в шагах Interaction.
  • Историю можно оставить клиентской с store:false либо поручить API и передавать previous_interaction_id. Эти режимы нельзя смешивать без ясной модели данных.
  • Новые возможности в дальнейшем появляются прежде всего в Interactions API, согласно текущей документации Google.

Порядок внедрения

  1. Снимите 20–50 реальных обезличенных запросов и сохраните критерии успешности.
  2. Сделайте адаптер с единым результатом {text, id, status, usage} для обоих API.
  3. Запустите новый API на малой доле трафика и сравните ошибки, задержку и качество по заранее заданным правилам.
  4. Отдельно протестируйте system instructions, изображения, streaming и инструменты: механическое переименование поля там недостаточно.
  5. После переключения оставьте быстрый rollback до завершения наблюдения.

Как проверить результат

Для каждого теста сравнивайте не буквальное совпадение текста, а контракт: длину, наличие обязательных полей, корректность ссылок, успешность вызова инструмента. Проверьте также отмену запроса, таймаут и повтор после 429. Миграция завершена, когда новый путь проходит тот же набор тестов и метрики не деградируют за установленный допуск.

Ограничения

Модель в примерах старого и нового кода различается, поэтому такой фрагмент показывает синтаксис, а не честный A/B-тест. Для сравнения используйте одну доступную модель в обоих интерфейсах. Серверное состояние упрощает беседу, но меняет требования к хранению и удалению данных.

Чего не делать

  • Не переключайте весь трафик после одного удачного запроса.
  • Не сравнивайте две разные модели и не приписывайте разницу только API.
  • Не теряйте tool calls при сведении результата к одной строке.

Частые вопросы

Можно ли использовать пример в production?

Как основу — да, но добавьте авторизацию, таймауты, обработку ошибок, лимиты и тесты из статьи.

Где проверять актуальное имя модели?

В официальном каталоге Gemini API и Google AI Studio непосредственно перед развёртыванием.

Нужно ли доверять ответу без проверки?

Нет. Формат проверяется кодом, а важные факты — источником или вашей базой данных.

Что делать при изменении API?

Зафиксировать версию SDK, прочитать release notes и прогнать сохранённый набор интеграционных тестов.

Официальный источник

Документация Google, проверена 11 сентября 2026 года: https://ai.google.dev/gemini-api/docs/interactions-overview

Читайте также

Комментарии

Пока тихо. Скажите первое слово