本文从零搭建一个TokenWorks 工作站,完成大模型推理服务部署与调用,为团队成员分配独立 API Key,并通过概览和实时监控查看各用户的用量与服务状态。
前提条件
在开始使用 TokenWorks前,请确认已完成以下准备:
已开通阿里云账号并完成实名认证。
已开通 PAI 服务,并创建了 PAI 工作空间。
步骤一:创建工作站
工作站是 TokenWorks 的核心入口,本质上是一个 LLM 智能路由服务,后续在工作站内部署的所有推理服务由工作站统一调度管理。首次使用 TokenWorks 时,需先完成工作站的创建。
登录 PAI 控制台,左侧导航栏选择模型部署 > TokenWorks。
在欢迎页面,单击+ 创建工作站。
配置以下关键参数,其他保持默认(更多参数说明参见创建与管理工作站):
工作站名称:自定义名称,如
workstation_demo。资源类型:选择公共资源组。
专有网络配置:配置工作站的专有网络、交换机和安全组。
Redis 配置:配置后,工作站将通过阿里云 Tair(兼容 Redis)存储用户信息及使用统计;未配置时数据仅存本地内存,服务停机即丢失,生产环境建议配置。请根据是否已有可用 Redis 实例选择配置方式:
创建新实例:推荐首次使用时选择。系统将自动完成 Tair 实例创建和白名单配置,创建完成后会展示 Redis 地址和密码,请妥善保存。
选择已有实例:账号下已有 Tair 或 Redis 实例时可直接复用,避免重复创建和额外费用。
手动输入:请确保 Redis 实例所在 VPC 与工作站配置的专有网络一致,否则无法正常连接。
确认底部总费用后,单击创建工作站。
步骤二:部署推理服务
在左侧导航栏,单击服务,进入推理服务页面。
单击+ 创建服务,配置如下参数(以部署ModelGallery模型为例,更多服务配置说明参见创建与管理推理服务):
服务名称:自定义名称,例如
test_demo。模型类型:选择 ModelGallery。
模型选择:选择目标模型及部署模板。例如,模型选择 Qwen3.5-4B,部署模板选择SGLang-单机。
部署模板决定了推理引擎、部署方式和可用资源。不同模板的显存占用和吞吐能力不同,可参考模板说明选择。
资源类型:选择公共资源。
副本数:1。
部署资源:选择合适的资源规格(模板已筛选可用规格),如
ecs.gn7i-c8g1.2xlarge。
重要在多轮对话、RAG 等场景下,可配置缓存服务以降低首 Token 延迟(TTFT)并提升吞吐量。KV Cache 服务需先部署,详情参见配置 KV Cache。
确认底部费用后,单击部署。服务创建后初始状态为 Creating,待状态变为 Running 后可接收请求,通常需要 3~5 分钟。
步骤三:调用推理服务
工作站统一入口经智能路由统一调度请求,支持负载均衡和故障切换,是推荐的调用方式。
在页面右上角单击工作站路由,面板提供工作站级凭证和调用示例(已自动填充实际值,支持 Bash/Python、流式/非流式),可直接复制验证连通性。
Base URL 分两种,按网络环境选择:
公网:外部网络可访问
内网:仅限同 VPC 环境,延迟更低
如需单独测试某个推理服务,可在服务列表单击调用,从服务调用面板获取该服务的独立 Base URL 和 API 密钥,调用格式与工作站入口完全相同。
步骤四:为用户分配 API Key
在用户管理中为每个调用方分配独立 API Key,系统自动记录各用户的 Token 消耗与请求量,便于多人协作场景下的用量追踪与成本分摊。
在左侧导航栏,单击用户管理,进入用户管理页面。
单击创建用户,填写用户名并选择角色,完成后系统为该用户生成独立 API Key,单击复制图标获取。
将以下示例中的
<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)
步骤五:查看调用数据
在完成步骤四的调用后,可通过概览和实时监控两个页面查看调用数据。
概览:展示历史聚合数据,便于确认调用量和用户级消耗汇总。
实时监控:以秒级频率刷新,适合观测服务的当前健康状态。
在概览中确认调用记录
概览以聚合视图展示整体用量和用户级消耗,可在此确认各用户的调用记录和消耗情况。
在左侧导航栏,单击概览。
在用户排名区域,确认步骤四创建的用户已出现,查看其 Token 消耗和请求数,确认该 API Key 的调用已被正确计入该用户名下。
在顶部卡片查看 Token 消耗和总请求次数的聚合数据,确认调用量已被系统记录。
在时段分析图中可进一步查看调用的时间分布及缓存命中情况。
在实时监控中查看服务状态
实时监控以近实时方式展示工作站的整体性能、各推理实例的请求分布和活跃用户状态,适合在大规模调用期间快速发现负载积压或请求量异常等问题。
在左侧导航栏,单击实时监控。
在活跃用户区域,确认步骤四创建的用户已出现,并查看其当前的运行中和等待中请求数。若某个用户的请求量异常偏高,可前往用户管理对该用户进行限流。
在推理实例区域,查看各实例的实时负载(运行中/等待中请求数)、缓存命中情况,确认请求已按调度策略均匀分发。若某个实例等待队列持续偏长,说明该实例存在负载积压,可考虑扩容副本数或调整调度策略。
在性能指标区域,查看 Token 吞吐量、首 Token 延迟(TTFT)、QPS 和错误率,评估服务整体运行质量。
若监控中发现负载不均或请求量异常,可前往配置中心调整调度策略或设置请求限流。