0 / 0
資料の 英語版 に戻る
AIサービス展開のテスト
最終更新: 2024年11月08日
AIサービス展開のテスト

AIサービスはオンライン推論機能を提供しており、新しいデータに対してリアルタイムで推論を行うことができる。 バッチスコアリングが必要なユースケースの場合、バッチデプロイジョブを実行してAIサービスのデプロイをテストできます。

AIサービス展開のテスト方法

AIサービスはオンライン推論機能を提供しており、新しいデータに対してリアルタイムで推論を行うことができる。 この推論機能は、チャットボット、推薦システム、不正検知システムなど、リアルタイムの予測を必要とするアプリケーションに有用である。

オンライン推論用のAIサービスをテストするには、watsonx.aiユーザーインターフェース、Pythonクライアントライブラリ、またはREST APIを使用できます。 詳しくは、オンライン採点のための推論AIサービス展開をご覧ください。

推論ストリーミングアプリケーション用のAIサービスをテストするには、watsonx.ai PythonクライアントライブラリまたはREST APIを使用できます。 詳しくは、ストリーミング・アプリケーションのための推論AIサービスの展開をご覧ください。

バッチスコアリングが必要なユースケースの場合は、バッチデプロイジョブを作成して実行します。 推論用の REST API エンドポイントには、有効な JSON 入力をペイロードとして提供できます。 詳しくは、AIサービスのバッチデプロイメントのテストを参照。

オンライン採点のためのAIサービス展開のテスト

watsonx.aiユーザーインターフェース、REST API、またはwatsonx.ai Pythonクライアントライブラリを使用して、AIサービスのオンラインデプロイメントを推論することができます。

ユーザー・インターフェースによる推論

モデルスキーマに沿った有効なJSON入力ペイロードを提供することで、AIサービスの推論にユーザーインターフェースを使用できます。 AIサービスの展開を推論するには、以下の手順に従ってください:

  1. 配置スペースまたはプロジェクトで、[配置]タブを開き、配置名をクリックします。

  2. テスト]タブをクリックして、プロンプトのテキストを入力し、配置された資産からの応答を取得します。

  3. テストデータをJSON形式で入力し、JSON形式の出力を生成する。

    制約事項:

    AIサービスの導入をテストするために、テキスト形式で入力データを入力することはできません。 テストにはJSON形式を使用する必要があります。

    ユーザーインターフェースからAIサービスのオンライン展開を推論する

Pythonクライアント・ライブラリによる推論

run_ai_service関数を使用して、スコアリングのペイロードを提供してAIサービスを実行する:

ai_service_payload = {"query": "testing ai_service generate function"}

client.deployments.run_ai_service(deployment_id, ai_service_payload)

詳細については、AI サービス資産を実行するためwatsonx.ai Pythonクライアントライブラリのドキュメントを/span>のを参照してください。

REST APIによる推論

オンライン採点用のAIサービス(「generate()機能を含むAIサービス)の推論には、「/ml/v4/deployments/{id_or_name}/ai_serviceRESTエンドポイントを使用する:

# Any valid json is accepted in POST request to /ml/v4/deployments/{id_or_name}/ai_service
payload = {
    "mode": "json-custom-header",
    't1': 12345 ,
    't2': ["hello", "wml"],
    't3': {
        "abc": "def",
        "ghi": "jkl"
    }
}

response = requests.post(
    f'{HOST}/ml/v4/deployments/{dep_id}/ai_service?version={VERSION}',
    headers=headers,
    verify=False,
    json=payload
)

print(f'POST {HOST}/ml/v4/deployments/{dep_id}/ai_service?version={VERSION}', response.status_code)

from json.decoder import JSONDecodeError
try:
    print(json.dumps(response.json(), indent=2))
except JSONDecodeError:
    print(f"response text >>\n{response.text}")
    
print(f"\nThe user customized content-type >> '{response.headers['Content-Type']}'")

ストリーミング・アプリケーションのためのAIサービス展開のテスト

watsonx.aiREST APIまたはwatsonx.ai Pythonクライアント・ライブラリを使用することで、ストリーミング・アプリケーション向けにAIサービスのオンライン・デプロイメントを推論することができます。

Pythonクライアント・ライブラリによる推論

run_ai_service_stream関数を使用して、スコアリングのペイロードを提供することにより、ストリーミングアプリケーション用のAIサービスを実行する。

ai_service_payload = {"sse": ["Hello", "WatsonX", "!"]}

for data in client.deployments.run_ai_service_stream(deployment_id, ai_service_payload):
    print(data)

詳しくは、watsonx.ai Pythonクライアントライブラリ ドキュメント(ストリーミング用AIサービス資産の実行)をご覧ください。

REST APIによる推論

ストリーミングアプリケーション用のAIサービス(「generate_stream()機能を含むAIサービス)の推論には、「/ml/v4/deployments/{id_or_name}/ai_service_streamRESTエンドポイントを使用する:

TOKEN=f'{client._get_icptoken()}'
%%writefile payload.json
{
    "sse": ["Hello" ,"WatsonX", "!"]
}
!curl -N \
    -H "Content-Type: application/json" -H  "Authorization: Bearer {TOKEN}" \
    {HOST}'/ml/v4/deployments/'{dep_id}'/ai_service_stream?version='{VERSION} \
    --data @payload.json

出力

id:1 event: message data:こんにちは

id: 2 event: message data:WatsonX

id:3 event: message data: !

ID4 event: eos

AIサービスのバッチ・デプロイメントのテスト

watsonx.aiユーザーインターフェース、Pythonクライアントライブラリ、または REST API を使用して、AI サービス (「generate_batch()関数を含む AI サービスアセット) 用のバッチデプロイジョブを作成し、実行できます。

前提条件

AIサービスのバッチデプロイジョブを実行するには、タスク認証情報を設定する必要があります。 詳細については、タスク資格情報の管理を参照のこと。

ユーザーインターフェースのテスト

配置スペースのユーザー インターフェイスから AI サービスのバッチ配置ジョブを作成し、実行する方法については、「配置スペースでジョブを作成する」を参照してください。

Pythonクライアントライブラリを使ったテスト

以下の手順に従って、ジョブを作成して実行し、バッチ配備をテストしてください:

  1. AIサービスのバッチ展開をテストするジョブを作成します:

    batch_reference_payload = {
        "input_data_references": [
            {
                "type": "connection_asset",
                "connection": {"id": "2d07a6b4-8fa9-43ab-91c8-befcd9dab8d2"},
                "location": {
                    "bucket": "wml-v4-fvt-batch-pytorch-connection-input",
                    "file_name": "testing-123",
                },
            }
        ],
        "output_data_reference": {
            "type": "data_asset",
            "location": {"name": "nb-pytorch_output.zip"},
        },
    }
    
    job_details = client.deployments.create_job(deployment_id, batch_reference_payload)
    job_uid = client.deployments.get_job_uid(job_details)
    print("The job id:", job_uid)
    
  2. 仕事のステータスを確認する:

    ##  Get job status
    client.deployments.get_job_status(job_uid)
    

詳細情報

親トピック AIサービスの展開