GenStudio LLM API 部分模型价格调整公告GenStudio LLM API 部分模型价格调整公告 ,新价格 2025 年 11 月 1 日生效调价公告
Skip to content

快速体验部署推理服务

使用本教程快速体验 AIStudio「推理服务」基本部署流程,并访问已部署的服务。

方案描述

本文描述了一个极简的推理服务部署实验,仅适用于学习 AIStudio 推理服务的基础功能,不适用于正式部署。

  • 模型:本方案将部署 HuggingFaceTB/SmolLM2-135M-Instruct,一个 135M 参数的极小模型,主要理解和生成英文内容。该模型将在服务启动时直接从网络下载,因此您无需提前下载模型。
  • 镜像:使用平台预置 vLLM 镜像,您无需自行安装任何软件。

准备算力资源

推理服务要求必须使用预付费计算资源(包年/包月/包周/包日资源池)。暂不支持按量付费方式。

注意

包年包月算力资源是指租户按固定周期(包两年/包年/包月/包周/包日)购买算力资源配额的独占使用权,到期前需主动续费。包年包月资源提供多种 GPU 配置。

您可以前往算力市场页面,自助购买包年包月资源。您也可以直接联系商务或售后服务下单购买。

您可以前往资源池页面查看已购资源。如果租户新购的包年包月算力资源,自动进入默认包年包月资源池。请确认默认资源池或专属资源池中已包含算力资源。

alt text

创建推理服务

  1. 访问智算云控制台的推理服务页面,点击 创建推理服务,进入创建界面。

  2. 推理类型:保持分布式推理开关为关闭状态(默认)。

  3. 资源池:平台会列出租户下的所有包年包月资源池。在资源池下拉列表中可直接查看池中空闲卡数。如果资源池为空,请检查是否已购买算力资源(详见准备算力资源)。如果确认已购买资源,但资源池下拉列表仍然为空,请检查当前用户是否使用任何资源池的权限。

    alt text

  4. 实例规格,选择「显卡数量」为 1 的规格即可,表示每个实例占用 1 卡。

    注意

    请确保所选规格「可启动数量」不为 0,否则无法启动任何实例。

  5. RDMA 配置: 如果出现该选项,表示当前选中的算力规格支持 IB 或 RDMA。对于运行 135M 参数的极小模型,保持该选项关闭即可。

  6. 实例数量:对于本实验,保持默认值 1 即可。实例数量大于 1 时,平台将自动提供负载均衡,占用的 GPU 总卡数随实例总数增加。

  7. 滚动更新:如果只使用单个实例,可设置为 0%。详见升级推理服务

  8. 镜像:选择运行推理服务的容器镜像。请选择预置镜像,筛选 vLLM 版本较新的镜像。例如,您可以选择 vLLM 0.8.4 的分布式推理镜像。

  9. 启动命令:填写在容器实例启动时执行的命令。通常用于设置环境变量、准备模型路径、启动推理服务进程。

    shell
    # --- 1. 设置 Hugging Face 国内镜像站 ---
    export HF_ENDPOINT=https://hf-mirror.com
    export MODEL=HuggingFaceTB/SmolLM2-135M-Instruct
    
    # --- 2. 启动 vLLM 服务 ---
    vllm serve ${MODEL} \
    --host 0.0.0.0 \
    --port 8000 \
    --served-model-name SmolLM2-135M-Instruct

    注意

    如何编写启动命令

    • 启动命令是容器创建后要执行的命令,平台会自动用 /bin/bash -c 来执行。
    • 保持前台运行:命令必须占据前台,否则容器会立即退出。
      • 如果启动命令运行完毕,容器主进程就会退出。例如启动命令 echo hello 执行完毕,容器立即退出。
      • 错误示例如 vllm serve & 将 vLLM 放入后台运行,会导致 bash 立即退出。
    • 若命令行太长或逻辑复杂,可考虑在镜像内(或挂载的共享高性能存储中)放置启动脚本,并在启动命令中调用。
  10. 存储配置:无需配置,可跳过。

    • 系统盘: 指推理服务容器的根目录 / 的存储大小,固定为 50GiB,通常用于存放操作系统和镜像内容。推理服务容器的系统盘为非持久化存储。
    • 高性能存储: 可为推理服务容器挂载租户的共享高性能存储卷,可访问共享存储中的数据(如模型文件)。详见共享高性能存储

    警告

    本次实验中,由 vLLM 自动在启动过程中下载 HuggingFaceTB/SmolLM2-135M-Instruct 模型至推理服务容器系统盘中。这会造成以下问题:

    • 推理服务进入「运行中」后,需要先下载模型;导致推理服务一段时间内不可用
    • 推理服务容器系统盘非持久化存储,每次重启服务均需要重新下载模型

    最佳实践:提前将模型下载至共享高性能存储中,在推理服务中挂载存储卷以访问模型。

  11. 外网配置:启用后,服务将可以通过公网访问。选择默认地址Auth 配置 保持为 Authorization。详见访问推理服务

    alt text

  12. 内网配置(端口):保持监听端口为默认值 8000调用端口为默认值 80监控端口配置无需修改。详见服务监控

    注意

    平台通过您设置的监听端口将外部流量转发到容器内部。因此,该监听端口必须容器内服务的监听端口一致(常通过 --port/server_port/--http-port 之类参数指定),否则平台无法正确访问您的服务。

  13. 高级配置区域可跳过。扩缩容默认关闭,详见扩缩容

  14. 为您的推理服务命名并添加描述。

    • 名称:推理服务的名称,1~64 个字符,支持中英文、数字、下划线 (_) 和连字符 (-)。名称在租户内不必唯一。
    • 描述标签:在本实验中可留空。

