Spec-Zone.ru › Ansible

Модуль google.cloud.gcp_vertexai_endpoint_with_model_garden_deployment — создание ресурса GCP VertexAI.EndpointWithModelGardenDeployment

Примечание

Этот модуль входит в коллекцию google.cloud (версия 1.13.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install google.cloud. Для использования этого модуля необходимы дополнительные компоненты; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: google.cloud.gcp_vertexai_endpoint_with_model_garden_deployment.

  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Создаёт конечную точку и развёртывает на ней модель Model Garden.

Требования

На узле, выполняющем этот модуль, должны быть установлены следующие компоненты.

  • python >= 3.8
  • requests >= 2.18.4
  • google-auth >= 2.25.1

Параметры

Параметр

Комментарии

access_token

string

Токен доступа, используемый для аутентификации.

auth_kind

string / обязательный

Тип используемых учётных данных.

Варианты:

  • "accesstoken"
  • "application"
  • "machineaccount"
  • "serviceaccount"

deploy_config

dictionary

Конфигурация развёртывания, используемая при развёртывании.

dedicated_resources

dictionary

Описание ресурсов, выделенных для DeployedModel или DeployedIndex, которые требуют более детальной ручной настройки.

autoscaling_metric_specs

list / elements=dictionary

Спецификации метрик, переопределяющие целевое значение метрики использования ресурсов (использование ЦП, рабочий цикл ускорителя и т. д.; по умолчанию — 60, если значение не задано).

Для каждой метрики допускается не более одной записи.

Если значение machine_spec.accelerator_count больше 0, автомасштабирование будет учитывать как использование ЦП, так и рабочий цикл ускорителя: количество экземпляров будет увеличиваться, если целевое значение превышает любая из метрик, и уменьшаться, если целевые значения не превышены обеими метриками.

Целевое значение по умолчанию для обеих метрик — 60.

Если значение machine_spec.accelerator_count равно 0, автомасштабирование будет учитывать только метрику использования ЦП; целевое значение по умолчанию — 60, если оно не задано явно.

Например, для онлайн-прогнозирования, чтобы переопределить целевое использование ЦП на 80, задайте autoscaling_metric_specs.metric_name равным `aiplatform.googleapis.com/prediction/online/cpu/utilization`, а autoscaling_metric_specs.target — `80`.

metric_name

string / обязательный

Имя метрики ресурса.

Поддерживаемые метрики: * Для онлайн-прогнозирования: * `aiplatform.googleapis.com/prediction/online/accelerator/duty_cycle` * `aiplatform.googleapis.com/prediction/online/cpu/utilization`.

target

integer

Целевое использование ресурса в процентах (1%–100%) для указанной метрики; при отклонении фактического использования от цели на заданную величину изменяется количество реплик машин.

Если значение не указано, используется значение по умолчанию — 60 (то есть 60%).

machine_spec

dictionary / обязательный

Спецификация одной машины.

accelerator_count

integer

Количество ускорителей, подключаемых к машине.

accelerator_type

string

Допустимые значения: ACCELERATOR_TYPE_UNSPECIFIED NVIDIA_TESLA_K80 NVIDIA_TESLA_P100 NVIDIA_TESLA_V100 NVIDIA_TESLA_P4 NVIDIA_TESLA_T4 NVIDIA_TESLA_A100 NVIDIA_A100_80GB NVIDIA_L4 NVIDIA_H100_80GB NVIDIA_H100_MEGA_80GB NVIDIA_H200_141GB NVIDIA_B200 TPU_V2 TPU_V3 TPU_V4_POD TPU_V5_LITEPOD.

machine_type

string

Тип машины.

См. [список типов машин, поддерживаемых для прогнозирования](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) и [список типов машин, поддерживаемых для пользовательского обучения](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types).

Для DeployedModel это поле необязательно; значение по умолчанию — `n1-standard-2`.

Для BatchPredictionJob или в составе WorkerPoolSpec это поле обязательно.

multihost_gpu_node_count

integer

Количество узлов на реплику для развёртываний с многоузловыми GPU.

reservation_affinity

dictionary

ReservationAffinity можно использовать для настройки ресурса Vertex AI (например, DeployedModel), чтобы он получал ресурсы Compute Engine из общей резервации или исключительно из ресурсов по запросу.

key

string

Соответствует ключу метки ресурса резервации.

Чтобы указать резервацию SPECIFIC_RESERVATION по имени, используйте `compute.googleapis.com/reservation-name` в качестве ключа и укажите имя резервации в качестве его значения.

reservation_affinity_type

string / обязательный

Задаёт тип привязки к резервации.

Допустимые значения: TYPE_UNSPECIFIED NO_RESERVATION ANY_RESERVATION SPECIFIC_RESERVATION.

values

list / elements=string

Соответствует значениям меток ресурса резервации.

Здесь должно быть указано полное имя ресурса резервации или блока резервации.

tpu_topology

string

Топология TPU.

Соответствует топологиям TPU, доступным в GKE.

(Пример: tpu_topology: “2x2x1”).

max_replica_count

integer

Максимальное количество реплик, которые могут быть развёрнуты при увеличении нагрузки на них.

Если запрошенное значение слишком велико, развёртывание завершится ошибкой. Если развёртывание выполнено успешно, гарантируется возможность масштабирования до указанного количества реплик (за исключением сбоев службы).

Если нагрузка превышает возможности максимального количества реплик, часть запросов будет отброшена.

Если значение не указано, по умолчанию используется min_replica_count.

Значение этого поля влияет на расход квот Vertex CPU и GPU.

В частности, учитываются значения (max_replica_count * количество ядер в выбранном типе машины) и (max_replica_count * количество GPU на реплику в выбранном типе машины).

min_replica_count

integer / обязательный

Минимальное количество реплик машин, которые будут развёрнуты постоянно.

Это значение должно быть не меньше 1.

При увеличении нагрузки могут динамически развёртываться дополнительные реплики; при снижении нагрузки некоторые из них могут быть освобождены.

required_replica_count

integer

Количество доступных реплик, необходимое для успешного выполнения развёртывания.

Это поле требуется только в том случае, если необходимо частичное развёртывание или изменение.

Если задано это значение, операция развёртывания или изменения будет считаться успешной, когда available_replica_count достигнет required_replica_count; развёртывание остальных реплик будет повторено.

Если значение не задано, по умолчанию required_replica_count равен min_replica_count.

spot

boolean

Если значение равно true, рабочая нагрузка развёртывания будет запланирована на [спотовых виртуальных машинах](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms).

Варианты:

  • false
  • true

fast_tryout_enabled

boolean

Если значение равно true, по возможности включается функция быстрого тестирования QMT для этой модели.

Варианты:

  • false
  • true

system_labels

dictionary

Системные метки для развёртываний Model Garden.

Эти метки управляются Google и используются только для отслеживания.

display_name

string / обязательный

Отображаемое имя, заданное пользователем.

Это имя будет использоваться по умолчанию как для конечной точки, так и для развёрнутой модели.

endpoint_config

dictionary

Конфигурация конечной точки, используемая при развёртывании.

dedicated_endpoint_enabled

boolean

Если значение равно true, конечная точка будет доступна через выделенную DNS-запись [Endpoint.dedicated_endpoint_dns].

Запросы к выделенной DNS-записи будут изолированы от трафика других пользователей и обеспечат более высокую производительность и надёжность.

Примечание. После включения выделенной конечной точки отправлять запросы на общую DNS-запись {region}-aiplatform.googleapis.com будет невозможно.

Ограничения скоро будут сняты.

Варианты:

  • false
  • true

endpoint_display_name

string

Отображаемое имя конечной точки, заданное пользователем.

Если имя не задано, будет использоваться имя по умолчанию.

private_service_connect_config

dictionary

Конфигурация Private Service Connect (PSC).

enable_private_service_connect

boolean / обязательный

Если значение равно true, IndexEndpoint будет доступна через Private Service Connect.

Варианты:

  • false
  • true

project_allowlist

list / elements=string

Список проектов, из которых правило переадресации будет обращаться к подключению службы.

psc_automation_configs

dictionary

Конфигурация PSC для автоматического создания конечных точек PSC в проектах пользователя.

error_message

string

Только для вывода.

Сообщение об ошибке, если автоматизация службы PSC завершилась сбоем.

forwarding_rule

string

Только для вывода.

Правило переадресации, созданное автоматизацией службы PSC.

ip_address

string

Только для вывода.

Правило IP-адреса, созданное автоматизацией службы PSC.

network

string / обязательный

Полное имя сети Google Compute Engine.

Формат: projects/{project}/global/networks/{network}.

project_id

string / обязательный

Идентификатор проекта, используемого для создания правила переадресации.

state

string

Только для вывода.

Состояние автоматизации службы PSC.

Варианты:

  • "PSC_AUTOMATION_STATE_UNSPECIFIED"
  • "PSC_AUTOMATION_STATE_SUCCESSFUL"
  • "PSC_AUTOMATION_STATE_FAILED"

service_attachment

string

Только для вывода.

Имя созданного ресурса подключения службы.

Это поле заполняется только в том случае, если конечная точка развёрнута с помощью PrivateServiceConnect.

env_type

string

Указывает, в какой среде Ansible выполняется этот модуль.

Не задавайте это значение, если не знаете, что делаете.

Оно изменяет только строку User Agent для всех запросов API.

hugging_face_model_id

string

Модель Hugging Face для развёртывания.

Формат: идентификатор модели Hugging Face, например `google/gemma-2-2b-it`.

location

string / обязательный

Сегмент идентификатора ресурса, задающий его `location`.

Он идентифицирует ресурс в родительской коллекции, как описано в https://google.aip.dev/122.

model_config

dictionary

Конфигурация модели, используемая при развёртывании.

accept_eula

boolean

Принимает ли пользователь лицензионное соглашение с конечным пользователем (EULA) для модели.

Варианты:

  • false
  • true

container_spec

dictionary

Спецификация контейнера для обслуживания запросов прогнозирования.

Некоторые поля этого сообщения соответствуют полям [основной спецификации контейнера Kubernetes v1](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).

args

list / elements=string

Задает аргументы для команды, которая выполняется при запуске контейнера.

Это переопределяет [`CMD`](https://docs.docker.com/engine/reference/builder/#cmd) контейнера.

Укажите это поле как массив исполняемого файла и аргументов, подобно форме «параметров по умолчанию» команды `CMD` Docker.

Если это поле не задано, но задано поле command, команда из поля `command` запускается без дополнительных аргументов.

См. [документацию Kubernetes о взаимодействии полей `command` и `args` с `ENTRYPOINT` и `CMD` контейнера](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes).

Если это поле и поле `command` не заданы, то [`ENTRYPOINT`](https://docs.docker.com/engine/reference/builder/#cmd) и `CMD` контейнера определяют, что будет запущено, в соответствии с поведением по умолчанию.

См. документацию Docker о том, [как взаимодействуют `CMD` и `ENTRYPOINT`](https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact).

В этом поле можно ссылаться на [переменные среды, заданные Vertex AI](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables), а также на переменные среды, заданные в поле env.

Нельзя ссылаться на переменные среды, заданные в образе Docker.

Чтобы переменные среды подставлялись, указывайте их с помощью следующего синтаксиса:$(VARIABLE_NAME). Обратите внимание, что он отличается от подстановки переменных Bash, в которой круглые скобки не используются.

Если переменную не удается разрешить, ссылка в исходной строке остается без изменений.

Чтобы избежать подстановки переменной, можно экранировать этот синтаксис с помощью `$$`; например: $$(VARIABLE_NAME). Это поле соответствует полю `args` в [основном API Kubernetes Containers версии v1](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).

command

list / elements=string

Задает команду, которая выполняется при запуске контейнера.

Это переопределяет [ENTRYPOINT](https://docs.docker.com/engine/reference/builder/#entrypoint) контейнера.

Укажите это поле как массив исполняемого файла и аргументов, подобно форме «exec» команды `ENTRYPOINT` Docker, а не ее форме «shell».

Если это поле не задано, запускается `ENTRYPOINT` контейнера вместе с полем args или [`CMD`](https://docs.docker.com/engine/reference/builder/#cmd) контейнера, если они заданы.

Если это поле не задано и у контейнера отсутствует `ENTRYPOINT`, см. документацию Docker о том, [как взаимодействуют `CMD` и `ENTRYPOINT`](https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact).

Если это поле задано, можно также указать поле `args`, чтобы передать этой команде дополнительные аргументы.

Однако если это поле задано, `CMD` контейнера игнорируется.

См. [документацию Kubernetes о взаимодействии полей `command` и `args` с `ENTRYPOINT` и `CMD` контейнера](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes).

В этом поле можно ссылаться на [переменные среды, заданные Vertex AI](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables), а также на переменные среды, заданные в поле env.

Нельзя ссылаться на переменные среды, заданные в образе Docker.

Чтобы переменные среды подставлялись, указывайте их с помощью следующего синтаксиса:$(VARIABLE_NAME). Обратите внимание, что он отличается от подстановки переменных Bash, в которой круглые скобки не используются.

Если переменную не удается разрешить, ссылка в исходной строке остается без изменений.

Чтобы избежать подстановки переменной, можно экранировать этот синтаксис с помощью `$$`; например: $$(VARIABLE_NAME). Это поле соответствует полю `command` в [основном API Kubernetes Containers версии v1](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).

deployment_timeout

string

Время ожидания развертывания.

Максимальное время ожидания развертывания — 2 часа.

env

list / elements=dictionary

Список переменных среды, задаваемых в контейнере.

После запуска контейнера выполняющийся в нем код может считывать эти переменные среды.

Кроме того, в полях command и args можно ссылаться на эти переменные.

В более поздних элементах этого списка также можно ссылаться на предыдущие элементы.

Например, в следующем примере переменной `VAR_2` присваивается значение `foo bar`: ```json [ { “name”: “VAR_1”, “value”: “foo” }, { “name”: “VAR_2”, “value”: “$(VAR_1) bar” } ] ``` Если изменить порядок переменных в примере, подстановка не произойдет.

Это поле соответствует полю `env` в [основном API Kubernetes Containers версии v1](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).

name

string / required

Имя переменной среды.

Должно быть допустимым идентификатором C.

value

string / required

Переменные, содержащие ссылку вида $(VAR_NAME), подставляются с использованием ранее заданных переменных среды контейнера и любых переменных среды службы.

Если переменную не удается разрешить, ссылка в исходной строке останется без изменений.

Синтаксис $(VAR_NAME) можно экранировать с помощью двух символов $: $$(VAR_NAME).

Экранированные ссылки никогда не подставляются, независимо от того, существует переменная или нет.

grpc_ports

list / elements=dictionary

Список портов, которые нужно открыть для контейнера.

Vertex AI отправляет полученные запросы на прогнозирование gRPC на первый порт из этого списка.

Vertex AI также отправляет на этот порт проверки работоспособности и готовности.

Если это поле не задано, запросы gRPC к контейнеру будут отключены.

Vertex AI не использует порты, кроме первого в списке.

Это поле соответствует полю `ports` основного API Kubernetes Containers версии v1.

container_port

integer

Номер порта, который нужно открыть на IP-адресе пода.

Должен быть допустимым номером порта в диапазоне от 1 до 65535 включительно.

health_probe

dictionary

Проверка описывает проверку состояния контейнера, позволяющую определить, работает ли он или готов принимать трафик.

exec

dictionary

ExecAction задает команду для выполнения.

command

list / elements=string

Command — это командная строка, выполняемая внутри контейнера. Рабочим каталогом для команды является корневой каталог (‘/’) файловой системы контейнера.

Команда запускается непосредственно через exec, а не в оболочке, поэтому стандартные команды оболочки (’|’ и т. д.) работать не будут.

Чтобы использовать оболочку, необходимо явно вызвать ее.

Код завершения 0 считается признаком работоспособности, а ненулевой код — признаком сбоя.

failure_threshold

integer

Количество последовательных сбоев, после которого проверка считается неуспешной.

По умолчанию — 3.

Минимальное значение — 1.

Соответствует аргументу проверки Kubernetes ‘failureThreshold’.

grpc

dictionary

GrpcAction проверяет состояние контейнера с помощью службы gRPC.

port

integer

Номер порта службы gRPC.

Номер должен находиться в диапазоне от 1 до 65535.

service

string

Service — это имя службы, указываемое в gRPC HealthCheckRequest.

См. https://github.com/grpc/grpc/blob/master/doc/health-checking.md.

Если значение не задано, используется поведение gRPC по умолчанию.

http_get

dictionary

HttpGetAction описывает действие на основе HTTP-запросов Get.

host

string

Имя хоста для подключения. По умолчанию используется IP-адрес контейнера для обслуживания модели.

Вероятно, вместо этого вам следует задать «Host» в httpHeaders.

http_headers

list / elements=dictionary

Пользовательские заголовки, добавляемые в запрос.

HTTP допускает повторяющиеся заголовки.

name

string

Имя поля заголовка.

При выводе имя будет приведено к каноническому виду, поэтому варианты написания с разным регистром будут распознаны как один и тот же заголовок.

value

string

Значение поля заголовка.

path

string

Путь для доступа на HTTP-сервере.

port

integer

Номер порта контейнера, к которому нужно получить доступ.

Номер должен находиться в диапазоне от 1 до 65535.

scheme

string

Схема подключения к хосту.

По умолчанию используется HTTP.

Допустимые значения: «HTTP» или «HTTPS».

initial_delay_seconds

integer

Количество секунд ожидания перед началом проверки.

По умолчанию — 0.

Минимальное значение — 0.

Соответствует аргументу проверки Kubernetes ‘initialDelaySeconds’.

period_seconds

integer

Периодичность выполнения проверки (в секундах).

По умолчанию — 10 секунд.

Минимальное значение — 1.

Должно быть меньше timeout_seconds.

Соответствует аргументу проверки Kubernetes ‘periodSeconds’.

success_threshold

integer

Количество последовательных успешных проверок, после которого проверка считается успешной.

По умолчанию — 1.

Минимальное значение — 1.

Соответствует аргументу проверки Kubernetes ‘successThreshold’.

tcp_socket

dictionary

TcpSocketAction проверяет состояние контейнера, устанавливая TCP-соединение через сокет.

host

string

Необязательно: имя хоста для подключения. По умолчанию используется IP-адрес контейнера для обслуживания модели.

port

integer

Номер порта контейнера, к которому нужно получить доступ.

Номер должен находиться в диапазоне от 1 до 65535.

timeout_seconds

integer

Количество секунд, по истечении которых время ожидания проверки истекает.

По умолчанию — 1 секунда.

Минимальное значение — 1.

Должно быть больше или равно period_seconds.

Соответствует аргументу проверки Kubernetes ‘timeoutSeconds’.

health_route

string

Путь HTTP в контейнере, на который отправляются проверки состояния.

Vertex AI периодически отправляет GET-запросы на этот путь по IP-адресу и порту контейнера, чтобы проверить его работоспособность.

Подробнее о [проверках состояния](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#health).

Например, если задать для этого поля значение `/bar`, Vertex AI будет периодически отправлять GET-запрос на путь `/bar` через порт контейнера, указанный первым значением в поле ports этого `ModelContainerSpec`.

Если это поле не задано, при развертывании этой модели в конечной точке используется значение по умолчанию:/v1/endpoints/ENDPOINT/deployedModels/DEPLOYED_MODEL:predict Заполнители в этом значении заменяются следующим образом: * ENDPOINT: последний сегмент (после `endpoints/`) поля Endpoint.name][] конечной точки, в которой развернута эта модель.

(Vertex AI предоставляет это значение коду контейнера в виде переменной среды [`AIP_ENDPOINT_ID`](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) * DEPLOYED_MODEL: DeployedModel.id объекта `DeployedModel`.

(Vertex AI предоставляет это значение коду контейнера в виде переменной среды [`AIP_DEPLOYED_MODEL_ID`](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).).

image_uri

string / required

URI образа Docker, который будет использоваться в качестве пользовательского контейнера для обслуживания запросов на прогнозирование.

Этот URI должен указывать на образ в Artifact Registry или Container Registry.

Подробнее о [требованиях к публикации контейнеров](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#publishing), включая требования к разрешениям для агента службы Vertex AI.

Образ контейнера загружается при вызове ModelService.UploadModel и сохраняется во внутреннем хранилище; исходный путь впоследствии не используется.

Сведения о требованиях к самому образу Docker см. в разделе [Требования к пользовательским контейнерам](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#).

В этом поле можно указать URI одного из [предварительно собранных образов контейнеров Vertex AI для прогнозирования](https://cloud.google.com/vertex-ai/docs/predictions/pre-built-containers).

liveness_probe

dictionary

Проверка описывает проверку состояния контейнера, позволяющую определить, работает ли он или готов принимать трафик.

exec

dictionary

ExecAction задает команду для выполнения.

command

list / elements=string

Command — это командная строка, выполняемая внутри контейнера. Рабочим каталогом для команды является корневой каталог (‘/’) файловой системы контейнера.

Команда запускается непосредственно через exec, а не в оболочке, поэтому стандартные команды оболочки (’|’ и т. д.) работать не будут.

Чтобы использовать оболочку, необходимо явно вызвать ее.

Код завершения 0 считается признаком работоспособности, а ненулевой код — признаком сбоя.

failure_threshold

integer

Количество последовательных сбоев, после которого проверка считается неуспешной.

По умолчанию — 3.

Минимальное значение — 1.

Соответствует аргументу проверки Kubernetes ‘failureThreshold’.

grpc

dictionary

GrpcAction проверяет состояние контейнера с помощью службы gRPC.

port

integer

Номер порта службы gRPC.

Номер должен находиться в диапазоне от 1 до 65535.

service

string

Service — это имя службы, которое указывается в gRPC HealthCheckRequest.

См. https://github.com/grpc/grpc/blob/master/doc/health-checking.md.

Если значение не указано, используется поведение по умолчанию, определяемое gRPC.

http_get

dictionary

HttpGetAction описывает действие, основанное на HTTP-запросах Get.

host

string

Имя хоста для подключения; по умолчанию используется IP-адрес контейнера, обслуживающего модель.

Вместо этого, вероятно, следует задать «Host» в httpHeaders.

http_headers

list / elements=dictionary

Пользовательские заголовки, добавляемые в запрос.

HTTP допускает повторяющиеся заголовки.

name

string

Имя поля заголовка.

При выводе оно будет приведено к каноническому виду, поэтому имена, отличающиеся регистром, будут считаться одним и тем же заголовком.

value

string

Значение поля заголовка.

path

string

Путь для обращения к HTTP-серверу.

port

integer

Номер порта контейнера, к которому нужно обратиться.

Номер должен находиться в диапазоне от 1 до 65535.

scheme

string

Схема для подключения к хосту.

По умолчанию используется HTTP.

Допустимые значения: «HTTP» или «HTTPS».

initial_delay_seconds

integer

Количество секунд ожидания перед запуском проверки.

По умолчанию — 0.

Минимальное значение — 0.

Соответствует аргументу проверки Kubernetes ‘initialDelaySeconds’.

period_seconds

integer

Как часто (в секундах) выполнять проверку.

По умолчанию — 10 секунд.

Минимальное значение — 1.

Значение должно быть меньше timeout_seconds.

Соответствует аргументу проверки Kubernetes ‘periodSeconds’.

success_threshold

integer

Количество последовательных успешных проверок, необходимое для признания проверки успешной.

По умолчанию — 1.

Минимальное значение — 1.

Соответствует аргументу проверки Kubernetes ‘successThreshold’.

tcp_socket

dictionary

TcpSocketAction проверяет состояние контейнера, открывая TCP-соединение через сокет.

host

string

Необязательно: имя хоста для подключения; по умолчанию используется IP-адрес контейнера, обслуживающего модель.

port

integer

Номер порта контейнера, к которому нужно обратиться.

Номер должен находиться в диапазоне от 1 до 65535.

timeout_seconds

integer

Количество секунд, по истечении которого время ожидания проверки истекает.

По умолчанию — 1 секунда.

Минимальное значение — 1.

Значение должно быть больше или равно period_seconds.

Соответствует аргументу проверки Kubernetes ‘timeoutSeconds’.

ports

list / elements=dictionary

Список портов, открываемых контейнером.

Vertex AI отправляет все полученные запросы на предсказание на первый порт из этого списка.

Vertex AI также отправляет на этот порт [проверки работоспособности и состояния](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#liveness).

Если это поле не указано, по умолчанию используется следующее значение: ```json [ { “containerPort”: 8080 } ] ``` Vertex AI не использует порты, кроме первого в списке.

Это поле соответствует полю `ports` в [основном API Kubernetes v1 для контейнеров](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).

container_port

integer

Номер порта, открываемого на IP-адресе пода.

Должен быть допустимым номером порта от 1 до 65535 включительно.

predict_route

string

Путь HTTP в контейнере, на который отправляются запросы на предсказание.

Vertex AI перенаправляет запросы, отправленные с помощью projects.locations.endpoints.predict, на этот путь по IP-адресу и порту контейнера.

Затем Vertex AI возвращает ответ контейнера в ответе API.

Например, если задать для этого поля значение `/foo`, то при получении запроса на предсказание Vertex AI перенаправит тело запроса в POST-запросе на путь `/foo` на порту контейнера, указанном первым значением поля ports этого `ModelContainerSpec`.

Если это поле не указано, при развертывании этой модели в Endpoint по умолчанию используется следующее значение: /v1/endpoints/ENDPOINT/deployedModels/DEPLOYED_MODEL:predict Заполнители в этом значении заменяются следующим образом: * ENDPOINT: последний сегмент (после `endpoints/`) поля Endpoint.name][] объекта Endpoint, в котором развернута эта модель.

(Vertex AI предоставляет это значение коду контейнера через [переменную среды `AIP_ENDPOINT_ID`](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) * DEPLOYED_MODEL: DeployedModel.id объекта `DeployedModel`.

(Vertex AI предоставляет это значение коду контейнера через [переменную среды `AIP_DEPLOYED_MODEL_ID`](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).).

shared_memory_size_mb

string

Объем памяти виртуальной машины в мегабайтах, резервируемый для модели в качестве разделяемой памяти.

startup_probe

dictionary

Probe описывает проверку состояния контейнера, которая определяет, работает ли он и готов ли принимать трафик.

exec

dictionary

ExecAction задает команду для выполнения.

command

list / elements=string

Command — это командная строка, выполняемая внутри контейнера. Рабочим каталогом команды является корень (‘/’) файловой системы контейнера.

Команда выполняется непосредственно, а не в оболочке, поэтому стандартные конструкции оболочки (’|’ и т. д.) работать не будут.

Чтобы использовать оболочку, необходимо явно вызвать ее.

Код завершения 0 считается признаком работоспособности, а ненулевой код — признаком неисправности.

failure_threshold

integer

Количество последовательных неудачных проверок, необходимое для признания проверки неуспешной.

По умолчанию — 3.

Минимальное значение — 1.

Соответствует аргументу проверки Kubernetes ‘failureThreshold’.

grpc

dictionary

GrpcAction проверяет состояние контейнера с помощью службы gRPC.

port

integer

Номер порта службы gRPC.

Номер должен находиться в диапазоне от 1 до 65535.

service

string

Service — это имя службы, которое указывается в gRPC HealthCheckRequest.

См. https://github.com/grpc/grpc/blob/master/doc/health-checking.md.

Если значение не указано, используется поведение по умолчанию, определяемое gRPC.

http_get

dictionary

HttpGetAction описывает действие, основанное на HTTP-запросах Get.

host

string

Имя хоста для подключения; по умолчанию используется IP-адрес контейнера, обслуживающего модель.

Вместо этого, вероятно, следует задать «Host» в httpHeaders.

http_headers

list / elements=dictionary

Пользовательские заголовки, добавляемые в запрос.

HTTP допускает повторяющиеся заголовки.

name

string

Имя поля заголовка.

При выводе оно будет приведено к каноническому виду, поэтому имена, отличающиеся регистром, будут считаться одним и тем же заголовком.

value

string

Значение поля заголовка.

path

string

Путь для обращения к HTTP-серверу.

port

integer

Номер порта контейнера, к которому нужно обратиться.

Номер должен находиться в диапазоне от 1 до 65535.

scheme

string

Схема для подключения к хосту.

По умолчанию используется HTTP.

Допустимые значения: «HTTP» или «HTTPS».

initial_delay_seconds

integer

Количество секунд ожидания перед запуском проверки.

По умолчанию — 0.

Минимальное значение — 0.

Соответствует аргументу проверки Kubernetes ‘initialDelaySeconds’.

period_seconds

integer

Как часто (в секундах) выполнять проверку.

По умолчанию — 10 секунд.

Минимальное значение — 1.

Значение должно быть меньше timeout_seconds.

Соответствует аргументу проверки Kubernetes ‘periodSeconds’.

success_threshold

integer

Количество последовательных успешных проверок, необходимое для признания проверки успешной.

По умолчанию — 1.

Минимальное значение — 1.

Соответствует аргументу проверки Kubernetes ‘successThreshold’.

tcp_socket

dictionary

TcpSocketAction проверяет состояние контейнера, открывая TCP-соединение через сокет.

host

string

Необязательно: имя хоста для подключения; по умолчанию используется IP-адрес контейнера, обслуживающего модель.

port

integer

Номер порта контейнера, к которому нужно обратиться.

Номер должен находиться в диапазоне от 1 до 65535.

timeout_seconds

integer

Количество секунд, по истечении которого время ожидания проверки истекает.

По умолчанию — 1 секунда.

Минимальное значение — 1.

Значение должно быть больше или равно period_seconds.

Соответствует аргументу проверки Kubernetes ‘timeoutSeconds’.

hugging_face_access_token

string

Токен доступа Hugging Face только для чтения, используемый для доступа к артефактам закрытых моделей.

hugging_face_cache_enabled

boolean

Если задано значение true, модель будет развернута с использованием кэшированной версии, а не путем прямой загрузки артефактов модели из Hugging Face.

Этот вариант подходит пользователям VPC-SC с ограниченным доступом к Интернету.

Варианты:

  • false
  • true

model_display_name

string

Отображаемое имя загруженной модели, заданное пользователем.

Если имя не задано, будет использоваться имя по умолчанию.

project

string

Проект Google Cloud Platform, который нужно использовать.

publisher_model_name

string

Модель Model Garden для развертывания.

Формат: `publishers/{publisher}/models/{publisher_model}@{version_id}`, или `publishers/hf-{hugging-face-author}/models/{hugging-face-model-name}@001`.

scopes

list / elements=string

Массив используемых областей действия.

service_account_contents

jsonarg

Содержимое JSON-файла учетной записи службы,

представленное в виде словаря или JSON-строки.

service_account_email

string

Необязательный адрес электронной почты учетной записи службы, если выбран

machineaccount и пользователь не хочет использовать адрес по умолчанию.

service_account_file

path

Путь к JSON-файлу учетной записи службы, если в качестве типа

выбран serviceaccount.

state

string

Наличие ресурса в GCP.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

Примечания

Примечание

  • Справочник API: https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations/deploy
  • Руководство по обзору Model Garden: https://cloud.google.com/vertex-ai/generative-ai/docs/model-garden/explore-models
  • Руководство по обзору самостоятельно развернутых моделей: https://cloud.google.com/vertex-ai/generative-ai/docs/model-garden/self-deployed-models
  • Руководство по использованию моделей в Model Garden: https://cloud.google.com/vertex-ai/generative-ai/docs/model-garden/use-models
  • Для аутентификации можно задать auth_kind с помощью переменной среды GCP_AUTH_KIND.
  • Для аутентификации можно задать service_account_file с помощью переменной среды GCP_SERVICE_ACCOUNT_FILE.
  • Для аутентификации можно задать service_account_contents с помощью переменной среды GCP_SERVICE_ACCOUNT_CONTENTS.
  • Для аутентификации можно задать service_account_email с помощью переменной среды GCP_SERVICE_ACCOUNT_EMAIL.
  • Для аутентификации можно задать access_token с помощью переменной среды GCP_ACCESS_TOKEN.
  • Для аутентификации можно задать scopes с помощью переменной среды GCP_SCOPES.
  • Значения переменных среды будут использоваться только в том случае, если значения в сценарии не заданы.
  • Параметры service_account_email, service_account_file, service_account_file и access_token взаимоисключающие.

Примеры

- name: Deploy Basic Model
  google.cloud.gcp_vertexai_endpoint_with_model_garden_deployment:
    state: present
    publisher_model_name: publishers/google/models/paligemma@paligemma-224-float32
    endpoint_config:
      endpoint_display_name: my-endpoint
    model_config:
      model_display_name: my-model
      accept_eula: true
    location: us-central1
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"

################################################################################

- name: Deploy Hugging Face Model
  google.cloud.gcp_vertexai_endpoint_with_model_garden_deployment:
    state: present
    hugging_face_model_id: Qwen/Qwen3-0.6B
    endpoint_config:
      endpoint_display_name: huggingface-endpoint
    model_config:
      model_display_name: huggingface-model
      accept_eula: true
    location: us-central1
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"

################################################################################

- name: Deploy Basic Model with PSC Endpoint
  google.cloud.gcp_vertexai_endpoint_with_model_garden_deployment:
    state: present
    publisher_model_name: publishers/google/models/paligemma@paligemma-224-float32
    display_name: my-psc-endoint
    endpoint_config:
      private_service_connect_config:
        enable_private_service_connect: true
        project_allowlist:
          - my-project-id
    model_config:
      accept_eula: true
    location: us-central1
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"

Возвращаемые значения

Общие возвращаемые значения описаны здесь, далее перечислены поля, уникальные для этого модуля:

Ключ

Описание

changed

boolean

Был ли изменен ресурс.

Возвращается: всегда

deployedModelDisplayName

string

Только для вывода.

Отображаемое имя, назначенное модели, развернутой в конечной точке.

Для удаления ресурса это значение не требуется, но оно используется для отладочного журналирования.

Возвращается: при успешном выполнении

deployedModelId

string

Только для вывода.

Уникальный числовой идентификатор, который Vertex AI назначает модели при ее развертывании в конечной точке.

Он необходим для отмены развертывания модели из конечной точки при удалении ресурса, как описано в https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.endpoints/undeployModel.

Возвращается: при успешном выполнении

state

string

Текущее состояние ресурса.

Возвращается: всегда

Авторы

  • Google Inc. (@googlecloudplatform)

Ссылки на коллекцию

  • Отслеживание ошибок
  • Главная страница
  • Репозиторий (исходный код)

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/google/cloud/gcp_vertexai_endpoint_with_model_garden_deployment_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API