Gemini на Vertex AI: одно изображение работает в AI Studio, изображение с несколькими изображениями/аннотациями зависаетPython

Программы на Python
Ответить
Anonymous
 Gemini на Vertex AI: одно изображение работает в AI Studio, изображение с несколькими изображениями/аннотациями зависает

Сообщение Anonymous »

Я вызываю модель Gemini с поддержкой изображений (мультимодальную, поддерживает вход изображения + изображение/вывод текста, предварительный просмотр изображения 3 pro) через Vertex AI с помощью Google GenAI Python SDK (

Код: Выделить всё

google-genai). Вариант использования – отправка одного или двух изображений плюс текстовое приглашение и получение структурированного ответа (например, JSON с изображением в формате Base64 или встроенным изображением).
[list]
[*][b]Что работает:[/b] В [b]Google AI Studio[/b] тот же тип запроса с [b]одним изображением[/b] и текстовым приглашением работает и возвращается в разумные сроки.

[*][b]Чего нет:[/b] Когда я использую [b]Vertex AI[/b] из кода:

С [b]одиночным изображением[/b] я иногда получаю [b]400 INVALID_ARGUMENT[/b] («Запрос не поддерживается этой моделью») или [b]429 RESOURCE_EXHAUSTED[/b].

[*]Когда я отправляю [b]два изображения[/b] (например, исходное + одно и то же изображение с наложенными определениями) или [b]одно изображение с наложенными аннотациями[/b], вызов часто [b]зависает[/b] до истечения времени ожидания моего клиента (например, 120 секунд) и никогда не возвращается или занимает очень много времени.

[/list]


Мне хотелось бы понять, почему поведение отличается (Studio и Vertex) и почему добавление второго изображения или изображения с аннотациями приводит к зависанию, замедлению работы или ошибкам.

Я пробовал
[list]
[*][b]Формат запроса[/b]
[list]
[b]Одно изображение:[/b] содержимое
= одна часть изображения (байты JPEG) + одна текстовая часть; system_instruction установлен; response_modalities=["TEXT", "IMAGE"] (модель может возвращать оба).

[*]Два изображения: то же самое, но две части изображения и одна текстовая часть (image1, image2, text).

[*]Части изображения создаются с помощью SDK API части из байтов; Размер изображений изменяется (например, максимальный размер 768 пикселей) и сжимается в формате JPEG, чтобы сохранить разумный размер.

[/list]

[*]Модальность
  • Я пробовал разные варианты ответа (только ТЕКСТ, только ИЗОБРАЖЕНИЕ, ТЕКСТ+ИЗОБРАЖЕНИЕ и не настроено). При использовании Только ТЕКСТ я получаю 400 INVALID_ARGUMENT («Запрос не поддерживается этой моделью»). При использовании IMAGE или TEXT+IMAGE я получаю 429 RESOURCE_EXHAUSTED, или запрос зависает.
[*]Настройка Vertex AI
  • Использование Vertex AI с учетной записью службы (не Путь к ключу API «Экспресс».
  • IAM: учетная запись службы имеет Пользователя Vertex AI (и администратора) в проекте.
  • Vertex AI API включен; в Cloud Console проект отображает запросы к этому API с высокой частотой ошибок (400 и 429).
  • Модель находится в режиме Предварительная версия в Саду моделей; в документации упоминается «Предоставленная пропускная способность» для производственных рабочих нагрузок.
[*]На стороне клиента
  • Я запускаюgenerate_content в подпроцессе, чтобы я мог установить жесткий тайм-аут (например, 120 с) и завершить работу, если API не сработает ответить.
  • Когда вызов зависает, подпроцесс достигает этого времени ожидания и завершается; ответ от API не получен.
  • В некоторых запусках журналы HTTP-клиента показывают успешный запрос, например POST https://aiplatform.googleapis.com/v1bet ... ateContent "HTTP/1.1 200 OK", но мой код никогда не получает пригодный для использования результат (пустой ответ, нет содержимого или вызов по-прежнему кажется зависшим). Таким образом, сервер возвращает 200, но тело ответа или поведение потоковой передачи не дают результата.
[/list]

Я спрашиваю
  • Почему тот же логический запрос будет работать в AI Studio (одиночное изображение), но Vertex AI выдает 400 или 429 или зависать?

    Известны ли различия в поддерживаемых функциях, квотах или форме запроса между AI Studio и Vertex для этой модели?
  • Почему добавление второго изображения (или одного изображения с аннотациями) приводит к зависанию или очень длительному выполнению вызова Vertex?

    Существует ли известный предел или другое поведение для ввода нескольких изображений или «более тяжелых» изображений в Vertex (например, ограничения токена/размера, более длительная обработка или другое поведение времени ожидания)?
  • Существует ли рекомендуемый способ отправки «исходного + аннотированного» или двух связанных изображений в эту модель на Vertex (например, упорядочивание деталей, ограничения размера или определенные параметры), который позволяет избежать 400/429 и избежать зависаний?
Я не спрашиваю об учетных данных или настройке проекта, а только о том, почему вызов модели завершается сбоем или зависает в Vertex и как структурировать запрос, чтобы он вел себя как в AI Studio. Любые ссылки на официальные документы о поведении Vertex и Studio, ограничениях на несколько изображений или 429/400 для этой модели будут очень полезны.

Подробнее здесь: https://stackoverflow.com/questions/798 ... notated-im
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»