TokenWorks快速入门

更新时间:
复制 MD 格式

本文从零搭建一个TokenWorks 工作站,完成大模型推理服务部署与调用,为团队成员分配独立 API Key,并通过概览和实时监控查看各用户的用量与服务状态。

前提条件

在开始使用 TokenWorks前,请确认已完成以下准备:

  • 已开通阿里云账号并完成实名认证。

  • 已开通 PAI 服务,并创建了 PAI 工作空间。

步骤一:创建工作站

工作站是 TokenWorks 的核心入口,本质上是一个 LLM 智能路由服务,后续在工作站内部署的所有推理服务由工作站统一调度管理。首次使用 TokenWorks 时,需先完成工作站的创建。

  1. 登录 PAI 控制台,左侧导航栏选择模型部署 > TokenWorks

  2. 在欢迎页面,单击+ 创建工作站

  3. 配置以下关键参数,其他保持默认(更多参数说明参见创建与管理工作站):

    • 工作站名称:自定义名称,如 workstation_demo

    • 资源类型:选择公共资源组

    • 专有网络配置:配置工作站的专有网络、交换机和安全组。

    • Redis 配置:配置后,工作站将通过阿里云 Tair(兼容 Redis)存储用户信息及使用统计;未配置时数据仅存本地内存,服务停机即丢失,生产环境建议配置。请根据是否已有可用 Redis 实例选择配置方式:

      • 创建新实例:推荐首次使用时选择。系统将自动完成 Tair 实例创建和白名单配置,创建完成后会展示 Redis 地址和密码,请妥善保存。

      • 选择已有实例:账号下已有 Tair 或 Redis 实例时可直接复用,避免重复创建和额外费用。

      • 手动输入:请确保 Redis 实例所在 VPC 与工作站配置的专有网络一致,否则无法正常连接。

  4. 确认底部总费用后,单击创建工作站

步骤二:部署推理服务

  1. 在左侧导航栏,单击服务,进入推理服务页面。

  2. 单击+ 创建服务,配置如下参数(以部署ModelGallery模型为例,更多服务配置说明参见创建与管理推理服务):

    • 服务名称:自定义名称,例如test_demo

    • 模型类型:选择 ModelGallery

    • 模型选择:选择目标模型及部署模板。例如,模型选择 Qwen3.5-4B,部署模板选择SGLang-单机

      部署模板决定了推理引擎、部署方式和可用资源。不同模板的显存占用和吞吐能力不同,可参考模板说明选择。
    • 资源类型:选择公共资源

    • 副本数:1。

    • 部署资源:选择合适的资源规格(模板已筛选可用规格),如ecs.gn7i-c8g1.2xlarge

    重要

    在多轮对话、RAG 等场景下,可配置缓存服务以降低首 Token 延迟(TTFT)并提升吞吐量。KV Cache 服务需先部署,详情参见配置 KV Cache

  3. 确认底部费用后,单击部署。服务创建后初始状态为 Creating,待状态变为 Running 后可接收请求,通常需要 3~5 分钟。

步骤三:调用推理服务

工作站统一入口经智能路由统一调度请求,支持负载均衡和故障切换,是推荐的调用方式。

在页面右上角单击工作站路由,面板提供工作站级凭证和调用示例(已自动填充实际值,支持 Bash/Python、流式/非流式),可直接复制验证连通性。

Base URL 分两种,按网络环境选择:

  • 公网:外部网络可访问

  • 内网:仅限同 VPC 环境,延迟更低

如需单独测试某个推理服务,可在服务列表单击调用,从服务调用面板获取该服务的独立 Base URL 和 API 密钥,调用格式与工作站入口完全相同。

步骤四:为用户分配 API Key

在用户管理中为每个调用方分配独立 API Key,系统自动记录各用户的 Token 消耗与请求量,便于多人协作场景下的用量追踪与成本分摊。

  1. 在左侧导航栏,单击用户管理,进入用户管理页面。

  2. 单击创建用户,填写用户名并选择角色,完成后系统为该用户生成独立 API Key,单击复制图标获取。

  3. 将以下示例中的 <BASE_URL> 替换为步骤三工作站路由面板中的 Base URL,<API_KEY> 替换为上一步获取的用户级 API Key,发起调用。

    说明

    使用用户级 API Key 调用后,可在步骤五的概览用户排名中看到该用户的消耗记录;建议选用需要较长输出的问题,以便实时监控数据呈现可观测的状态。

    curl -X POST "<BASE_URL>/v1/chat/completions" \
      -H "Authorization: Bearer <API_KEY>" \
      -H "Content-Type: application/json" \
      -d '{
        "model": "Qwen3.5-4B",
        "messages": [
          {"role": "user", "content": "请详细介绍 Transformer 架构的工作原理,包括自注意力机制、多头注意力、位置编码和前馈网络,并说明大型语言模型推理时 KV Cache 如何降低重复计算,要求不少于 1500 字。"}
        ],
        "stream": false
      }'
    from openai import OpenAI
    
    client = OpenAI(
        api_key="<API_KEY>",
        base_url="<BASE_URL>/v1",
    )
    
    response = client.chat.completions.create(
        model="Qwen3.5-4B",
        messages=[
            {"role": "user", "content": "请详细介绍 Transformer 架构的工作原理,包括自注意力机制、多头注意力、位置编码和前馈网络,并说明大型语言模型推理时 KV Cache 如何降低重复计算,要求不少于 1500 字。"}
        ],
    )
    
    print(response.choices[0].message.content)

步骤五:查看调用数据

在完成步骤四的调用后,可通过概览实时监控两个页面查看调用数据。

  • 概览:展示历史聚合数据,便于确认调用量和用户级消耗汇总。

  • 实时监控:以秒级频率刷新,适合观测服务的当前健康状态。

在概览中确认调用记录

概览以聚合视图展示整体用量和用户级消耗,可在此确认各用户的调用记录和消耗情况。

  1. 在左侧导航栏,单击概览

  2. 用户排名区域,确认步骤四创建的用户已出现,查看其 Token 消耗和请求数,确认该 API Key 的调用已被正确计入该用户名下。

  3. 在顶部卡片查看 Token 消耗总请求次数的聚合数据,确认调用量已被系统记录。

  4. 时段分析图中可进一步查看调用的时间分布及缓存命中情况。

在实时监控中查看服务状态

实时监控以近实时方式展示工作站的整体性能、各推理实例的请求分布和活跃用户状态,适合在大规模调用期间快速发现负载积压或请求量异常等问题。

  1. 在左侧导航栏,单击实时监控

  2. 活跃用户区域,确认步骤四创建的用户已出现,并查看其当前的运行中和等待中请求数。若某个用户的请求量异常偏高,可前往用户管理对该用户进行限流。

  3. 推理实例区域,查看各实例的实时负载(运行中/等待中请求数)、缓存命中情况,确认请求已按调度策略均匀分发。若某个实例等待队列持续偏长,说明该实例存在负载积压,可考虑扩容副本数或调整调度策略。

  4. 性能指标区域,查看 Token 吞吐量、首 Token 延迟(TTFT)、QPS 和错误率,评估服务整体运行质量。

若监控中发现负载不均或请求量异常,可前往配置中心调整调度策略或设置请求限流。