Я вызываю модель 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 для этой модели будут очень полезны.
Я вызываю [b]модель Gemini с поддержкой изображений[/b] (мультимодальную, поддерживает вход изображения + изображение/вывод текста, предварительный просмотр изображения 3 pro) через [b]Vertex AI[/b] с помощью [b]Google GenAI Python SDK[/b] ([code]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] содержимое[/code] = одна часть изображения (байты JPEG) + одна текстовая часть; system_instruction установлен; response_modalities=["TEXT", "IMAGE"] (модель может возвращать оба).
[*][b]Два изображения:[/b] то же самое, но две части изображения и одна текстовая часть (image1, image2, text).
[*]Части изображения создаются с помощью SDK API части из байтов; Размер изображений изменяется (например, максимальный размер 768 пикселей) и сжимается в формате JPEG, чтобы сохранить разумный размер.
[/list]
[*][b]Модальность[/b] [list] Я пробовал разные варианты ответа (только ТЕКСТ, только ИЗОБРАЖЕНИЕ, ТЕКСТ+ИЗОБРАЖЕНИЕ и не настроено). При использовании [b]Только ТЕКСТ[/b] я получаю [b]400 INVALID_ARGUMENT[/b] («Запрос не поддерживается этой моделью»). При использовании [b]IMAGE[/b] или [b]TEXT+IMAGE[/b] я получаю [b]429 RESOURCE_EXHAUSTED[/b], или запрос зависает. [/list]
[*][b]Настройка Vertex AI[/b] [list] Использование [b]Vertex AI с учетной записью службы[/b] (не Путь к ключу API «Экспресс».
[*]IAM: учетная запись службы имеет [b]Пользователя Vertex AI[/b] (и администратора) в проекте.
[*][b]Vertex AI API[/b] включен; в Cloud Console проект отображает запросы к этому API с высокой частотой ошибок (400 и 429).
[*]Модель находится в режиме [b]Предварительная версия[/b] в Саду моделей; в документации упоминается «Предоставленная пропускная способность» для производственных рабочих нагрузок.
[/list]
[*][b]На стороне клиента[/b] [list] Я запускаюgenerate_content в [b]подпроцессе[/b], чтобы я мог установить жесткий тайм-аут (например, 120 с) и завершить работу, если API не сработает ответить.
[*]Когда вызов зависает, подпроцесс достигает этого времени ожидания и завершается; ответ от API не получен.
[*]В некоторых запусках журналы HTTP-клиента показывают успешный запрос, например POST https://aiplatform.googleapis.com/v1beta1/.../publishers/google/models/gemini-3-pro-image-preview:generateContent "HTTP/1.1 200 OK", но мой код никогда не получает пригодный для использования результат (пустой ответ, нет содержимого или вызов по-прежнему кажется зависшим). Таким образом, сервер возвращает 200, но тело ответа или поведение потоковой передачи не дают результата.
[/list]
[/list]
Я спрашиваю [list] [*][b]Почему тот же логический запрос будет работать в AI Studio (одиночное изображение), но Vertex AI выдает 400 или 429 или зависать?[/b]
Известны ли различия в поддерживаемых функциях, квотах или форме запроса между AI Studio и Vertex для этой модели?
[*][b]Почему добавление второго изображения (или одного изображения с аннотациями) приводит к зависанию или очень длительному выполнению вызова Vertex?[/b]
Существует ли известный предел или другое поведение для ввода нескольких изображений или «более тяжелых» изображений в Vertex (например, ограничения токена/размера, более длительная обработка или другое поведение времени ожидания)?
[*][b]Существует ли рекомендуемый способ отправки «исходного + аннотированного» или двух связанных изображений в эту модель на Vertex[/b] (например, упорядочивание деталей, ограничения размера или определенные параметры), который позволяет избежать 400/429 и избежать зависаний?
[/list] Я не спрашиваю об учетных данных или настройке проекта, а только о том, почему [b]вызов модели[/b] завершается сбоем или зависает в Vertex и как структурировать запрос, чтобы он вел себя как в AI Studio. Любые ссылки на официальные документы о поведении Vertex и Studio, ограничениях на несколько изображений или 429/400 для этой модели будут очень полезны.