Red Hat AI Inference on IBM Cloud 시작하기

애플리케이션에 AI를 적용해 볼 준비가 되셨나요? 이 튜토리얼에서는 파운데이션 모델을 활용한 추론 방법과 AI 기반 응답을 생성하는 방법을 배워보겠습니다. 불과 15분 만에 대규모 언어 모델과 대화를 나누고, 대화형 AI를 여러분의 업무 흐름에 통합할 수 있게 될 것입니다.

Red Hat® AI Inference on IBM Cloud® Red Hat OpenShift AI를 기반으로 하는, 기업용으로 바로 활용 가능한 비공개 및 보안이 강화된 생성형 AI 솔루션입니다. 이 튜토리얼은 AI를 시작하는 가장 빠른 방법인, 파운데이션 모델과 상호작용하기 위한 추론 기능을 활용하는 방법을 중점적으로 다룹니다.

수행할 작업

이 튜토리얼에서는 다음과 같은 작업을 수행하게 됩니다:

  • IBM Cloud 계정과 프로젝트를 설정하세요.
  • 추론 API에 인증합니다.
  • 파운데이션 모델을 사용하여 첫 번째 채팅 완성문을 생성해 보세요.
  • 자신의 데이터를 사용하여 모델을 맞춤 설정하는 다음 단계에 대해 알아보세요.

시작하기 전에

다음 사항이 준비되어 있는지 확인하십시오:

프로젝트 ID와 API 엔드포인트를 확인하세요

모든 API 요청 시 프로젝트 ID가 필요합니다.

  1. Red Hat AI Inference 프로젝트 로 이동하세요.

  2. 프로젝트를 열어주세요.

  3. 프로젝트 ID를 복사하여 다음 단계를 위해 잘 보관해 두세요.

API 엔드포인트

모든 API 요청은 다음과 같은 기본 형식 URL 을 따릅니다:

https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference

<project_id> 을 여러분의 프로젝트 ID로 대체하세요.

API에 인증하기

파운데이션 모델과 상호작용하기 전에 API 요청에 대한 인증을 완료해야 합니다. 베어러 토큰이나 IBM Cloud API 키 중 하나를 사용할 수 있습니다. 이 튜토리얼에서는 프로그래밍 방식으로 액세스하기 위해 서비스 ID와 API 키를 함께 사용하는 방법을 설명합니다. 베어러 토큰 사용에 대한 자세한 내용은 ‘베어러 토큰을 사용한 인증’을 참조하십시오.

서비스 ID 생성 및 액세스 권한 할당

서비스 ID는 ‘ Red Hat AI Inference ’ 프로젝트에 대한 접근 권한을 관리하고 부여하는 데 유용한 방법입니다. 서비스 ID를 생성한 다음, 해당 서비스 ID에 프로젝트에 대한 액세스 권한을 할당하세요.

  1. IBM Cloud 콘솔에서 [관리]> [액세스(IAM)] >[서비스 ID ]로 이동한 다음 [생성]을 클릭합니다.

  2. 서비스 ID의 이름과 설명을 입력한 다음 ‘생성’을 클릭하세요.

  3. 서비스 ID 페이지에서 ‘액세스 권한 할당’을 클릭합니다.

  4. 이 서비스를 Red Hat AI Inference 을 서비스로 선택하십시오.

  5. '리소스 '에서 '특정 리소스'를 선택한 다음, 해당 프로젝트를 선택하세요. 이렇게 하면 특정 프로젝트에 대한 접근 권한을 제한할 수 있습니다.

  6. '역할 및 작업 '에서 적절한 서비스 액세스 역할을 선택하십시오:

    • 채팅 자동 완성 기능을 생성해야 하는 경우 ‘작성자’를 선택하세요.
    • 채팅 자동 완성 내용을 읽거나 모델 정보만 확인하려는 경우 ‘리더’를 선택하세요.

    API에 액세스하는 데는 플랫폼 액세스 역할이 필요하지 않습니다.

  7. (선택 사항) 서비스 ID에 대한 액세스 범위를 더욱 세분화하기 위해 시간 기반 액세스와 같은 조건을 추가합니다.

  8. 접근 요약 정보를 확인한 후 ‘할당’을 클릭하세요.

API 키 작성

서비스 ID가 ‘ Red Hat AI Inference ’ 프로젝트에 대한 액세스 권한을 얻었으므로, API 호출에 사용할 서비스 ID API 키를 생성하세요.

  1. 서비스 ID 페이지에서 ‘API 키’를 클릭합니다.

  2. '생성'을 클릭하고 API 키의 이름을 입력하세요.

  3. 유출된 키 처리를 위해 ‘유출된 키 비활성화’를 선택하면, 키가 유출된 것으로 감지될 경우 해당 키가 자동으로 비활성화됩니다.

  4. 키의 만료일을 설정합니다. 보안을 위해 정기적으로 키를 교체하는 것이 좋습니다.

  5. 작성을 클릭하십시오.

  6. API 키를 복사하여 안전한 곳에 보관하십시오. 이 키는 다시 볼 수 없습니다.

