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

Platform For AI:共有ゲートウェイ経由でのサービス呼び出し (パブリックエンドポイント/VPC)

最終更新日:Jul 16, 2026

Elastic Algorithm Service (EAS) サービスがデプロイされると、デフォルトで共有ゲートウェイが提供されます。このゲートウェイを使用して、デプロイされたモデル推論サービスをインターネットエンドポイントまたは VPC エンドポイント経由で呼び出すことができます。

重要

開発環境およびテスト環境では共有ゲートウェイの使用を推奨します。本番環境では、専用ゲートウェイを使用してください。

呼び出しアドレスの選択

共有ゲートウェイがデプロイされると、デフォルトで 2 種類の呼び出しアドレスが提供されます:

呼び出しアドレス

説明

ユースケース

インターネットエンドポイント

EAS 共有ゲートウェイはリクエストをターゲットサービスに転送します。この方法は、パブリックインターネットにアクセスできるすべての環境に適しています。

  • Alibaba Cloud 外部からの呼び出し

  • ローカルでの開発とテスト

VPC エンドポイント

アプリケーションと EAS サービスが同じリージョンにデプロイされている場合に適しています。

重要

パブリックインターネット経由の呼び出しと比較して、VPC 経由の呼び出しは、パブリックネットワークのオーバーヘッドを回避することでレイテンシーが低く、VPC 内のトラフィックは通常無料であるため、コスト効率も高くなります。

  • Alibaba Cloud 内部からの呼び出し (EAS サービスと同じリージョン内)

  • より低いレイテンシーとコストが要求される場合

  • サービスがパブリックインターネットに公開されるのを防ぐ場合

アプリケーションと EAS サービスが異なるリージョンにある場合、VPC が接続されていても、共有ゲートウェイの VPC アドレスを使用してサービスにアクセスすることはできません。この場合、インスタンスの IP アドレスとポートを使用してのみサービスにアクセスできます。ただし、サービスの再起動または更新時に IP アドレスが変更されるため、専用ゲートウェイの使用を推奨します。

サービスの呼び出し

ステップ1:エンドポイントとトークンの取得

サービスをデプロイすると、システムは自動的にエンドポイントと認可トークンを生成します。

重要

コンソールはベースエンドポイントを提供します。完全なリクエスト URL を構築する際は、このベースエンドポイントに正しい API パスを追加する必要があります。404 Not Found エラーの最も一般的な原因は、パスが正しくないことです。

  1. オンライン推論サービス タブで、対象のサービス名をクリックして 概要 ページに移動します。

  2. 基本情報 セクションで、エンドポイント情報の表示 をクリックします。

  3. 呼び出し情報 パネルで、エンドポイントとトークンをコピーします:

    • ニーズに応じて、[Internet Endpoint] または [VPC Endpoint] を選択します。

    • 以下の例では、エンドポイントのプレースホルダーとして <EAS_ENDPOINT> を、トークンのプレースホルダーとして <EAS_TOKEN> を使用します。

    エンドポイント情報の表示 をクリックしてパネルを開きます。パネルには [Shared Gateway] と [VPC High-Speed Direct Connection] の 2 つのタブがあります。パブリックネットワークアドレス、VPC アドレス、およびトークンは [Shared Gateway] タブにあります。

ステップ2:リクエストの構築と送信

リクエスト形式は、インターネットエンドポイントを使用する場合も VPC エンドポイントを使用する場合も同じです。標準的なリクエストには、以下の要素が含まれます:

要素

説明

メソッド

最も一般的なメソッドは POST と GET です。

リクエストパス (URL)

形式:<EAS_ENDPOINT> + API パス。 例:http://16********.cn-hangzhou.pai-eas.aliyuncs.com/api/predict/test/v1/chat/completions

認可 (必須)

Authorization: <EAS_TOKEN>、認証に使用します。

Content-Type

Content-Type: application/json、通常 POST リクエストに必要です。

リクエストボディ

デプロイされたモデルの API 仕様によって形式が決まります。共有ゲートウェイ経由で送信する場合、リクエストボディは 1 MB を超えることはできません。

呼び出し例

