3.6. シングルモデルサービングプラットフォームにデプロイされたモデルに対する推論リクエストの実行


シングルモデルサービングプラットフォームを使用してモデルをデプロイすると、そのモデルは、API リクエストを使用してアクセスできるサービスとして利用できます。これにより、データ入力に基づく予測を返すことができます。API リクエストを使用してデプロイされたモデルと対話するには、モデルの推論エンドポイントを知っておく必要があります。

さらに、トークン認可を有効にすることで推論エンドポイントを保護した場合は、推論リクエストで認可トークンを指定できるように、認可トークンへのアクセス方法を理解する必要があります。

3.6.1. デプロイされたモデルの認可トークンにアクセスする

トークン認可を有効にすることで推論エンドポイントを保護した場合は、推論リクエストで認可トークンを指定できるように、認可トークンへのアクセス方法を理解する必要があります。

前提条件

  • Red Hat OpenShift AI にログインしている。
  • 特殊な OpenShift AI グループを使用している場合は、OpenShift のユーザーグループ、または、管理者グループ (rhoai-usersrhoai-admins など) に属している。
  • シングルモデルサービングプラットフォームを使用してモデルをデプロイした。

手順

  1. OpenShift AI ダッシュボードから、Data Science Projects をクリックします。

    Data Science Projects ページが開きます。

  2. デプロイされたモデルが含まれるプロジェクトの名前をクリックします。

    プロジェクトの詳細ページが開きます。

  3. Models タブをクリックします。
  4. Models and model servers リストで、モデルのセクションを展開します。

    認可トークンは、Token authorization セクションの Token secret フィールドに表示されます。

  5. オプション: 推論リクエストで使用する認可トークンをコピーするには、トークン値の横に表示される Copy ボタン ( osd copy ) をクリックします。

3.6.2. デプロイされたモデルの推論エンドポイントにアクセスする

デプロイされたモデルに対して推論リクエストを行うには、利用可能な推論エンドポイントへのアクセス方法を知っておく必要があります。

前提条件

  • Red Hat OpenShift AI にログインしている。
  • 特殊な OpenShift AI グループを使用している場合は、OpenShift のユーザーグループ、または、管理者グループ (rhoai-usersrhoai-admins など) に属している。
  • シングルモデルサービングプラットフォームを使用してモデルをデプロイした。
  • デプロイされたモデルに対してトークン認可を有効にしている場合は、関連付けられたトークン値があります。

手順

  1. OpenShift AI ダッシュボードで、Model Serving をクリックします。

    モデルの推論エンドポイントは、Inference endpoint フィールドに表示されます。

  2. モデルに対して実行するアクション (およびモデルがそのアクションをサポートしているかどうか) に応じて、表示されている推論エンドポイントをコピーし、URL の末尾に次のいずれかのパスを追加します。

    Caikit TGIS ServingRuntime for KServe

    • :443/api/v1/task/text-generation
    • :443/api/v1/task/server-streaming-text-generation

    Caikit Standalone ServingRuntime for KServe

    REST エンドポイント

    • /api/v1/task/embedding
    • /api/v1/task/embedding-tasks
    • /api/v1/task/sentence-similarity
    • /api/v1/task/sentence-similarity-tasks
    • /api/v1/task/rerank
    • /api/v1/task/rerank-tasks

    gRPC エンドポイント

    • :443 caikit.runtime.Nlp.NlpService/EmbeddingTaskPredict
    • :443 caikit.runtime.Nlp.NlpService/EmbeddingTasksPredict
    • :443 caikit.runtime.Nlp.NlpService/SentenceSimilarityTaskPredict
    • :443 caikit.runtime.Nlp.NlpService/SentenceSimilarityTasksPredict
    • :443 caikit.runtime.Nlp.NlpService/RerankTaskPredict
    • :443 caikit.runtime.Nlp.NlpService/RerankTasksPredict
    注記

    デフォルトでは、Caikit スタンドアロンランタイムは REST エンドポイントを公開して使用します。gRPC プロトコルを使用するには、カスタム Caikit Standalone ServingRuntime を手動でデプロイします。詳細は、シングルモデルサービングプラットフォーム用のカスタムモデルサービングランタイムの追加 を参照してください。

    サンプルのマニフェストは caikit-tgis-serving GitHub リポジトリー で入手できます。

    TGIS Standalone ServingRuntime for KServe

    • :443 fmaas.GenerationService/Generate
    • :443 fmaas.GenerationService/GenerateStream

      注記

      TGIS スタンドアロンランタイムのエンドポイントをクエリーするには、Open Data Hub text-generation-inference リポジトリーの proto ディレクトリーにあるファイルもダウンロードする必要があります。

    OpenVINO Model Server

    • /v2/models/<model-name>/infer

    vLLM ServingRuntime for KServe

    • :443/version
    • :443/docs
    • :443/v1/models
    • :443/v1/chat/completions
    • :443/v1/completions
    • :443/v1/embeddings

      注記

      vLLM ランタイムは OpenAI REST API と互換性があります。vLLM ランタイムがサポートするモデルのリストについては、サポートされるモデル を参照してください。

      注記

      vLLM で embeddings 推論エンドポイントを使用するには、vLLM でサポートされている embeddings モデルを使用する必要があります。生成モデルでは embeddings エンドポイントは使用できません。詳細は、vLLM でサポートされている embeddings モデル を参照してください。

      上記のパスで示されているように、シングルモデルサービングプラットフォームは、OpenShift ルーターの HTTPS ポート (通常はポート 443) を使用して、外部 API リクエストを処理します。

  3. 次のコマンド例に示すように、エンドポイントを使用して、デプロイされたモデルに API リクエストを作成します。

    注記

    モデルのデプロイ時にトークン認可を有効にした場合は、Authorization ヘッダーを追加してトークン値を指定する必要があります。

    Caikit TGIS ServingRuntime for KServe

    curl --json '{"model_id": "<model_name__>", "inputs": "<text>"}' https://<inference_endpoint_url>:443/api/v1/task/server-streaming-text-generation -H 'Authorization: Bearer <token>'

    Caikit Standalone ServingRuntime for KServe .REST

    curl -H 'Content-Type: application/json' -d '{"inputs": "<text>", "model_id": "<model_id>"}' <inference_endpoint_url>/api/v1/task/embedding -H 'Authorization: Bearer <token>'

    gRPC

    grpcurl -insecure -d '{"text": "<text>"}' -H \"mm-model-id: <model_id>\" <inference_endpoint_url>:443 caikit.runtime.Nlp.NlpService/EmbeddingTaskPredict -H 'Authorization: Bearer <token>'

    TGIS Standalone ServingRuntime for KServe

    grpcurl -proto text-generation-inference/proto/generation.proto -d '{"requests": [{"text":"<text>"}]}' -H 'Authorization: Bearer <token>' -insecure <inference_endpoint_url>:443 fmaas.GenerationService/Generate

    OpenVINO Model Server

    curl -ks <inference_endpoint_url>/v2/models/<model_name>/infer -d '{ "model_name": "<model_name>", "inputs": [{ "name": "<name_of_model_input>", "shape": [<shape>], "datatype": "<data_type>", "data": [<data>] }]}' -H 'Authorization: Bearer <token>'

    vLLM ServingRuntime for KServe

    curl -v https://<inference_endpoint_url>:443/v1/chat/completions -H "Content-Type: application/json" -d '{ "messages": [{ "role": "<role>", "content": "<content>" }] -H 'Authorization: Bearer <token>'
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.