이제 해당 API 키를 사용하여 요청을 인증할 수 있습니다. 다음 단계에서는 API 호출 시 ‘ Authorization: Bearer ’ 헤더에 이 키를 사용하게 됩니다.

사용 가능한 모델 살펴보기

파운데이션 모델마다 장점이 다르기 때문에, 프로젝트에서 사용할 수 있는 모델들을 꼼꼼히 검토하는 것이 중요합니다.

사용 가능한 모든 모델을 나열하려면 다음 API 호출을 수행하십시오. <project_id> 을 프로젝트 ID로, <api_key> 을 서비스 ID API 키로 각각 대체하십시오:

curl -L 'https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference/models' \
  -H 'Accept: application/json' \
  -H "Authorization: Bearer <api_key>"
from openai import OpenAI
client = OpenAI(
  api_key="<api_key>",
  base_url="https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference",
)
models = client.models.list()
print(models)

이 응답에는 사용할 수 있는 모든 모델과 각 모델의 기능에 대한 정보가 함께 표시됩니다. 다양한 모델을 직접 사용해 보면서 자신의 사용 사례에 가장 적합한 모델을 찾아볼 수 있습니다.

첫 번째 채팅 완성 문구를 생성해 보세요

자, 이제 모델에게 메시지를 보내면 AI가 생성한 답변을 받아볼 수 있습니다.

<project_id> 을 프로젝트 ID로, <api_key> 을 서비스 ID API 키로 대체하여 다음 API 호출을 수행하십시오:

curl https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <api_key>" \
  -d '{
    "model": "granite-4-0-h-small",
    "messages": [
      {
        "role": "developer",
        "content": "You are a helpful assistant"
      },
      {
        "role": "user",
        "content": "Hello! Tell me about yourself"
      }
    ]
  }'
from openai import OpenAI
client = OpenAI(
  api_key="<api_key>",
  base_url="https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference",
)
completion = client.chat.completions.create(
  model="granite-4-0-h-small",
  messages=[
    {"role": "developer", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Hello! Tell me about yourself"}
  ]
)
print(completion.choices[0].message)

모델이 자신을 소개하는 응답을 받게 될 것입니다.

요청 내용 파악하기

방금 하신 작업을 하나씩 살펴보겠습니다:

model
사용 가능한 파운데이션 모델 중 하나인 ‘ granite-4-0-h-small ’를 지정하셨습니다. 모델마다 기능과 성능 특성이 다릅니다.
메시지
두 개의 메시지를 보내주셨습니다. 그 중 하나는 시스템 프롬프트를 설정하고 모델이 어떻게 행동해야 하는지 지시하는 개발자 메시지였습니다. 사용자 메시지에는 모델이 답변해야 할 귀하의 실제 질문이 포함되어 있었습니다.
API 엔드포인트
이 요청은 해당 프로젝트의 추론 엔드포인트로 전송되었으며, 이 엔드포인트는 적절한 모델로 요청을 라우팅하는 역할을 합니다.

시스템 프롬프트를 조정하거나, 메시지를 추가하거나, 용도에 따라 서로 다른 모델을 사용하여 모델의 동작을 맞춤 설정할 수 있습니다.

다음 단계

이제 추론 기능을 성공적으로 사용하기 시작했으니, 다음 단계로 다음과 같은 작업을 수행할 수 있습니다:

추론을 계속합니다

  • 추론에 대해 자세히 알아보고, 응답 스트리밍, 모델 매개변수 조정, 대화 내역 관리와 같은 고급 기능을 확인해 보세요.

  • 전체 API 참조 내용을 확인하려면 ‘ OpenAI ’ 채팅 자동 완성 API 문서를 살펴보세요.

  • Python SDK 또는 기타 프로그래밍 언어를 사용하여 애플리케이션에 추론 기능을 통합하세요.

자신의 데이터로 모델을 맞춤 설정하세요

사용 중단됨

범용 모델을 넘어설 준비가 되셨나요? 모델 정렬을 통해 조직 고유의 지식과 기술을 바탕으로 파운데이션 모델을 맞춤 설정할 수 있습니다:

  1. 비즈니스 지식과 기술을 담은 분류 체계를 마련하십시오.

  2. 분류 체계에서 합성 데이터를 생성하세요.

  3. 특정 요구 사항에 맞춰 사용자 지정 모델을 학습시키세요.

이렇게 하면 모델이 귀사의 비즈니스 맥락, 용어 및 요구 사항을 이해할 수 있도록 미세 조정할 수 있으며, 이는 범용 모델이 제공할 수 있는 범위를 뛰어넘는 것입니다.