watsonx.ai 경량 엔진으로 작업하기

API를 사용하여 경량 설치 모드에서 기본 모델로 작업할 수 있습니다. watsonx.ai 경량 엔진에는 전용 사용자 인터페이스가 없습니다. 그러나, IBM Software Hub 플랫폼 웹 클라이언트에서 플랫폼 리소스 사용량을 모니터링하는 것과 같은 관리 작업을 수행할 수 있습니다.

API 자격 증명 생성

기초 모델을 추론하거나 임베딩 모델을 사용하여 텍스트를 벡터화하는 것과 같은 생성 AI 작업을 수행하려면 watsonx API를 사용합니다. 사용 가능한 메서드를 사용할 수 있는 권한이 있음을 보여주기 위해 watsonx.ai 경량 엔진 서비스에 요청할 때 지정할 수 있는 API 자격 증명을 가져옵니다.

자격 증명을 생성하려면 다음 단계를 완료합니다:

  1. API 키를 받으려면 다음 방법 중 하나를 사용하여 키를 생성할 수 있습니다:

    • 웹 클라이언트 사용자 인터페이스에서. 자세한 내용은 인증을 위한 API 키 생성을 참조하세요.
    • 프로그래밍 방식으로 다음 단계를 완료합니다:
    1. 앞서 검색한 서비스 세부 정보를 사용하여 무기명 토큰을 생성합니다. 자세한 내용은 권한 부여 토큰 가져오기를 참조하세요.

      curl --request POST \
      --url "https://cpd-<namespace-name>.apps.<OCP-domain>/icp4d-api/v1/authorize" \
      --header "Content-Type: application/json" \
      --data '{
       "username":"${CPDUSER}",
       "password": "${CPDUSER_PASSWORD}"
      }'
      

      반환된 JSON에서 무기명 토큰을 복사합니다.

    2. 다음 요청에서 무기명 토큰으로 사용할 TOKEN을 복사한 토큰으로 대체합니다. 자세한 내용은 API 키 가져오기를 참조하세요.

      curl -s -X GET \
      --url "https://cpd-<namespace-name>.apps.<OCP-domain>/usermgmt/v1/user/apiKey" \
      --header "Authorization: Bearer <TOKEN>"
      
      참고: `usermgmt/v1/user/apiKey` 엔드포인트를 사용하면 새 API 키가 생성되며, 기존 키가 있는 경우 기존 키가 만료됩니다.

      생성된 API 키를 복사합니다.

  2. watsonx.ai REST API의 경우, API 키를 사용하여 필요에 따라 새 무기명 토큰을 요청하세요. 프로그래밍 방식으로 API 키를 생성한 경우, 이전에 사용한 것과 동일한 ' https://cpd-<namespace-name>.apps.<OCP-domain>/icp4d-api/v1/authorize 엔드포인트를 사용하지만 이번에는 비밀번호 대신 API 키를 제출하여 무기명 토큰을 생성하는 것을 확인할 수 있습니다. 자세한 내용은 권한 부여 토큰 가져오기를 참조하세요.

    curl --request POST \
    --url "https://cpd-<namespace-name>.apps.<OCP-domain>/icp4d-api/v1/authorize" \
    --header "Content-Type: application/json" \
    --data '{
     "username":"${CPDUSER}",
     "api_key": "<APIKEY>"
    }'
    
    

    JSON 응답의 ' access_token ' 섹션에서 무기명 토큰을 복사합니다.

  3. 요청을 제출할 때 이전 단계에서 반환받은 무기명 토큰을 포함하세요.

    curl --request POST \
    --url "https://cpd-<namespace-name>.apps.<OCP-domain>/ml/v1/text/chat?version=2026-03-05" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer ${TOKEN}" \
    --header "Content-Type: application/json" \
    ...
    
    

기초 모델 추론하기

프로그래밍 방식으로 기초 모델을 추론하기 위해 watsonx.ai API를 사용하여 REST API 요청을 제출하세요. 텍스트 생성에 사용하려는 큐레이션 또는 사용자 지정 기초 모델을 추가해야 API를 사용하여 추론할 수 있습니다.

사용 가능한 파운데이션 모델 목록 보기

추가한 모든 사용자 지정 파운데이션 모델은 서비스에 추가한 큐레이션된 파운데이션 모델과 동일한 엔드포인트에서 액세스할 수 있습니다. 자세한 내용은 Foundation 모델 사양을 참조하세요.

curl -k -X GET \
--url "https://cpd-<namespace-name>.apps.<OCP-domain>/ml/v1/foundation_model_specs?version=2026-03-05&limit=50"

기초 모델 추론

curl -k -X POST \
--url "https://cpd-<namespace-name>.apps.<OCP-domain>/ml/v1/text/chat?version=2026-03-05" 
--header "Authorization: Bearer ${TOKEN}"
--header "Content-Type: application/json"
--data '{
    "model_id": "ibm/granite-3-2-8b-instruct", 
    "input": "Tell me about mortgage insurance."}'

