对于流量比较小且无需定制访问策略的服务,可通过共享网关进行调用,使用简单,无需另外付费,并同时支持通过公网或VPC内网地址调用。
一、获取访问地址和Token
部署服务后,系统会自动生成调用所需的访问地址(Endpoint)和授权令牌(Token)。
控制台提供的访问地址是基础地址。您通常需要在其后拼接正确的接口路径 ,才能构成完整的请求URL。路径错误是导致404 Not Found
的最常见原因。
在推理服务页签,单击您的服务名称进入概览页面,在基本信息区域单击查看调用信息。
在调用信息面板,可获取访问地址和Token。根据您的实际情况选择公网或VPC地址,下文使用<EAS_ENDPOINT>和<EAS_TOKEN>指代它们。
二、构造并发送请求
无论是使用公网还是VPC地址,请求的构造方式基本一致,仅URL不同。一个标准的调用请求,通常包含以下四个核心要素:
请求方法(Method): 最常用的是POST、GET。
请求路径(URL):由基础地址<EAS_ENDPOINT>和具体的接口路径拼接而成。
请求头(Headers):通常至少需要认证信息Authorization: <Token>。
请求体(Body):其格式(比如JSON)由具体部署的模型接口决定。
场景一:调用Model Gallery部署的模型
请直接查询Model Gallery的模型介绍页面,其中通常会以curl命令或Python代码提供最准确的API调用示例,包括完整的 URL 路径和请求体格式。
cURL命令
curl命令的基本语法格式为curl [options] [URL]
:
options为可选参数,常用的有:
-X
指定请求方法,-H
指定请求头,-d
指定请求体。URL表示要访问的HTTP接口。
Python代码
通过python代码说明,以Qwen3-Reranker-8B模型为例,注意其URL、请求体就与curl命令示例不同,请务必参考对应的模型介绍说明。
场景二:调用大语言模型
LLM服务通常提供兼容OpenAI的API接口,例如对话接口(/v1/chat/completions
)、补全接口(/v1/completions
)等。
以使用vLLM部署的DeepSeek-R1-Distill-Qwen-7B模型服务为例,请求其对话接口需要的元素如下(更多请参见LLM调用):
请求方法:POST
请求路径:<EAS_ENDPOINT>/v1/chat/completions
请求头:Authorization: <Token> 和 Content-Type: application/json
请求体:
{ "model": "DeepSeek-R1-Distill-Qwen-7B", "messages": [ { "role": "system", "content": "You are a helpful assistant." }, { "role": "user", "content": "hello!" } ] }
示例:使用curl和python调用
假设<EAS_ENDPOINT>为http://16********.cn-hangzhou.pai-eas.aliyuncs.com/api/predict/test
。
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)
更多场景
通用Processor(包括TensorFlow、Caffe、PMML等)部署的服务:请参见基于通用Processor构造服务请求。
自己训练的模型:调用方式与原模型一样。
其他自定义服务:请求格式由您在自定义镜像或代码中定义的数据输入格式决定。
常见问题
请参见服务调用FAQ。
附录:调用地址选择
公网地址:适用于任何可以访问公网的环境。请求会经由EAS共享网关转发至EAS在线服务。
VPC地址:适用于当您的调用程序与EAS服务部署在同一地域的情况。位于同一地域的两个VPC网络支持建立VPC连接。
相比公网调用,VPC内网调用 速度更快(免去公网调用中的网络性能开销)且 成本更低(内网流量通常免费)。