可以' pip_index_urls '与顶点管道使用?



在kfp-1.8.12中有一个非常有用的新特性,我们可以在组件装饰器中为python依赖项指定自定义索引(参见此PR)。

我有一个组件,它使用了一个python包,这个包已经托管在pypi存储库下的GCP Artifact Registry上。现在,为了使用它,我正在生成一个单独的Docker映像,包括该包,并使用它作为我的组件的基本映像。

如果我可以直接从内部pypi索引安装包,那就更干净了,但身份验证似乎不起作用。如果我将我的内部索引作为pip_index_urls的一部分,组件将提示User并立即失败:

User for <region-redacted>-python.pkg.dev:

是否有一种方法可以使用托管在工件注册表上的pypi存储库来验证顶点管道?

您需要按照说明为您的Artifact Registry Python Index运行设置身份验证,然而,您必须在 KFP开始尝试安装包之前执行

因为设置它需要安装一些软件包,如果这需要身份验证…

因此,解决方案是将设置身份验证的指令(只是pip install keyring keyrings.google-artifactregistry-auth)放入Dockerfile并生成自定义映像。不要安装Docker,使用Cloud Build来构建镜像。然后使用自定义图像在Vertex AI上运行Kubeflow组件。

另一个解决方案当然是将安装添加到您想要的Cloud Build的软件包中,这样您的自定义映像就已经拥有了您需要的一切。这有一个额外的好处,你的KFP组件启动得更快,因为它不需要安装任何东西。

相关内容

  • 没有找到相关文章

最新更新