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への認証を行います。
- ファウンデーションモデルを使って、最初のチャット応答を生成しましょう。
- ご自身のデータを使ってモデルをカスタマイズするための次の手順についてご確認ください。
開始前に
以下のものが揃っていることを確認してください:
-
従量課金型またはサブスクリプション型の IBM Cloud アカウント。 体験版アカウントご利用いただけません。 詳細情報やアカウントのアップグレードについては、 アカウントの種類 をご覧ください。
-
Red Hat AI Inference サービスにおいて、「Writer」ロール以上。 詳細については、「 IAM アクセスの管理 」を参照してください。
プロジェクトIDとAPIエンドポイントを取得する
すべてのAPIリクエストには、プロジェクトIDが必要です。
-
Red Hat AI Inference のプロジェクトページへ移動してください。
-
プロジェクトを開いてください。
-
プロジェクト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とAPIキーの作成
サービスIDは、アプリケーションや自動化されたワークフローへのアクセスを管理します。 プロジェクト内で直接サービス ID を作成すると、「Writer」サービスへのアクセス権限が自動的に割り当てられ、チャットの自動補完機能を作成できるようになります。
- Red Hat AI Inference のプロジェクトページにアクセスし、ご自身のプロジェクトを選択してください。
- 「APIの使用方法 」セクションで、「 APIキーの作成 」をクリックします。
- [次へ ] をクリックし、[ このプロジェクトのみ ] を選択して、アクセスを現在のプロジェクトに限定します。
- 「作成」 をクリックします。
- APIキーをコピーし、安全な場所に保管してください。 ダイアログを閉じると、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が生成した返信を受け取ってみましょう。
以下のAPI呼び出しを実行してください。この際、「 <project_id> 」をプロジェクトIDに、「 <api_key> 」をサービスIDの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)
モデルから自己紹介の返信が届くはずです。
リクエストの理解
先ほど行った操作を詳しく見ていきましょう:
- モデル
- 利用可能な基盤モデルの1つである「
granite-4-0-h-small」を指定しました。 モデルによって、機能や性能特性は異なります。 - メッセージ
- 2件のメッセージを送信しました。 そのうちの1つは、システムのプロンプトを設定し、モデルにどのように振る舞うべきかを指示する開発者向けメッセージでした。 ユーザーメッセージには、モデルに回答を求める実際の質問が含まれていました。
- API エンドポイント
- このリクエストは、プロジェクトの推論エンドポイントに送信され、そこで適切なモデルへのルーティングが行われました。
システムプロンプトを調整したり、メッセージを追加したり、ユースケースに応じて異なるモデルを使用したりすることで、モデルの挙動をカスタマイズすることができます。
次のステップ
推論機能の利用を開始できたところで、次にできることは以下の通りです:
推論を続ける
-
推論についてさらに詳しく学び、レスポンスのストリーミング、モデルパラメータの調整、会話履歴の管理といった高度な機能について理解を深めましょう。
-
APIのリファレンスの詳細については、「 OpenAI 」チャット補完APIのドキュメントをご覧ください。
-
Python SDK やその他のプログラミング言語を使用して、アプリケーションに推論機能を組み込んでください。