管理定制语言模型
定制接口包含用于创建定制语言模型的 POST /v1/customizations
方法。 该接口还包含 POST /v1/customizations/train
方法,用于基于定制模型词资源的最新数据来训练该模型。 有关更多信息,请参阅
该界面还包含列出自定义语言模型信息、将自定义模型重置为初始状态、升级自定义模型以及删除自定义模型的方法。 服务正在处理对定制模型的其他操作(包括向模型添加资源)时,无法训练、重置、升级或删除该模型。
列出定制语言模型
定制接口提供了两种方法来列出有关指定凭证所拥有的定制语言模型的信息:
GET /v1/customizations
方法列出所有自定义语言模型的信息,如果您指定language
参数,则列出指定语言的所有自定义语言模型的信息。 如果您指定了语言,请使用基础车型名称中的语言标识符,例如,美国英语车型为en-US
。GET /v1/customizations/{customization_id}
方法用于列出有关指定定制语言模型的信息。 使用此方法可轮询服务以获取有关训练请求或新词添加请求的状态的信息。
这两种方法都会返回有关定制模型的以下信息:
customization_id
标识定制模型的全局唯一标识 (GUID)。 GUID 用于在接口的各方法中标识模型。created
是创建定制模型的日期和时间,采用协调世界时 (UTC)。updated
是上次修改定制模型的日期和时间,采用协调世界时 (UTC)。language
是定制模型的语言。 该值与基础车型名称中的语言标识符一致。 例如,en-US
代表美式英语。dialect
是定制车型的方言,与上一代西班牙车型的定制车型语言并不一定匹配。 更多信息,请参阅 创建自定义语言模型 中dialect
字段的描述。owner
标识拥有定制模型的服务实例的凭证。name
是定制模型的名称。description
显示定制模型的描述(如果在创建时提供)。base_model
指示已为其创建定制模型的语言模型的名称。versions
提供定制模型的可用版本列表。 数组中的每个元素指示一个可使用定制模型的基本模型版本。 只有当定制车型升级到其基础车型的新版本时,才会存在多个版本。 否则,只会显示一个版本。 有关更多信息,请参阅列出定制模型的版本信息。
此方法还会返回 status
字段,用于指示定制模型的状态:
pending
指示模型已创建。 它正在等待有效的训练数据(语料库、单词或语法)被添加,或者等待服务完成对已添加数据的分析。ready
指示模型包含有效数据,已准备好进行训练。 如果模型包含有效和无效资源的组合,那么除非您将strict
查询参数设置为false
,否则模型训练会失败。 有关更多信息,请参阅训练失败。training
指示正在基于数据对模型进行训练。available
指示模型已训练并已准备好用于识别请求。upgrading
指示正在升级模型。failed
指示模型训练失败。 请检查模型的词资源中的词,以确定阻止训练模型的错误。
此外,输出结果中包含一个 progress
字段,用于指示定制模型的训练状态。 如果您使用 POST /v1/customizations/{customization_id}/train
方法成功训练了模型,则此字段值为 100
。 如果模型没有经过完全训练且 available
,则该字段值为 0
。
当您监控定制模型的训练或升级时,请轮询 status
字段的值,而不是 progress
字段的值。 如果操作因任何原因失败,status
字段的值将发生变化以反映失败; progress
字段的值将保持为 0
。
列出所有自定义语言模型示例
以下示例包含 language
查询参数,用于列出指定凭证拥有的所有美国英语定制语言模型:
IBM Cloud
curl -X GET -u "apikey:{apikey}" \
"{url}/v1/customizations?language=en-US"
IBM Cloud Pak for Data IBM Software Hub
curl -X GET \
--header "Authorization: Bearer {token}" \
"{url}/v1/customizations?language=en-US"
凭证拥有两个此类模型。 第一个模型正在等待数据,或者正在由服务进行处理。 第二个模型已经过完全训练并准备好供使用。 两款定制车型均基于上一代车型打造;首款定制车型有2个版本可供选择。
{
"customizations": [
{
"customization_id": "74f4807e-b5ff-4866-824e-6bba1a84fe96",
"created": "2016-06-01T14:21:26.894Z",
"updated": "2020-01-18T18:42:25.324Z",
"language": "en-US",
"dialect": "en-US",
"versions": [
"en-US_BroadbandModel.v2018-07-31",
"en-US_BroadbandModel.v2020-01-16"
],
"owner": "297cfd08-330a-22ba-93ce-1a73f454dd98",
"name": "Example model",
"description": "Example custom language model",
"base_model_name": "en-US_BroadbandModel",
"status": "pending",
"progress": 0
},
{
"customization_id": "8391f918-3b76-e109-763c-b7732fae4829",
"created": "2017-12-02T18:51:37.291Z",
"updated": "2017-12-02T20:02:10.624Z",
"language": "en-US",
"dialect": "en-US",
"versions": [
"en-US_BroadbandModel.v2017-11-15"
],
"owner": "297cfd08-330a-22ba-93ce-1a73f454dd98",
"name": "Example model two",
"description": "Example custom language model two",
"base_model_name": "en-US_BroadbandModel",
"status": "available",
"progress": 100
}
]
}
列举一个具体的自定义语言模型示例
以下示例返回有关具有指定定制标识的定制模型的信息:
IBM Cloud
curl -X GET -u "apikey:{apikey}" \
"{url}/v1/customizations/{customization_id}"
IBM Cloud Pak for Data IBM Software Hub
curl -X GET \
--header "Authorization: Bearer {token}" \
"{url}/v1/customizations/{customization_id}"
该回复与上一个示例中的信息相同:
{
"customization_id": "74f4807e-b5ff-4866-824e-6bba1a84fe96",
"created": "2016-06-01T14:21:26.894Z",
"updated": "2020-01-18T18:42:25.324Z",
"language": "en-US",
"dialect": "en-US",
"versions": [
"en-US_BroadbandModel.v2018-07-31",
"en-US_BroadbandModel.v2020-01-16"
],
"owner": "297cfd08-330a-22ba-93ce-1a73f454dd98",
"name": "Example model",
"description": "Example custom language model",
"base_model_name": "en-US_BroadbandModel",
"status": "pending",
"progress": 0
}
重置定制语言模型
使用 POST /v1/customizations/{customization_id}/reset
方法可重置定制模型。 重置模型会从模型中除去所有语料库和词,并将模型初始化为创建时的状态。 此方法不会删除模型本身或元数据,如模型名称和语言。 但是,重置模型后,其词资源为空,因此必须通过添加语料库和词来重新创建模型词资源。
重置自定义语言模型示例
以下示例重置具有指定定制标识的定制模型:
IBM Cloud
curl -X POST -u "apikey:{apikey}" \
"{url}/v1/customizations/{customization_id}/reset"
IBM Cloud Pak for Data IBM Software Hub
curl -X POST \
--header "Authorization: Bearer {token}" \
"{url}/v1/customizations/{customization_id}/reset"
删除定制语言模型
使用 DELETE /v1/customizations/{customization_id}
方法可删除不再需要的定制语言模型。 此方法会删除与定制模型关联的所有语料库和词以及模型本身。 请谨慎使用此方法:删除定制模型后,无法取回该模型及其数据。
删除自定义语言模型示例
以下示例删除具有指定定制标识的定制模型:
IBM Cloud
curl -X DELETE -u "apikey:{apikey}" \
"{url}/v1/customizations/{customization_id}"
IBM Cloud Pak for Data IBM Software Hub
curl -X DELETE \
--header "Authorization: Bearer {token}" \
"{url}/v1/customizations/{customization_id}"