googleapis / googleapis/python-aiplatform

Kubeflow dsl.IfPresentPlaceholder not working properly in Vertex AI pipelines

Đang mở
#4,164 2 bình luận 2 reaction 0 người được giao Xem trên GitHub
api: vertex-ai
Ngôn ngữ chính
Python
Star
905
Fork
465
Merge trung bình
1 ngày 13 giờ
Pull request đã merge (30 ngày)
44

Mô tả

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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.