0 / 0
영어 버전 문서로 돌아가기

REST API를 사용하여 필요에 따라 기초 모델을 배포하고 관리하기

마지막 업데이트 날짜: 2025년 3월 05일
REST API를 사용하여 필요에 따라 기초 모델을 배포하고 관리하기

필요할 때 기초 모델을 배포하면 조직 전용으로 전용 하드웨어에서 사용할 수 있습니다. IBM 사용자가 필요에 따라 배포할 수 있는 엄선된 모델 세트를 제공합니다. REST API를 사용하면 필요할 때 기초 모델을 프로그래밍 방식으로 배포할 수 있습니다.

시작하기 전에

  1. 온디맨드 방식으로 파운데이션 모델을 배포하려면 작업 자격 증명을 설정하거나 활성화해야 합니다. 자세한 내용은 작업 자격 증명 관리하기를 참조하세요.
  2. 온디맨드 방식의 기초 모델 배포에 필요한 요건과 고려 사항을 검토하십시오.

모델 에셋 만들기

/ml/v4/models 엔드포인트를 사용하면 필요할 때 배포할 기초 모델에 대한 자산을 만들 수 있습니다.

다음 코드 조각은 필요에 따라 기초 모델을 배포하기 위해 watsonx.ai 런타임 저장소에 자산을 만드는 방법을 보여줍니다. 모델을 배포할 때 이 코드로 생성된 asset ID 를 사용하십시오.

curl -X POST "https://<cluster url>/ml/v4/models?version=2024-01-29" \
-H "Authorization: Bearer <replace with your token>" \
-H "content-type: application/json" \
--data '{
    "type": "curated_foundation_model_1.0",
    "version": "1.0",
    "name": "granite",
    "space_id": "<Space id for deployment>",
    "foundation_model": {
        "model_id": "ibm/granite-13b-chat-v2-curated"
    }
}'

온디맨드 기반 모델 배포 만들기

/ml/v4/deployments 엔드포인트를 사용하면 배포 공간 내에서 필요에 따라 기초 모델을 배포할 수 있습니다. 배포용 모델 자산을 생성할 때 생성된 배포용 자산( asset ID )을 사용하십시오. 자세한 정보는 모델 자산 만들기를 참고하세요.

참고: 파운데이션 모델을 온디맨드 방식으로 배포할 때는 일괄 배포가 지원되지 않습니다.

다음 코드 스니펫은 기초 모델을 필요에 따라 배포하기 위해 온라인 배포를 만드는 방법을 보여줍니다

curl -X POST "https://<cluster url>/ml/v4/deployments?version=2024-01-29" \
-H "Authorization: Bearer <replace with your token>" \
-H "content-type: application/json" \
--data '{
  "asset": {
    "id": <Asset id created>
  },
  "online": {
    "parameters": {
      "serving_name": "llma"
    }
  },
  "description": "<Description>,
  "name": "mi",
  "space_id": <Space id for deployment>
}'

배포 상태 폴링

배포 ID를 사용하여 배포 상태를 폴링할 수 있습니다. 상태가 초기화 에서 준비로 변경되면 배포를 사용할 준비가 된 것입니다.

다음 코드 샘플은 REST API를 사용하여 배포 상태를 폴링하는 방법을 보여줍니다:

curl -X GET "https://<replace with your cloud hostname>/ml/v4/deployments/<replace with your deployment ID>?version=2024-01-29&project_id=<replace with your project ID>" \
-H "Authorization: Bearer <replace with your token>" 

출력:

"deployed_asset_type": "curated_foundation_model"

온디맨드 방식으로 배포된 파운데이션 모델 테스트

온라인 추론을 위해 온디맨드 방식으로 배포되는 기초 모델을 테스트할 수 있습니다.

텍스트 응답 생성

다음 코드 샘플은 /ml/v1/deployments/<deployment ID>/text/generation API 엔드포인트를 사용하여 텍스트 응답을 생성하는 방법을 보여줍니다

다음 코드 스니펫은 온라인 추론을 위해 필요에 따라 배포되는 기초 모델을 테스트하는 방법을 보여줍니다

curl -X POST "https://<replace with your cloud hostname>/ml/v1/deployments/<replace with your deployment ID>/text/generation?version=2024-01-29" \
-H "Authorization: Bearer <replace with your token>" \
-H "content-type: application/json" \
--data '{
 "input": "Hello, what is your name",
 "parameters": {
    "max_new_tokens": 200,
    "min_new_tokens": 20
 }
}'