사용자 지정 기초 모델 추론

curl -k -X POST \
--url "https://cpd-<namespace-name>.apps.<OCP-domain>/ml/v1/text/chat?version=2026-03-05"
--header "Authorization: Bearer ${TOKEN}"
--header "Content-Type: application/json"
--data '{
    "model_id": "tiiuae/falcon-7b", 
    "input": "Tell me about mortgage insurance."}'

텍스트 생성 방법에 대한 자세한 내용은 텍스트 생성을 참조하세요.

주의:watsonx.ai API 참조 문서 예제에 표시된 `project_id`는 생략하세요. watsonx.ai 경량 엔진은 프로젝트를 사용하지 않습니다.

지원되는 REST API 메서드

텍스트 생성 외에도 ' watsonx.ai 경량 엔진에서 다음 ' watsonx.ai REST API 메서드를 사용할 수 있습니다:

  • 텍스트 임베딩 API를 사용하여 텍스트를 벡터화하려면 먼저 임베딩 모델을 추가해야 합니다.
주의:watsonx.ai API 참조 문서 예제에 표시된 `project_id`는 생략하세요. watsonx.ai 경량 엔진은 프로젝트를 사용하지 않습니다.

Python 라이브러리 사용

IBM watsonx.ai Python 라이브러리를 사용하여 watsonx.ai 경량 엔진에서 배포하는 기초 모델과 함께 작업할 수 있습니다.

자세한 내용은 watsonx.ai 경량 엔진에서 Python 라이브러리 사용하기를 참조하세요.

샘플 노트북:

프롬프트 템플릿 평가하기

watsonx.ai 의 경량 엔진에 호스팅된 파운데이션 모델을 다양한 입력값으로 훈련시키고, 모델의 출력 결과를 CSV 파일에 저장할 수 있습니다. 그런 다음 ` CSV ` 파일을 ` watsonx.governance `이 설치된 클러스터로 가져온 후, 분리된 프롬프트 템플릿으로 모델 출력을 평가할 수 있습니다.

프롬프트 템플릿을 평가하기 위해 취할 수 있는 높은 수준의 단계는 다음과 같습니다:

  1. 시작점으로 사용할 ` prompt_data.csvCSV ` 파일을 생성합니다. 코드에서 순환할 ' city_name 프롬프트 변수에 대한 값을 정의합니다.

    도시_이름 생성된 텍스트 입력_토큰_수 생성된_토큰_수
    0 뉴욕시
    1 런던
    2 도쿄
    3 스톡홀름
  2. REST 요청으로 지정할 수 있는 무기명 토큰을 생성합니다. 프로그래밍 방식 액세스는 자격 증명을 참조하세요.

  3. watsonx.ai API의 텍스트 생성 메서드에 게시물 요청을 제출하는 방법을 정의합니다. 4단계의 예제에서는 이 메서드를 ' <your-text-generation-method> 이라고 합니다. 프로그래밍 방식으로 기초 모델 추론을 참조하세요.

  4. CSV 파일의 구조화된 데이터를 처리하려면 이 pandas 라이브러리를 사용하세요. 모델 출력을 ' generated_text 열에 추가하고 토큰 개수를 ' input_token_count ' 및 ' generated_token_count ' 열에 추가합니다. 다음 코드 예제는 ` CSV ` 파일에 제출된 각 입력에 대해 파운데이션 모델이 생성한 출력에 대한 정보를 추가합니다.

    import pandas as pd
    
    test_df = pd.read_csv("prompt_data.csv")
    token = <specify-your-bearer-token>
    
    generated_text = []
    input_token_count = []
    generated_token_count = []
    for city in test_df["city_name"]:
        payload = {
            "model_id": "mistralai/mixtral-8x7b-instruct-v01",
            "input": f"Describe the must-see attractions for visiting {city} as a tourist."
        }
        scored_response = <your-text-generation-method>(cluster_url, payload, token)
        generated_text.append(scored_response["results"][0]["generated_text"])
        input_token_count.append(scored_response["results"][0]["input_token_count"])
        generated_token_count.append(scored_response["results"][0]["generated_token_count"])
    
    test_df["generated_text"] = generated_text
    test_df["input_token_count"] = input_token_count
    test_df["generated_token_count"] = generated_token_count
    test_df.to_csv("custom_detached_test_prompt_data.csv", index=False)
    test_df.head()
    

생성된 ` CSV ` 파일을 ` watsonx.governance ` 서비스의 전체 설치 환경에 가져온 다음, ‘프로젝트에서 분리된 프롬프트 템플릿 평가’ 절차의 지침에 따라 모델을 평가할 수 있습니다.

자세히 알아보기