プログラマチック・アクセスのための資格情報 (IBM Cloud API キーおよび IAM トークン)
IBM watsonx.ai でファウンデーション・モデルをプログラマチックに操作するには、 watsonx.ai リソースへのアクセスが許可されていることを証明するために認証を受ける必要があります。
REST API 資格情報Copy link to section
ほとんどの API メソッドでは、リクエストに IBM Cloud Identity and Access Management (IAM) ベアラー・トークンをアクセストークンとして含める必要があります。 IAM ベアラー・トークンを生成するには、IBM Cloud API キーを使用します。
REST API 要求を認証するには、以下のステップを実行します。
IBM Cloud API キーは、さまざまな方法で作成できます。
詳細については、 IBM Cloud API キーを参照してください。
IBM Cloud API キーを使用して、IAM ベアラー・トークンを作成します。
詳しくは、API キーを使用した IBM Cloud IAM トークンの生成を参照してください。
REST 要求を送信するときに IAM トークンを指定します。
curl -X 'POST' https://{region}.ml.cloud.ibm.com/ml/v1/text/generation --header "Authorization: Bearer {IAM-token}..."
Copy to clipboard
トークンの有効期限が切れた場合は、ユーザーがトークンをリフレッシュする必要があります。 トークンをリフレッシュするには、ステップ 2 から始まる手順を繰り返します。
Python ライブラリーの資格情報Copy link to section
Python ライブラリーを使用する場合は、API キーと IAM トークンのどちらを使用するかを選択できます。
IAM トークンを自分で作成し、そのトークンをライブラリーに渡す場合は、トークンの有効期限が切れる前にトークンのリフレッシュを管理する必要があります。
API キーをライブラリー内の APIClient に渡すと、クライアントは IAM トークンを生成し、必要に応じてトークンをリフレッシュします。
ライブラリーでの IBM Cloud API キーの使用Copy link to section
IBM Cloud API キーは、さまざまな方法で作成できます。 詳細については、 IBM Cloud APIキーを参照してください。
以下のサンプル・コード・スニペットは、 Python ライブラリーを使用する場合に、認証に API キーを直接使用する方法を示しています。
from ibm_watsonx_ai.foundation_models import ModelInference
model_inference = ModelInference(
model_id="ibm/granite-13b-chat-v2",
credentials={
"apikey": "***",
"url": "https://{region}.ml.cloud.ibm.com"
},
project_id="*****"
)
APIClient の使用Copy link to section
あるいは、ライブラリーで使用可能な
を使用することもできます。 クライアントをインスタンス化した後は、各メソッドで資格情報を指定する必要はありません。APIClient
from ibm_watsonx_ai import APIClient
from ibm_watsonx_ai import Credentials
credentials = Credentials(
url = "https://{region}.ml.cloud.ibm.com",
api_key = "{api-key}"
)
client = APIClient(credentials)
詳細については、 「認証」を参照してください。
デフォルトのプロジェクトまたはスペース ID を設定することもできます。 詳しくは、 プロジェクト ID の検索を参照してください。
タスク認証情報の作成Copy link to section
基盤モデルのチューニングなど、一部の長期にわたるジョブやタスクには、タスク認証が必要です。
タスク認証を作成するには:
task_credentials_details = client.task_credentials.store()
Copy to clipboard
資格情報をリストアップするには:
client.task_credentials.list()
Copy to clipboard
返される認証情報のリストには、各タスク認証情報ごとに、タスク認証IDである
が含まれています。asset_id
クレデンシャルのIDが分かっている場合、以下のようにして削除することができます
client.task_credentials.delete(task_credentials_id)
Copy to clipboard
詳細は、 Python ライブラリのタスク認証クラスを参照してください。
あるいは、製品UIを使用してタスク認証の作成や削除を行うこともできます。 詳細は 、「タスクの認証情報の管理 」を参照してください。
詳細情報Copy link to section
親トピック 生成的AIソリューションのコーディング