온디맨드 방식으로 배포된 파운데이션 모델 관리하기

REST API를 통해 필요에 따라 배포된 기초 모델을 액세스, 업데이트, 확장 또는 삭제할 수 있습니다.

배포된 모델에 액세스하기

REST API를 사용하여 배포 공간에 온디맨드 방식으로 배포된 모든 파운데이션 모델 목록을 검색하려면 쿼리 매개 변수 ' type=curated_foundation_model'을 설정하면 됩니다.

다음 코드 샘플은 배포 공간에서 온디맨드 방식으로 배포되는 모든 기초 모델에 액세스하기 위해 REST API를 사용하는 방법을 보여 줍니다:

curl -X GET "https://<replace with yourcloud hostname>/ml/v4/deployments?version=2024-01-29&space_id=<replace with your space ID>&type=curated_foundation_model" \
-H "Authorization: Bearer <replace with your token>" 

배포 업데이트하기

이름, 설명, 태그 등 배포에 필요한 배포 메타데이터를 업데이트하세요.

다음 코드 샘플은 주문형으로 배포된 재단 모델의 이름을 업데이트하는 방법을 보여줍니다

curl -X PATCH "https://<replace with your cloud hostname>//ml/v4/deployments/<replace with your deployment ID>?version=2024-01-29&project_id=<replace with your space ID>" \
-H "Authorization: Bearer <replace with your token>" \
-H "content-type: application/json" \
--data '[{
 "op": "replace",
 "path": "/name",
 "value": "<replace with updated deployment name>"
}]'

배포 확장하기

배포 공간에는 기초 모델의 인스턴스 하나만 온디맨드 모델로 배포할 수 있습니다. 증가하는 수요를 처리하기 위해 추가 복사본을 만들어 배포를 확장할 수 있습니다.

다음 코드 샘플은 배포를 위해 복제본 수를 확장하는 방법을 보여줍니다:

curl -X PATCH "<replace with your cloud hostname>/ml/v4/deployments/<replace with your deployment ID>?version=2024-01-29&space_id=<replace with your space ID>" \
-H "Authorization: Bearer $token" \
-H "content-type: application/json" \
--data '[{
 "op": "replace",
 "path": "/hardware_request",
 "value": {"num_nodes": 2}                
}]'
중요:
  1. 하드웨어 리소스를 확장하려면 ' /hardware_request ' 매개변수와 함께 ' PATCH ' 작업을 사용하고 ' num_nodes ' 매개변수에 값을 제공하여 하드웨어 노드 수를 업데이트하세요. ' size ' 매개변수는 ' /hardware_request'와 함께 사용할 수 없습니다.
  2. PATCH 작업을 사용하여 기초 모델 매개변수를 업데이트할 수 없습니다(/online/parameters/foundation_model).

배치 삭제

청구 요금을 멈추기 위해 더 이상 필요하지 않은 배포된 기초 모델을 삭제할 수 있습니다.

다음 코드 샘플은 REST API를 사용하여 온디맨드 방식으로 배포된 기초 모델을 삭제하는 방법을 보여줍니다

curl -vk -X DELETE "https://<replace with your cloud hostname>/ml/v4/deployments/<replace with your deployment ID>?version=2024-01-29&space_id=<replace with your space ID>" -H "Authorization: Bearer <replace with your token>"

샘플 노트북

다음 샘플 노트북은 프로그래밍 방식으로 온디맨드 방식으로 배포되는 기초 모델에 대한 프롬프트를 보여 줍니다. 노트북을 실행하기 전에 기초 모델을 필요에 따라 배치해야 합니다.

샘플 노트북
노트북 설명
Granite 텍스트-SQL 모델을 사용한 추론 설정
스키마 연결 모델에 대한 프롬프트 생성
WX.AI 엔드포인트를 사용하여 스키마 연결 모델에 대한 추론 수행
스키마 연결 모델 출력 프로세스 게시
SQL 생성 모델에 대한 프롬프트 생성
WX.AI 엔드포인트를 사용하여 SQL 생성 모델에 대한 추론 수행

자세히 알아보기

상위 주제: 전용 파운데이션 모델 배포