すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:EAS モデルオンラインサービスクイックスタート

最終更新日:Sep 19, 2025

EAS を使用すると、モデルをオンライン推論サービスとして迅速にデプロイできます。 このトピックでは、vLLM フレームワークを使用した Qwen3-0.6B モデルのデプロイを例に、サービスのデプロイと呼び出しのプロセスを順を追って説明します。

説明

このトピックでは、大規模言語モデル(LLM)のカスタムデプロイを例に、EAS をすぐに使い始める方法を説明します。 LLM モデルの実際のデプロイでは、シナリオベースの LLM デプロイを使用するか、モデルギャラリーからワンクリックでモデルをデプロイすることをお勧めします。 これらの方法の方が便利で高速です。

前提条件

Alibaba Cloud メインアカウントを使用して PAI をアクティブ化し、ワークスペースを作成します。 PAI コンソールにログインし、左上隅でリージョンを選択してから、ワンクリック承認と製品のアクティブ化を完了します。

課金

このトピックでは、パブリックリソースを使用してモデルサービスを作成します。 課金方法は従量課金です。 課金ルールの詳細については、「EAS 課金」をご参照ください。

準備

モデルサービスをデプロイするには、通常、モデルファイルやコードファイル(Web インターフェースなど)を準備する必要があります。 公式プラットフォームイメージがデプロイ要件を満たしていない場合は、独自のイメージをビルドする必要があります。

モデルファイルを準備する

この例では、Qwen3-0.6B モデルファイルを取得するために、次の Python コードを実行します。 ファイルは ModelScope からデフォルトパス ~/.cache/modelscope/hub にダウンロードされます。

# モデルのダウンロード
from modelscope import snapshot_download
model_dir = snapshot_download('Qwen/Qwen3-0.6B')

コードファイルを準備する

vLLM フレームワークを使用すると、OpenAI API 互換の API サービスを簡単に構築できます。 したがって、個別のコードファイルを準備する必要はありません。

複雑なビジネスロジックや特定の API 要件がある場合は、独自のコードファイルを準備する必要があります。 たとえば、次のコードは Flask を使用して単純な API インターフェースを作成します。

サンプルコードファイルを表示する

from flask import Flask

app = Flask(__name__)

@app.route('/hello/model')
def hello_world():
    # ここでモデルを呼び出して結果を取得できます。
    return 'Hello World'

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8000)

OSS にファイルをアップロードする

ossutil を使用して、モデルファイルとコードファイルを OSS にアップロードします。 その後、OSS をサービスにマウントすることで、モデルファイルを読み取ることができます。

OSS に加えて、他のストレージ方法を使用することもできます。 詳細については、「ストレージ構成」をご参照ください。

説明

必要なすべてのファイルをイメージにパッケージ化してデプロイすることもできます。 ただし、次の理由により、この方法は推奨されません。

  • モデルの更新または反復では、イメージを再構築して再アップロードする必要があるため、メンテナンスコストが増加します。

  • 大きなモデルファイルはイメージサイズを大幅に増加させます。 これにより、イメージのプル時間が長くなり、サービスの起動効率に影響します。

イメージを準備する

Qwen3-0.6B モデルは、vllm>=0.8.5 を使用して、OpenAI 互換の API エンドポイントを作成できます。 公式 EAS イメージ vllm:0.8.5.post1-mows0.2.1 はこの要件を満たしています。 したがって、このトピックでは公式イメージを使用します。

公式イメージが要件を満たしていない場合は、カスタムイメージを作成する必要があります。 DSW でモデルを開発およびトレーニングする場合は、DSW インスタンスイメージを作成して、開発環境とデプロイ環境の一貫性を確保できます。