以下の例では、vLLM でデプロイされた DeepSeek-R1-Distill-Qwen-7B モデルサービスを呼び出す方法を示します。<EAS_ENDPOINT> が http://16********.cn-hangzhou.pai-eas.aliyuncs.com/api/predict/test であると仮定します。

リクエストボディ:

{
    "model": "DeepSeek-R1-Distill-Qwen-7B",
    "messages": [
    {
        "role": "system",
        "content": "You are a helpful assistant."
    },
    {
        "role": "user",
        "content": "hello!"
    }
    ]
}

コード例:

curl http://16********.cn-hangzhou.pai-eas.aliyuncs.com/api/predict/test/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: *********5ZTM1ZDczg5OT**********" \
-X POST \
-d '{
    "model": "DeepSeek-R1-Distill-Qwen-7B",
    "messages": [
    {
        "role": "system",
        "content": "You are a helpful assistant."
    },
    {
        "role": "user",
        "content": "hello!"
    }
    ]
}' 
import requests

# 実際のエンドポイントに置き換えてください。
url = 'http://16********.cn-hangzhou.pai-eas.aliyuncs.com/api/predict/test/v1/chat/completions'
# ヘッダーの Authorization には、実際のトークンを設定します。
headers = {
    "Content-Type": "application/json",
    "Authorization": "*********5ZTM1ZDczg5OT**********",
}
# 特定のモデルで必要なデータ形式に基づいて、サービスリクエストを構築します。
data = {
    "model": "DeepSeek-R1-Distill-Qwen-7B",
    "messages": [
        {
            "role": "system",
            "content": "You are a helpful assistant."
        },
        {
            "role": "user",
            "content": "hello!"
        }
    ]
}
# リクエストを送信します。
resp = requests.post(url, json=data, headers=headers)
print(resp)
print(resp.content)

大規模言語モデル (LLM) サービスの呼び出しに関する詳細については、「LLM サービス呼び出し」をご参照ください。

その他のデプロイシナリオ

  • モデルギャラリーからデプロイされたモデル:モデルの モデルの概要 ページには、通常、完全な URL パスとリクエスト形式を含む API 呼び出し例が記載されています。

    cURL コマンド

    共通パラメーター:

    パラメーター

    説明

    例

    -X

    HTTP メソッドを指定します。

    -X POST

    -H

    リクエストヘッダーを追加します。

    -H "Content-Type: application/json"

    -d

    リクエストボディを追加します。

    -d '{"key": "value"}'

    チャット API 呼び出し例:<EAS_ENDPOINT>/v1/chat/completions に、次のヘッダーを付けて POST リクエストを送信します: Content-Type: application/json と Authorization: <EAS_TOKEN>。JSON リクエストボディの構造は次のとおりです:

    • model:モデル名。/v1/models API を介して取得できます。

    • messages:system ロール (コンテンツ例: You are a helpful assistant.) と user ロール (コンテンツ例: Hello!) を含むメッセージの配列。

    Python コード

    以下の例では、Qwen3-Reranker-8B モデルを使用して、Python コードでサービスを呼び出す方法を示します。URL とリクエストボディが cURL の例と異なることに注意してください。常にモデルの [Overview] ページの指示に従ってください。

    Python コードには、次の主要な設定が含まれています。url を EAS_ENDPOINT/v1/rerank に設定し、headers で Authorization と Content-Type を設定します。prefix、suffix、query_template、document_template のテンプレート文字列 (im_start/im_end の特殊トークンを含む) を定義します。data リクエストボディを、model フィールド (値:Qwen3-Reranker-8B)、query、および documents フィールド (ドキュメント例: "The capital of China is Beijing") で構築します。最後に、main() 関数内で requests.post(url, headers=headers, json=data) を使用して POST リクエストを送信し、結果を出力します。

  • シナリオベースのデプロイ:

  • 汎用プロセッサ (TensorFlow、Caffe、PMML など) を使用してデプロイされたサービス:「汎用プロセッサに基づくサービスリクエストの構築」をご参照ください。

  • その他のカスタムサービス:リクエスト形式は、カスタムイメージまたはコードで定義されたデータ入力形式によって決まります。

  • セルフ訓練モデル:呼び出し方法は元のモデルと同じです。

よくある質問

サービス呼び出しに関する一般的な問題と解決策については、「サービス呼び出しに関するよくある質問」をご参照ください。