EAS(Elastic Algorithm Service)是PAI为在线推理场景提供的模型在线服务,为自动化部署和应用LLM大语言模型提供了一键式解决方案。通过EAS,您可以轻松部署多种开源大模型服务应用,同时支持标准部署和多种加速部署方式。使用加速部署,您可以体验到高并发和低延迟的技术优势。本文为您介绍如何通过EAS一键部署和调用LLM大语言模型,以及常见的问题和解决方法。
前提条件
已开通PAI并创建默认工作空间,详情请参见开通并创建默认工作空间。
如果使用RAM用户来部署模型,需要为RAM用户授予EAS的管理权限,详情请参见云产品依赖与授权:EAS。
部署EAS服务
进入模型在线服务页面。
登录PAI控制台。
在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。
在工作空间页面的左侧导航栏选择模型部署>模型在线服务(EAS),进入模型在线服务(EAS)页面。
在模型在线服务(EAS)页面,单击部署服务,然后在场景化模型部署区域,单击LLM大语言模型部署。
在部署LLM大语言模型页面,配置以下关键参数,其他参数使用默认配置。
参数
描述
基本信息
服务名称
自定义服务名称。本方案使用的示例值为:llm_demo001。
版本选择
选择开源模型一键部署。
模型类别
本方案选择qwen2.5-7b-instruct。EAS还提供了多种模型类别可供选择,以满足您的不同需求,例如DeepSeek-R1、Qwen2-VL、Meta-Llama-3.2-1B等。
部署方式
不同模型支持的部署方式不同,请根据情况选择。这里选择
。注意:Transformers标准部署(不使用任何加速框架)支持API调用和WebUI调用,加速部署仅支持API调用。资源部署
资源类型
选择公共资源。
部署资源
选择模型类别后,系统会自动推荐适合的资源规格。
单击部署,大约等待5分钟后即可完成模型部署。
调用服务
加速部署只支持API调用,下面介绍SGLang加速部署情况下如何在线调试和API调用。更多部署方式的调用请参见LLM模型调用。
在线调试
在模型在线服务(EAS)页面,单击目标服务操作列下的
>在线调试。
发送POST请求。根据采用的部署方式,填写相应的请求地址和请求体,然后单击发送请求。
请求接口:
/v1/chat/completions
请求体示例如下:
{ "model": "Qwen2.5-7B-Instruct", "messages": [ { "role": "user", "content": "What is the capital of Canada?" } ] }
API调用
查看服务访问地址和Token。
在模型在线服务(EAS)页面,单击目标服务的服务方式列下的调用信息。
在调用信息对话框,查看服务访问地址和Token。
在终端中执行以下代码调用服务。
Python
from openai import OpenAI ##### API 配置 ##### openai_api_key = "<EAS API KEY>" openai_api_base = "<EAS API Endpoint>/v1" client = OpenAI( api_key=openai_api_key, base_url=openai_api_base, ) models = client.models.list() model = models.data[0].id print(model) def main(): stream = True chat_completion = client.chat.completions.create( messages=[ { "role": "user", "content": [ { "type": "text", "text": "加拿大的首都在哪里?", } ], } ], model=model, max_completion_tokens=2048, stream=stream, ) if stream: for chunk in chat_completion: print(chunk.choices[0].delta.content, end="") else: result = chat_completion.choices[0].message.content print(result) if __name__ == "__main__": main()
其中:
<EAS API KEY>:替换为已查询的服务Token。
<EAS API Endpoint>:替换为已查询的服务访问地址。
命令行
curl -X POST <service_url>/v1/chat/completions -d '{ "model": "<model_name>", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a helpful and harmless assistant." } ] }, { "role": "user", "content": "加拿大的首都在哪里?" } ] }' -H "Content-Type: application/json" -H "Authorization: <token>"
其中:
<service_url>:替换为已查询的服务访问地址。
<token>:替换为已查询的服务Token。
<model_name>:替换为模型名称。模型名称可通过模型列表接口
<service_url>/v1/modes
获取。curl -X GET \ -H "Authorization: <token>" \ <service_url>/v1/models
常见问题及解决方法
如何切换其他的开源大模型?
您可以在EAS上快速从第三方拉起DeepSeek-R1、Llama、UI-TARS、QVQ、gemma2、以及baichuan2等开源大模型文件,参考以下操作步骤切换并部署这些模型:
单击目标服务操作列下的更新。
更新模型类别为其他开源大模型,系统将同步更新资源规格。
单击更新。
如何提升推理并发且降低延迟?
EAS支持BladeLLM和vLLM的推理加速引擎,可以帮助您一键享受高并发和低延时的技术红利。具体操作步骤如下:
单击目标服务操作列下的更新。
在基本信息区域,更新部署方式为加速部署,然后单击更新。
您也可以在部署LLM大语言模型时,将部署版本选择高性能部署,基于PAI自研的BladeLLM引擎进行快速部署。
如何挂载自定义模型?
当部署版本选择高性能部署时,支持挂载自定义模型。仅支持部署Qwen和Llama全系列文本模型,包括开源版本、微调版本以及量化后的版本。以OSS挂载为例,具体操作步骤如下:
将自定义模型及相关配置文件上传到您自己的OSS Bucket目录中,关于如何创建存储空间和上传文件,详情请参见控制台创建存储空间和控制台上传文件。
需要准备的模型文件样例如下:
其中配置文件中必须包含config.json文件,您需要按照Huggingface或Modelscope的模型格式配置Config文件。示例文件详情,请参见config.json。
单击目标服务操作列下的更新。
在部署LLM大语言模型页面,配置以下参数,参数配置完成后,单击更新。
参数
描述
基本信息
版本选择
选择高性能部署。
镜像版本
选择blade-llm:0.9.0。
模型配置
选择自定义模型,单击OSS,并选择自定义模型所在的OSS存储路径。
资源部署
部署资源
参考使用限制,选择资源规格。
如何使用API进行模型推理?
请参见API调用。
相关文档
如果您使用公共资源部署,停止服务即可停止计费。更多关于部署计费问题,请参见模型在线服务(EAS)计费说明。
更多关于EAS的内容介绍,请参见EAS模型服务概述。
在WebUI页面集成LangChain业务数据后,API接口的模型推理也能生效,推荐您使用本地知识库的检索功能以增强体验,详情请参见大模型RAG对话系统。
若要了解ChatLLM-WebUI的重要版本发布信息,请参见ChatLLM-WebUI版本发布详情。
部署DeepSeek满血版模型,推荐采用多机分布式推理。