
# 开始使用
![](https://support.huaweicloud.com/acodc-aislt/public_sys-resources/note_3.0-zh-cn.png)
如果您要在魔坊（ModelArts）模型训推平台创建专属资源池资源，请联系您所在企业的华为技术工程师开通白名单，具体购买流程请参考"[创建专属资源池](https://support.huaweicloud.com/resmgmt-modelarts/resmgmt-modelarts_0004.html)"文档。
如果您购买的是专属资源池，为了提升部署效率，建议提前在专属资源池中**[模型预热（可选）]**。 首次部署推理服务时，系统需从 OBS 下载模型权重至节点，大模型加载耗时较长；启用预热功能可提前加载模型，从而显著缩短部署时间。
#### 部署在线服务
1. 选择"模型推理 \> 在线推理"，进入在线服务管理页面。 
   图1在线服务管理页面   
   ![](https://support.huaweicloud.com/acodc-aislt/zh-cn_image_0000002702214762.png)
   
   
2. 单击右上角的"部署"，进入"部署在线服务"页面。
3. 在部署在线服务页面，基本信息可参考如下[表1 服务信息]填写完成后，单击"下一步"，进行部署配置。
   
   图2基本信息配置   
   ![](https://support.huaweicloud.com/acodc-aislt/zh-cn_image_0000002731933969.png)
   图3网络信息配置   
   ![](https://support.huaweicloud.com/acodc-aislt/zh-cn_image_0000002732093887.png)
   图4高可用配置   
   ![](https://support.huaweicloud.com/acodc-aislt/zh-cn_image_0000002709087292.png)
    表1服务信息 
   | 参数类别  | 参数名称      | 参数说明                                                                                                                     | 取值示例       |
   |:---|:---|:---|:---|
   | 基础信息  | 服务名称      | 自定义服务名称，建议加上模型名称。                                                                                                        | Qwen3-14B  |
   | 网络配置  | 服务接入方式    | 选择"默认"，使用ModelArts平台能力。                                                                                                  | 默认         |
   | 网络配置  | 服务协议      | 选择"HTTP"，请求超时按需修改。                                                                                                       | HTTP       |
   | 网络配置  | 认证方式      | 按需选择服务认证方式                                                                                                               | API KEY 认证 |
   | 高可用配置 | 流控策略      | 流控策略由"策略类型"与"流控方式"组成，相同的策略不支持重复添加，多个策略将作为规则集组合生效。                                                                        | 保持默认       |
   | 高可用配置 | 请求超时时间（秒） | 发送请求后等待系统返回首Token结果的最长等待时间，输入值必须在1到1200之间，单位：秒，超过该时间仍未收到回复，请求将被自动终止。流式传输场景下,每次收到请求响应时，会重新刷新该超时时间，但系统端到端响应超时时间固定为 3600 秒。 | 根据具体使用调节   |
      
   
   
4. 在部署配置页面填写配置参数。 
   - 资源配置：根据需要选择公共资源池或者专属资源池，本文档以公共资源池为例。
     图5资源配置   
     ![](https://support.huaweicloud.com/acodc-aislt/zh-cn_image_0000002731554675.png) 
   
   
   
   - 模型配置：选择自定义模型，存储地址为[快速部署](https://support.huaweicloud.com/acodc-aislt/acodc_05.html)创建对象存储 OBS桶，桶名称为[表1](https://support.huaweicloud.com/acodc-aislt/acodc_05.html#acodc_05__table1558113181978)中**bucket_name** 的名称，挂载路径默认为：**/home/models-file** 。
     图6模型配置   
     ![](https://support.huaweicloud.com/acodc-aislt/zh-cn_image_0000002709087842.png) 
   
   
   
   - 单元配置：选择基础模型，单元实例规格为部署模型需要的最小卡数，参考[表2](https://support.huaweicloud.com/acodc-aislt/acodc_02.html#acodc_02__table113437710303)中的最小卡数（64G显存），镜像类型为选择自定义镜像，镜像源地址为**lm_inference** 文件下的镜像。如果选择专属资源池也可以[参考推理单元参数说明](https://support.huaweicloud.com/inference-modelarts/inference2.0-modelarts-0004.html)的自定义规格分配。
     图7单元配置   
     ![](https://support.huaweicloud.com/acodc-aislt/zh-cn_image_0000002702199066.png) 
   
   - 启动命令，根据实际部署模型替换对应的变量。
     1. 如果是[表2](https://support.huaweicloud.com/acodc-aislt/acodc_02.html#acodc_02__table113437710303)中的模型，启动命令如下：
        ```
        sh /home/models-file/code/run_vllm_908.sh ${model_name} ${port} ${required_cards}
        ```
        
     
     2. 如果是[表3](https://support.huaweicloud.com/acodc-aislt/acodc_02.html#acodc_02__table263180154315)中的模型，启动命令如下：
        ```
        sh /home/models-file/code/run_vllm_open_source.sh ${model_name} ${port} ${required_cards}
        ```
        
     
     
     **变量解释：**
     - **model_name** ：模型名称，和[表2表3 支持的模型及其最小卡数和最大序列](https://support.huaweicloud.com/acodc-aislt/acodc_02.html#acodc_02__table113437710303)中的模型名称一致
     
     - **required_cards** ：NPU卡的数量，参考[表2表3 支持的模型及其最小卡数和最大序列](https://support.huaweicloud.com/acodc-aislt/acodc_02.html#acodc_02__table113437710303)中的最小卡数
     
     - **port**：服务部署的端口
     
     
     图8启动命令   
     ![](https://support.huaweicloud.com/acodc-aislt/zh-cn_image_0000002738134965.png) 
   
   - 单击创建凭据，自定义填写凭据名称，企业项目，参考[访问密钥](https://support.huaweicloud.com/usermanual-ca/ca_05_0003.html)获取账号的AK,SK。键为accessKeyId和secretAccessKey，值分别对应用户的AK、SK信息。
     图9创建凭据   
     ![](https://support.huaweicloud.com/acodc-aislt/zh-cn_image_0000002702221714.png) 
   
   - 部署管理配置中容器协议为http，容器端口和[图8启动命令]中的port变量值保持一致，填写完配置参数单击下一步，启动部署任务。
     图10部署管理配置   
     ![](https://support.huaweicloud.com/acodc-aislt/zh-cn_image_0000002702206686.png) 
   
   
   
   
#### 测试在线服务
通过API接口在魔坊（ModelArts）模型训推平台的在线推理页面验证推理服务可用性。本文章只是示例，详细可参考[测试在线服务](https://support.huaweicloud.com/inference-modelarts/inference2.0-modelarts-0100.html)。
1. 进入[在线推理](https://console.huaweicloud.com/modelarts/?region=cn-southwest-2#/online-service?workspaceName=default)服务列表，选择部署成功的在线推理服务，单击服务调用，复制调用地址。
   
   图11获取调用地址   
   ![](https://support.huaweicloud.com/acodc-aislt/zh-cn_image_0000002737380653.png)
   
   
2. 进入[在线推理](https://console.huaweicloud.com/modelarts/?region=cn-southwest-2#/online-service?workspaceName=default)服务列表，单击API Key管理。
   
   图12创建API Key   
   ![](https://support.huaweicloud.com/acodc-aislt/zh-cn_image_0000002738276167.png)
   
   
3. 单机要预测的服务名称，进入详情页，选择"预测"页签。 
   图13预测页签   
   ![](https://support.huaweicloud.com/acodc-aislt/zh-cn_image_0000002737262309.png)
   
   
4. 设置请求参数。 示例： 
   - 请求方法：POST
   
   - 请求URL：[步骤1]复制的URL+/v1/completions
   
   - Headers：填写Header信息，比如api-key鉴权信息。例如：Authorization：'Bearer ' + api_key
   
   - 数据格式：stream
   
   - 请求Body：模型名称需要和[表2表3 支持的模型及其最小卡数和最大序列](https://support.huaweicloud.com/acodc-aislt/acodc_02.html#acodc_02__table113437710303)中模型名称保持一致
     ```
     {   "model": ${name},
         "prompt": "The future of AI is",
         "max_completion_tokens": 50,
         "temperature": 0
     }
     ```
     
   
   
   
   
5. 单击"预测"，在预测结果处查看返回结果，服务正常时返回模型名称、模型信息和回答内容。 
   图14预测模型   
   ![](https://support.huaweicloud.com/acodc-aislt/zh-cn_image_0000002706907400.png)
   
   
 
#### 通过curl命令预测
- [大语言模型]
  通过OpenAI服务API接口启动服务使用以下推理测试命令。
  - ${url}：进入[在线推理](https://console.huaweicloud.com/modelarts/?region=cn-southwest-2#/online-service?workspaceName=default)服务列表，选择部署成功的在线推理服务，单击服务调用，复制调用地址。
  
  - ${container_model_path} ：和[表2 表3支持的模型及其最小卡数和最大序列](https://support.huaweicloud.com/acodc-aislt/acodc_02.html#acodc_02__table113437710303)模型名称一致。
  
  - ${API-Key}：[步骤2创建的API Key]，无认证该参数无需填写。
  
  
  OpenAI Completions API with vLLM
  ```
  curl -X POST ${url}/v1/completions \
  -H "Content-Type: application/json" \
  -H 'Authorization: Bearer ${API-Key}' \
  -d '{        
        "model": "${container_model_path}",      
        "prompt": "hello",
        "max_tokens": 32,
        "temperature": 0   
  }'
  ```
  OpenAI Chat Completions API with vLLM
  ```
  curl -X POST ${url}/v1/chat/completions \
  -H "Content-Type: application/json" \ 
  -H 'Authorization: Bearer ${API-Key}' \
  -d '{
      "model": "${container_model_path}",
      "messages": [
          {
              "role": "user",
              "content": "hello"
          }
      ],
      "max_tokens": 32,
      "temperature": 0
  }'
  ```
  服务的API与vLLM官网相同，此处介绍关键参数。详细参数解释请参见官网<https://docs.vllm.ai/en/stable/api/vllm/vllm.sampling_params.html>
  OpenAI服务相关请求参数说明请参照[表2]。
   表2OpenAI服务请求参数说明 
  | 参数                | 是否必选 | 默认值   | 参数类型                        | 描述                                                                                                                                                                                                                                                                                                                                                  |
  |:---|:---|:---|:---|:---|
  | model             | 是    | 无     | Str                         | 通过OpenAI服务API接口启动服务时，推理请求必须填写此参数。取值必须和启动推理服务时的model ${container_model_path} 参数保持一致。 通过vLLM服务API接口启动服务时，推理请求不涉及此参数。                                                                                                                                                                                                     |
  | prompt            | 是    | -     | Str                         | 请求输入的问题。                                                                                                                                                                                                                                                                                                                                            |
  | max_tokens        | 否    | 16    | Int                         | 每个输出序列要生成的最大tokens数量。                                                                                                                                                                                                                                                                                                                               |
  | top_k             | 否    | -1    | Int                         | 控制要考虑的前几个tokens数量的整数。设置为-1表示考虑所有tokens。 适当降低该值可以减少采样时间。                                                                                                                                                                                                                                                                  |
  | top_p             | 否    | 1.0   | Float                       | 控制要考虑的前几个tokens的累积概率的浮点数。必须在(0, 1\]范围内。设置为1表示考虑所有tokens。                                                                                                                                                                                                                                                                                            |
  | temperature       | 否    | 1.0   | Float                       | 控制采样的随机性的浮点数。较低的值使模型更加确定性，较高的值使模型更加随机。0表示贪婪采样。                                                                                                                                                                                                                                                                                                      |
  | stop              | 否    | None  | None/Str/List               | 用于停止生成的字符串列表。返回的输出将不包含停止字符串。 例如：\["你", "好"\]，生成文本时遇到"你"或者"好"将停止文本生成。                                                                                                                                                                                                                                                      |
  | stream            | 否    | False | Bool                        | 是否开启流式推理。默认为False，表示不开启流式推理。                                                                                                                                                                                                                                                                                                                        |
  | n                 | 否    | 1     | Int                         | 返回多条正常结果。 约束与限制： 不使用beam_search场景下，n取值建议为1≤n≤10。如果n\>1时，必须确保不使用greedy_sample采样。也就是top_k \> 1; temperature \> 0。 使用beam_search场景下，n取值建议为1\<n≤10。如果n=1，会导致推理请求失败。 说明： n建议取值不超过10，n值过大会导致性能劣化，显存不足时，推理请求会失败。 |
  | use_beam_search   | 否    | False | Bool                        | 是否使用beam_search替换采样。 约束与限制：使用该参数时，如下参数需按要求设置： n\>1 top_p = 1.0 top_k = -1 temperature = 0.0 警告： 使用 beam_search 时，需显式设置 max_tokens，避免请求无法按预期停止。         |
  | presence_penalty  | 否    | 0.0   | Float                       | presence_penalty表示会根据当前生成的文本中新出现的词语进行奖惩。取值范围\[-2.0，2.0\]。                                                                                                                                                                                                                                                                                           |
  | frequency_penalty | 否    | 0.0   | Float                       | frequency_penalty会根据当前生成的文本中各个词语的出现频率进行奖惩。取值范围\[-2.0，2.0\]。                                                                                                                                                                                                                                                                                         |
  | length_penalty    | 否    | 1.0   | Float                       | length_penalty表示在beam search过程中，对于较长的序列，模型会给予较大的惩罚。 如果要使用length_penalty，必须添加如下三个参数，并且需将use_beam_search参数设置为true，best_of参数设置大于1，top_k固定为-1。 "top_k": -1 "use_beam_search":true "best_of":2                                              |
  | ignore_eos        | 否    | False | Bool                        | ignore_eos表示是否忽略EOS并且继续生成token。                                                                                                                                                                                                                                                                                                                     |
  | guided_json       | 否    | None  | Union\[str，dict，BaseModel\] | 使用openai启动服务，如果需要使用JSON Schema时要配置guided_json参数。                                                                                                                                                                                                                                                                                                    |
     
- [调用Embedding\&Rerank]
  通过OpenAI服务API接口启动服务使用以下推理测试命令。
  - ${url}：进入[在线推理](https://console.huaweicloud.com/modelarts/?region=cn-southwest-2#/online-service?workspaceName=default)服务列表，选择部署成功的在线推理服务，单击服务调用，复制调用地址。
  
  - ${container_model_path} ：和[表2 表3支持的模型及其最小卡数和最大序列](https://support.huaweicloud.com/acodc-aislt/acodc_02.html#acodc_02__table113437710303)模型名称一致。
  
  - ${API-Key}：[步骤2创建的API Key]，无认证该参数无需填写。
  
  
  rerank接口示例如下:
  ```
  curl -X POST ${url}/v1/rerank \
      -H "Content-Type: application/json" \
      -H 'Authorization: Bearer ${API-Key}' \
      -d '{
          "model": "${container_model_path}",
          "query": "What is the capital of France?",
          "documents": [
              "The capital of France is Paris",
              "Reranking is fun!",
              "vLLM is an open-source framework for fast AI serving"
          ]
      }'
  ```
  表3表1 Rerank服务请求参数说明 
  | 参数        | 是否必选 | 默认值 | 参数类型 | 描述                                                                                                                                               |
  |:---|:---|:---|:---|:---|
  | model     | 是    | 无   | Str  | ${container_model_path} 的值和[表2表3 支持的模型及其最小卡数和最大序列](https://support.huaweicloud.com/acodc-aislt/acodc_02.html#acodc_02__table113437710303)模型名称一致； |
  | query     | 是    | 无   | Str  | 用户查询文本                                                                                                                                           |
  | documents | 是    | 无   | Str  | 待排序文档列表（通常为Embedding召回的Top-K结果）                                                                                                                  |
     
  使用OpenAI启动服务（仅支持V0启动），embeddings接口示例如下:
  ```
  curl -X POST ${url}/v1/embeddings \
      -H "Content-Type: application/json" \
      -H 'Authorization:Bearer${API-Key}' \
      -d '{
          "model": "${container_model_path}",
          "input":"I love shanghai"
      }'
  ```
  表4表2 Embedding服务请求参数说明 
  | 参数    | 是否必选 | 默认值 | 参数类型 | 描述                                                                                                                                               |
  |:---|:---|:---|:---|:---|
  | model | 是    | 无   | Str  | ${container_model_path} 的值和[表2表3 支持的模型及其最小卡数和最大序列](https://support.huaweicloud.com/acodc-aislt/acodc_02.html#acodc_02__table113437710303)模型名称一致； |
  | input | 是    | 无   | Str  | 支持字符串或字符串列表                                                                                                                                      |
     
- [调用多模型模型]
  通过OpenAI服务API接口启动服务使用以下推理测试命令。
  - ${url}：进入[在线推理](https://console.huaweicloud.com/modelarts/?region=cn-southwest-2#/online-service?workspaceName=default)服务列表，选择部署成功的在线推理服务，单击服务调用，复制调用地址。
  
  - ${container_model_path} ：和[表2 表3支持的模型及其最小卡数和最大序列](https://support.huaweicloud.com/acodc-aislt/acodc_02.html#acodc_02__table113437710303)模型名称一致。
  
  - ${API-Key}：[步骤2创建的API Key]，无认证该参数无需填写。
  
  
  
  - ${image_url}值为图片地址（如https://example.com/cat.jpg）。
   
  ```
  curl ${url}/v1/chat/completions \
      -H "Content-Type: application/json" \
      -H 'Authorization: Bearer ${API-Key}' \
      -d '{
      "model": "${container_model_path}",
      "messages": [
          {"role": "system", "content": "You are a helpful assistant."},
          {"role": "user", "content": [
              {"type": "image_url", "image_url": {"url": "${image_url}"}},
              {"type": "text", "text": "图片中内容"}
          ]}
      ],
      "max_tokens": 512,
      "temperature": 0.7
  }'
  ```
 #### 模型预热（可选）
1. 登录[ModelArts管理控制台](https://console.huaweicloud.com/modelarts/)。
2. **预热模型权重按照如下操作：**
   
   - 在左侧菜单栏中选择"资源管理 \> 专属算力资源 \> 资源池"。
   
   - 在资源池列表，选择目标专属资源池，单击名称，进入详情页。
   
   - 选择"预热任务"，单击"添加预热任务"，在对话框中完成任务配置。此处仅列出关键参数配置说明，详细操作请参见[在专属资源池添加模型预热](https://support.huaweicloud.com/resmgmt-modelarts/resmgmt-modelarts_0081.html)。
   
   - 配置完成后，单击"确定"提交模型预热任务。 当"预热状态"变成"保温中"则表示模型预热已完成。
   
   
   **表4 添加模型预热任务的关键参数说明**
   
   | 参数名称   | 参数说明                                                                         | 取值示例              |
   |:---|:---|:---|
   | 权重路径地址 | 选择待预热的模型权重文件的OBS路径。即步骤一的路径。                                                  | obs://xxx/models/ |
   | 文件占用空间 | 根据需要预热的模型权重文件大小输入数值。选择完"权重路径地址"后，单击"获取权重文件占用空间"获取到推荐值，一般情况下，该预测值略大于模型实际目录大小。 | 780               |
      
   
   
3. 返回ModelArts主菜单栏，选择"模型推理 \> 在线推理"，进入在线服务管理页面。
 
