googleapis / googleapis/python-aiplatform

Kubeflow dsl.IfPresentPlaceholder not working properly in Vertex AI pipelines

Abierto
#4,164 2 comentarios 2 reacciones 0 asignados Ver en GitHub
api: vertex-ai
Lenguaje dominante
Python
Estrellas
905
Forks
465
Merge medio
1 d 13 h
PR fusionados (30 d)
44

Descripción

Hi,

I am using Kubeflow in Vertex AI pipelines. I tried to use the `dsl.IfPresentPlaceholder` to parameterize some input arguments of the @container_component. It looks like the placeholder is not replaced by the actual value at the runtime, which causes the step execution to fail. I would like to know why this behavior is happening. Does Vertex AI support this feature or this is just Kubeflow native?

#### Environment details

- Python version: `3.9`
- `google-cloud-aiplatform` version: `1.59.0`

#### Code example

I am implementing the placeholder in the following way (dummy example):

```python
@dsl.container_component
def hello_someone(optional_name: str = None):
return dsl.ContainerSpec(
image='python:3.9',
command=[
'say_hello',
dsl.IfPresentPlaceholder(
input_name='optional_name', then=['--name', optional_name])
])
```

I design the pipeline, compile, and run it using the `pipeline_jobs.PipelineJob` method.
When I inspect the logs in Vertex Ai I see that the placeholder is not replaced and it is displayed as:

```
{"IfPresent": {"InputName": "optional_name", "Then": ["--name", "null"]}}
```
In this case I don't pass the `optinal_name` argument on the step.

Thanks,
Joāo

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.