サービスデプロイ

  1. PAI コンソールにログインします。 ページ上部でリージョンを選択します。 次に、目的のワークスペースを選択し、[Elastic Algorithm Service (EAS)] をクリックします。

  2. [サービスのデプロイ] をクリックします。 [カスタムモデルデプロイ] セクションで、[カスタムデプロイ] をクリックします。

  3. デプロイパラメータを構成します。 主要なパラメータを次のように構成し、その他のパラメータについてはデフォルト値を保持します。

    • [デプロイ方法]: [イメージベースのデプロイ] を選択します。

    • [イメージ構成]: [Alibaba Cloud イメージ] リストで、vllm:0.8.5.post1-mows0.2.1 を選択します。

    • [直接マウント]: このトピックでは、モデルファイルを oss://examplebucket/models/Qwen/Qwen3-0___6B パスにある OSS に保存します。 したがって、OSS を選択し、次のように構成します。

      • [URI]: モデルが配置されている OSS パス。 これを oss://examplebucket/models/ に設定します。

      • [マウントパス]: ファイルがマウントされるサービスインスタンス内の宛先パス(例: /mnt/data/)。

    • [コマンド]: 公式イメージには、関連付けられたデフォルトの起動コマンドがあります。 必要に応じて変更できます。 この例では、vllm serve /mnt/data/Qwen/Qwen3-0___6B に変更します。

    • [リソースタイプ]: [パブリックリソース] を選択します。 [リソース仕様] で、ecs.gn7i-c16g1.4xlarge を選択します。 他のリソースタイプを使用する場合は、「リソース構成」をご参照ください。

  4. [デプロイ] をクリックします。 サービスのデプロイには約 5 分かかります。 [サービスステータス][実行中] に変わると、サービスは正常にデプロイされます。

オンラインデバッグ

サービスがデプロイされた後、オンラインデバッグ機能を使用して、サービスが正しく実行されているかどうかをテストできます。 特定のモデルサービスに基づいて、リクエストメソッド、リクエストパス、リクエスト本文を構成できます。

このトピックでデプロイされたサービスのオンラインデバッグ方法は次のとおりです。

  1. [推論サービス] タブで、宛先サービスをクリックして、サービス概要ページに移動します。 [オンラインデバッグ] タブに切り替えます。

  2. デバッグページの [オンラインデバッグ] > [リクエストパラメータ] セクションで、リクエストパラメータを設定し、[リクエストの送信] をクリックします。 リクエストパラメータは次のとおりです。

    • チャットインターフェース: 既存の URL に /v1/chat/completions を追加します。

    • ヘッダー: リクエストヘッダーを追加します。 キーを Content-Type に設定し、値を application/json に設定します。

      image

    • 本文:

      {
        "model": "/mnt/data/Qwen/Qwen3-0___6B",
        "messages": [
          {
            "role": "user",
            "content": "Hello!"
          }
        ],
        "max_tokens": 1024
      }
  3. 応答は次の図に示されています。

    image

サービス呼び出し

エンドポイントとトークンを取得する

このデプロイでは、デフォルトで共有ゲートウェイが使用されます。 デプロイが完了すると、呼び出しに必要なエンドポイントとトークンをサービス概要情報から取得できます。

  1. [推論サービス] タブで、サービス名をクリックして [概要] ページに移動します。 [基本情報] セクションで、[エンドポイント情報を表示] をクリックします。

  2. [呼び出し方法] パネルで、エンドポイントとトークンを取得できます。 必要に応じて、インターネットエンドポイントまたは VPC エンドポイントを選択します。 このトピックでは、<EAS_ENDPOINT> と <EAS_TOKEN> を使用して、それぞれエンドポイントとトークンを表します。

    image

curl または Python を使用して呼び出す

次のコードは例を示しています。

curl http://16********.cn-hangzhou.pai-eas.aliyuncs.com/api/predict/****/v1/chat/completions
-H "Content-Type: application/json" \
-H "Authorization: *********5ZTM1ZDczg5OT**********" \
-X POST \
-d '{
  "model": "/mnt/data/Qwen/Qwen3-0___6B",
  "messages": [
    {
      "role": "user",
      "content": "Hello!"
    }
  ],
  "max_tokens": 1024
}' 
import requests

# 実際のエンドポイントに置き換えます。
url = 'http://16********.cn-hangzhou.pai-eas.aliyuncs.com/api/predict/***/v1/chat/completions'
# ヘッダーの場合、Authorization の値を実際のトークンに設定します。
headers = {
    "Content-Type": "application/json",
    "Authorization": "*********5ZTM1ZDczg5OT**********",
}
# 特定のモデルで必要なデータ形式に基づいて、サービスリクエストを構築します。
data = {
  "model": "/mnt/data/Qwen/Qwen3-0___6B",
  "messages": [
    {
      "role": "user",
      "content": "Hello!"
    }
  ],
  "max_tokens": 1024
}
# リクエストを送信します。
resp = requests.post(url, json=data, headers=headers)
print(resp)
print(resp.content)

サービスの停止または削除

このトピックでは、パブリックリソースを使用して従量課金制の EAS サービスを作成します。 サービスが不要になったら、サービスを停止または削除して、追加料金が発生しないようにしてください

image

参考資料