사용자 정의 언어 모델 관리
사용자 정의 인터페이스에는 사용자 정의 언어 모델을 작성하기 위한 POST /v1/customizations 메소드가 포함되어 있습니다. 이 인터페이스에는 해당 단어 리소스의 최신 데이터에 대해 사용자 정의 모델을 훈련하기 위한 POST /v1/customizations/train 메소드도 있습니다. 자세한 정보는 다음을 참조하십시오.
또한 인터페이스에는 사용자 정의 언어 모델에 대한 정보를 나열하고, 사용자 정의 모델을 초기 상태로 재설정하고, 사용자 정의 모델을 업그레이드하며, 사용자 정의 모델을 삭제하는 방법도 포함되어 있습니다. 모델에 리소스를 추가하는 것을 비롯하여 서비스가 해당 모델에서 다른 오퍼레이션을 처리하는 중에는 사용자 정의 모델을 훈련, 재설정 또는 삭제할 수 없습니다.
사용자 정의 언어 모델 나열
사용자 정의 인터페이스는 지정된 인증 정보가 소유하는 사용자 정의 언어 모델에 대한 정보를 나열하기 위한 두 가지 메소드를 제공합니다.
GET /v1/customizations메소드는 모든 사용자 정의 언어 모델에 대한 정보를 나열하며,language매개변수를 지정하는 경우에는 지정된 언어의 모든 사용자 정의 언어 모델에 대한 정보를 나열합니다. 언어를 지정하는 경우에는 기본 모델의 이름에 포함된 언어 식별자(예: 미국 영어 모델의 경우en-US)를 사용하십시오.GET /v1/customizations/{customization_id}메소드는 지정된 사용자 정의 언어 모델에 대한 정보를 나열합니다. 이 메소드를 사용하여 훈련 요청 또는 새 단어 추가 요청의 상태에 대한 서비스를 폴링할 수 있습니다.
두 메소드 모두 사용자 정의 모델에 대한 다음 정보를 리턴합니다.
customization_id는 사용자 정의 모델의 GUID(Globally Unique Identifier)를 식별합니다. 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입니다.
사용자 지정 모델의 훈련 또는 업그레이드를 모니터링할 때는 progress 필드의 값이 아니라 status 필드의 값을 폴링하십시오. 어떤 이유로든 작업이 실패하면, 실패를 반영하기 위해 " 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"
인증 정보에는 두 개의 모델이 있습니다. 첫 번째 모델은 데이터를 대기 중이거나 서비스에서 처리 중입니다. 두 번째 모델은 훈련이 완료되었으며 사용할 준비가 되었습니다. 두 사용자 정의 모델은 모두 이전 세대 모델을 기반으로 하며, 첫 번째 사용자 정의 모델에는 두 개의 사용 가능한 버전이 있습니다.
{
"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
}
]
}
특정 사용자 정의 언어 모델 나열 예
다음 예제는 지정된 사용자 정의 ID가 있는 사용자 정의 모델에 대한 정보를 리턴합니다.
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 메소드를 사용하십시오. 모델을 재설정하면 모델에서 모든 말뭉치 및 단어가 제거되어 모델이 작성 시 상태로 초기화됩니다. 이 메소드는 모델 자체 또는 메타데이터(예: 이름 및 언어)를 삭제하지 않습니다. 그러나 모델을 재설정하면 해당 단어 리소스가 비게 되므로 말뭉치 및 단어를 추가하여 다시
작성해야 합니다.
사용자 정의 언어 모델 재설정 예
다음 예제에서는 지정된 사용자 정의 ID를 사용하는 사용자 정의 모델을 재설정합니다.
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} 메소드를 사용하십시오. 이 메소드는 사용자 정의 모델과 연관된 모든 말뭉치 및 단어와 모델 자체를 삭제합니다. 이 메소드를 사용할 때는 주의를 기울이십시오. 모델이 삭제된 후에는 사용자 정의 모델 및 해당 데이터를 재확보할 수 없습니다.
사용자 정의 언어 모델 삭제 예
다음 예제에서는 지정된 사용자 정의 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}"