当我知道模型名称时获取模型ID

问题描述 投票:0回答:2

我目前正在尝试使用 python 在大型查询表上运行顶点模型。 我正在测试我的代码,它将成为 Airflow 的自定义 vertex ai 批量执行操作符。

我可以在谷歌文档上看到 aiplatform lib 提供的许多功能,但我想使用模型名称作为参数。

例如,在模型注册表中,我有一个名为 My_Model 的模型,其 ID 为 12354795461。 我不想直接使用模型 id 执行批处理,而是想使用名称并获取此模型 id,代码如下:

aiplatform.init(project=self.project_id, location=self.location)
my_model = aiplatform.Model()
model_id = my_model.get_model_id(name='My_Model')
model_path = 'projects/'+project_id+'/locations/'+location+'/models/'+model_id
model = aiplatform.Model(model_path)

我正在使用函数 model.batch_predict 和 bigquery 表作为输入。

顺便说一句,我也找不到直接询问项目ID的方法。我需要提供文件夹 id(父 id),然后列出其中的所有内容,然后根据项目名称进行过滤。

是否有任何工作函数可以使用其名称作为参数返回项目/模型的 id?

第二个问题,有没有一种方法可以在大查询表上运行批量预测,并简单地消除批量预测中列的使用?这样我们就可以保留线路的 id 而不影响预测?

非常感谢您的回答, 问候 内森

我尝试在 BQ 表上添加列 id,但模型由于 id 列而返回错误,而当 id 列不存在时则不会返回错误。

此外,我在谷歌文档中找不到任何直接使用项目/模型名称给出模型/项目 ID 的函数。

function google-bigquery documentation batch-processing google-cloud-vertex-ai
2个回答
0
投票

我对此没有那么丰富的经验,但我有一个解决方案。 所以我不知道如何直接从名称获取项目/模型 id,但你可以使用 google cloud CLI 来获取 id。 我已经在自己的一些项目中使用了 Google Cloud CLI,并且我知道部署 AI 模型后,您可以使用一些 CLI 函数来获取模型 ID 本身。只要您搜索有关如何将 google 帐户/vertex AI 连接到 CLI 的教程,这很容易做到。登录后,CLI 应识别模型注册表(部署后),并且您应该能够获取所需的信息! 我知道这可能没有那么有帮助,但我认为它可能会有所帮助! 希望如此! 问候,索胡姆。


0
投票

这将返回具有该名称的模型列表。

model = aiplatform.Model.list(filter=f'display_name="{model_display_name}"')

下面会给你一个ID

id = model[0].name

您可以使用它来实例化一个

Model

model = aiplatform.Model(model_name=id)
© www.soinside.com 2019 - 2024. All rights reserved.