EAS 服务部署后默认提供共享网关,支持通过公网调用地址或 VPC调用地址调用已部署的模型推理服务。
建议在开发测试环境使用共享网关,生产环境请使用专属网关。
选择调用地址
共享网关部署完成后默认提供两种调用地址:
调用地址 | 说明 | 适用场景 |
公网调用地址 | 请求经 EAS 共享网关转发至目标服务,适用于可访问公网的任意环境。 |
|
VPC调用地址 | 适用于应用程序与EAS服务部署在同一地域。 重要 相比公网调用,VPC内网调用速度更快(免去公网的网络性能开销)且成本更低(内网流量通常免费)。 |
|
调用服务
步骤一:获取访问地址和 Token
服务部署完成后,系统自动生成访问地址和授权令牌。
控制台提供的是基础地址。构造完整请求 URL 时,需在基础地址后拼接正确的接口路径。路径错误是导致404 Not Found的最常见原因。
在推理服务页签,单击目标服务名称进入概览页面。
在基本信息区域,单击查看调用信息。
在调用信息面板,复制访问地址和 Token:
根据需要选择公网调用地址或VPC调用地址。
后续示例中使用 <EAS_ENDPOINT> 表示访问地址,<EAS_TOKEN> 表示 Token。
单击查看调用信息打开面板,面板提供共享网关和VPC 高速直连两个页签,公网调用地址、VPC 调用地址和 Token 位于共享网关页签下。
步骤二:构造并发送请求
无论使用公网调用地址还是 VPC调用地址,请求格式相同。标准请求包含以下要素:
要素 | 说明 |
请求方法(Method) | 最常用的是 POST 和 GET |
请求路径(URL) | 格式:<EAS_ENDPOINT> + API 路径,示例: |
Authorization(必填) |
|
Content-Type |
|
请求体(Body) | 格式由所部署的模型 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'
# header信息 Authorization的值为实际的Token
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 调用。
其他部署场景调用
通过 Model Gallery 部署的模型:其模型介绍页面通常提供 API 调用示例,包括完整的 URL 路径和请求格式。
cURL 命令
常用参数:
参数
说明
示例
-X指定 HTTP 方法
-X POST-H添加请求头
-H "Content-Type: application/json"-d添加请求体
-d '{"key": "value"}'chat 接口调用示例:使用 POST 方法请求
<EAS_ENDPOINT>/v1/chat/completions,请求头包含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 示例不同,请以模型介绍页面为准。
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字段(示例文档包括"中国首都是北京"等)。最后在main()函数中通过requests.post(url, headers=headers, json=data)发送 POST 请求并打印返回结果。场景化部署:
通用 Processor(包括 TensorFlow、Caffe、PMML 等)部署的服务:请参见基于通用Processor构造服务请求。
其他自定义服务:请求格式由自定义镜像或代码中定义的数据输入格式决定。
自己训练的模型:调用方式与原模型一致。
常见问题
服务调用常见问题和解决方案,参见服务调用 FAQ。