Модуль 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 / обязательный | Тип используемых учётных данных. Варианты:
|
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). Варианты:
|
|
fast_tryout_enabled boolean |
Если значение равно true, по возможности включается функция быстрого тестирования QMT для этой модели. Варианты:
|
|
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 будет невозможно. Ограничения скоро будут сняты. Варианты:
|
|
endpoint_display_name string |
Отображаемое имя конечной точки, заданное пользователем. Если имя не задано, будет использоваться имя по умолчанию. |
|
private_service_connect_config dictionary |
Конфигурация Private Service Connect (PSC). |
|
enable_private_service_connect boolean / обязательный |
Если значение равно true, IndexEndpoint будет доступна через Private Service Connect. Варианты:
|
|
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. Варианты:
|
|
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) для модели. Варианты:
|
|
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).). |
|
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 с ограниченным доступом к Интернету. Варианты:
|
|
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. Варианты:
|
Примечания
Примечание
- Справочник 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 | Текущее состояние ресурса. Возвращается: всегда |
Ссылки на коллекцию
© 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