Код: Выделить всё
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] содержимое[*]Два изображения: то же самое, но две части изображения и одна текстовая часть (image1, image2, text).
[*]Части изображения создаются с помощью SDK API части из байтов; Размер изображений изменяется (например, максимальный размер 768 пикселей) и сжимается в формате JPEG, чтобы сохранить разумный размер.
[/list]
[*]Модальность
- Я пробовал разные варианты ответа (только ТЕКСТ, только ИЗОБРАЖЕНИЕ, ТЕКСТ+ИЗОБРАЖЕНИЕ и не настроено). При использовании Только ТЕКСТ я получаю 400 INVALID_ARGUMENT («Запрос не поддерживается этой моделью»). При использовании IMAGE или TEXT+IMAGE я получаю 429 RESOURCE_EXHAUSTED, или запрос зависает.
- Использование 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, но тело ответа или поведение потоковой передачи не дают результата.
Я спрашиваю
- Почему тот же логический запрос будет работать в AI Studio (одиночное изображение), но Vertex AI выдает 400 или 429 или зависать?
Известны ли различия в поддерживаемых функциях, квотах или форме запроса между AI Studio и Vertex для этой модели? - Почему добавление второго изображения (или одного изображения с аннотациями) приводит к зависанию или очень длительному выполнению вызова Vertex?
Существует ли известный предел или другое поведение для ввода нескольких изображений или «более тяжелых» изображений в Vertex (например, ограничения токена/размера, более длительная обработка или другое поведение времени ожидания)? - Существует ли рекомендуемый способ отправки «исходного + аннотированного» или двух связанных изображений в эту модель на Vertex (например, упорядочивание деталей, ограничения размера или определенные параметры), который позволяет избежать 400/429 и избежать зависаний?
Подробнее здесь: https://stackoverflow.com/questions/798 ... notated-im