Elastic Algorithm Service (EAS) サービスがデプロイされると、デフォルトで共有ゲートウェイが提供されます。このゲートウェイを使用して、デプロイされたモデル推論サービスをインターネットエンドポイントまたは VPC エンドポイント経由で呼び出すことができます。
開発環境およびテスト環境では共有ゲートウェイの使用を推奨します。本番環境では、専用ゲートウェイを使用してください。
呼び出しアドレスの選択
共有ゲートウェイがデプロイされると、デフォルトで 2 種類の呼び出しアドレスが提供されます:
呼び出しアドレス | 説明 | ユースケース |
インターネットエンドポイント | EAS 共有ゲートウェイはリクエストをターゲットサービスに転送します。この方法は、パブリックインターネットにアクセスできるすべての環境に適しています。 |
|
VPC エンドポイント | アプリケーションと EAS サービスが同じリージョンにデプロイされている場合に適しています。 重要 パブリックインターネット経由の呼び出しと比較して、VPC 経由の呼び出しは、パブリックネットワークのオーバーヘッドを回避することでレイテンシーが低く、VPC 内のトラフィックは通常無料であるため、コスト効率も高くなります。 |
|
サービスの呼び出し
ステップ1:エンドポイントとトークンの取得
サービスをデプロイすると、システムは自動的にエンドポイントと認可トークンを生成します。
コンソールはベースエンドポイントを提供します。完全なリクエスト URL を構築する際は、このベースエンドポイントに正しい API パスを追加する必要があります。404 Not Found エラーの最も一般的な原因は、パスが正しくないことです。
オンライン推論サービス タブで、対象のサービス名をクリックして 概要 ページに移動します。
基本情報 セクションで、エンドポイント情報の表示 をクリックします。
呼び出し情報 パネルで、エンドポイントとトークンをコピーします:
ニーズに応じて、[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 パス。 例: |
認可 (必須) |
|
Content-Type |
|
リクエストボディ | デプロイされたモデルの 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 コマンド
共通パラメーター:
パラメーター
説明
例
-XHTTP メソッドを指定します。
-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/modelsAPI を介して取得できます。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 など) を使用してデプロイされたサービス:「汎用プロセッサに基づくサービスリクエストの構築」をご参照ください。
その他のカスタムサービス:リクエスト形式は、カスタムイメージまたはコードで定義されたデータ入力形式によって決まります。
セルフ訓練モデル:呼び出し方法は元のモデルと同じです。
よくある質問
サービス呼び出しに関する一般的な問題と解決策については、「サービス呼び出しに関するよくある質問」をご参照ください。