GCP Vertex AI可微调模型列表获取失败:ModelServiceClient返回空结果
GCP Vertex AI listModels返回空及模型范围问题
问题描述
想要获取GCP Vertex AI中所有可微调模型的列表,使用aiplatform库的ModelServiceClient调用listModels方法,但返回结果为[ [], null, null ]。使用的代码如下:
const modelDisplayName = 'fineTunedTest'; const { ModelServiceClient } = aiplatform.v1; const location = 'us-central1'; const project = 'projectID'; const model = 'text-bison@001'; const modele = new ModelServiceClient({ apiEndpoint: `${location}-aiplatform.googleapis.com`, keyFilename: config.vector_store_key_filename, }); console.log( 'modele', await modele.listModels({ parent: `projects/${project}/locations/${location}`, }) );
问题:ModelServiceClient是否仅返回已完成微调的模型?
回答
- listModels的返回范围
ModelServiceClient的listModels方法默认返回的是你当前项目中创建的模型,包括:
- 你通过微调生成的自定义模型
- 你手动导入到项目中的模型
它并不会返回Vertex AI官方托管的所有可微调预训练模型(比如你代码里提到的text-bison@001这类基础模型,默认不属于你项目下的资源,因此不会出现在结果里)。
关于文档内容的说明
根据Vertex AI Node.js客户端文档的描述:listModels方法用于列出指定项目和位置下的所有Model资源,这些资源是用户在项目内创建、导入或微调得到的。如果要获取Vertex AI提供的所有可用于微调的基础模型,需要使用其他接口,比如listModelVersions方法(指定基础模型的资源路径),或者调用Model Garden相关的查询接口。返回空结果的原因
你当前的代码返回空数组,说明你的目标项目和位置下,还没有创建任何微调模型、导入模型或自定义模型,因此没有符合条件的资源返回。获取可微调预训练模型的方法
如果要获取像text-bison这类可微调的预训练模型及其版本,可以使用listModelVersions方法,示例代码如下:
// 获取text-bison模型的所有可微调版本 const versions = await modele.listModelVersions({ parent: `projects/${project}/locations/${location}/models/text-bison` }); console.log('可微调模型版本', versions);
内容的提问来源于stack exchange,提问作者Pierre Bressand
相关产品推荐
相关产品推荐