完成所有配置后,点击确认创建。服务将进入创建流程。

注意

推理服务进入「运行中」状态后,vLLM 将先下载模型,随后加载模型,再启动模型推理。您可以等待 5 分钟左右;或进入推理服务详情页,切换到「日志」标签页的输出,观察是否报错,若出现 Application startup complete,表示推理服务 API 已经可以调用。

验证推理 API

推理服务创建完成后,可以通过内网或外网调用 API 来验证服务是否正常运行。

内网调用 API

从平台上同一个可用区内访问该推理服务时,仅通过内网调用 API,这种方式无需通过 API Key 验证

  1. 打开推理服务详情页,记录以下数据:

    • 可用区:表示推理服务算力资源所在可用区
    • 内网访问地址:表示在同可用区内,访问当前推理服务所使用的 URL 地址,例如 http://if-db3o6xyqoxfcolln-service:80
  2. 点击顶部 AICoder 按钮,选择与推理服务相同的可用区。

    注意

    也可以使用同一个可用区的开发机。

  3. 替换以下命令中的推理服务内网访问地址为真实 URL 后,在 AICoder Shell 中运行命令。注意推理服务访问路径后必须拼接 vLLM OpenAI 兼容的 API 服务器路径 /v1/chat/completions(命令中已拼接)。

    shell
    export INTRANET_SERVICE_URL="推理服务内网访问地址"
    curl --request POST \
    --url "$INTRANET_SERVICE_URL/v1/chat/completions" \
    --header "Content-Type: application/json" \
    --data '{
        "model": "SmolLM2-135M-Instruct",
        "messages": [
            {"role": "user", "content":"1+1="}
        ]
        }'

公网调用 API

如果从公网访问推理服务(例如,跨可用区访问,或从您的本地设备调用 API),则需要获取公网访问地址,且必须通过 API Key 验证。

  1. 前往密钥管理页面,申请 API 密钥。

  2. 打开推理服务详情页,记录以下数据:

    • 外网访问地址:表示从公网访问当前推理服务所使用的 URL 地址,例如 https://cloud.infini-ai.com/AIStudio/inference/api/if-db3o6xyqoxfcolln/
  3. 替换以下命令中的推理服务外网访问地址 / API 密钥为真实值后,运行命令。注意推理服务访问路径后必须拼接 vLLM OpenAI 兼容的 API 服务器路径 /v1/chat/completions(命令中已拼接)。

    shell
    export INTRANET_SERVICE_URL="推理服务内网访问地址"
    export API_KEY="API 密钥"
    curl --request POST \
    --url "$" \
    --header "Authorization: Bearer $API_KEY" \
    --header "Content-Type: application/json" \
    --data '{
        "model": "SmolLM2-135M-Instruct",
        "messages": [
            {"role": "user", "content":"What is Huggingface"}
        ]
        }'
  4. 在您的本地设备中,打开命令行界面(MacOS 的终端,或 Windows CMD)。

    注意

    也可以使用 AICoder 或开发机。