☰
阿里云百炼 Token Plan Java 原生HTTP调用示例
2026/10/3 8:39:30 网站建设 项目流程

阿里云百炼 Token Plan Java 原生HTTP调用示例

简介:很多同学在接入阿里云百炼 Token Plan 套餐时,习惯使用 DashScope SDK,但 Token Plan 是独立订阅套餐,密钥为sk-sp-开头,不能直接使用 DashScope SDK,推荐使用 OpenAI 兼容接口调用。本文使用 JDK11+ 内置java.net.httpHttpClient,零第三方依赖,极简实现 Token Plan 的对话接口调用。

什么是 Token Plan

Token Plan 是阿里云百炼 Model Studio 的订阅额度套餐,和普通按量付费的 DashScope API 相互独立:

  1. 密钥前缀:sk-sp-,和普通百炼sk-密钥不能混用;
  2. 调用端点:独立域名token-plan.cn-beijing.maas.aliyuncs.com,支持 OpenAI 兼容协议;
  3. 计费:消耗套餐内 Credits,不是按Token计费;
  4. 地域要求:必须在华北2(北京)购买订阅。

⚠️ 重点坑点:不要使用 dashscope-java SDK 调用 Token Plan,会鉴权失败,优先使用 OpenAI 兼容接口。

访问链接:https://www.aliyun.com/benefit/scene/tokenplan

环境要求

  • JDK 11 及以上(内置 HttpClient,无需引入 OkHttp、OpenAI SDK)
  • 提前在百炼Model Studio华北2控制台订阅Token Plan,生成sk-sp-密钥

完整代码示例

packageorg.example.aliyun;importjava.net.URI;importjava.net.http.HttpClient;importjava.net.http.HttpRequest;importjava.net.http.HttpResponse;importjava.nio.charset.StandardCharsets;/** * 阿里云百炼按 Token 计费(Token Plan)HTTP 直连调用示例 * * 不依赖官方 SDK,直接调用 DashScope 的 OpenAI 兼容接口。 * 接口地址:https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1/chat/completions * * 使用前提: * 1. 从阿里云百炼控制台获取 API Key * 2. 将 API Key 配置为环境变量 DASHSCOPE_API_KEY */publicclassAliyunTokenPlanHttpDemo{privatestaticfinalStringAPI_URL="https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1/chat/completions";publicstaticvoidmain(String[]args)throwsException{StringapiKey="your-api-key";if(apiKey==null||apiKey.isBlank()){System.err.println("请先设置环境变量 DASHSCOPE_API_KEY");return;}// 请求体:OpenAI 兼容格式StringrequestBody=""" { "model": "qwen3.8-max", "messages": [ {"role": "system", "content": "你是一个乐于助人的助手。"}, {"role": "user", "content": "用一句话介绍阿里云百炼怎么用Java"} ] } """;HttpRequestrequest=HttpRequest.newBuilder().uri(URI.create(API_URL)).header("Authorization","Bearer "+apiKey).header("Content-Type","application/json").POST(HttpRequest.BodyPublishers.ofString(requestBody,StandardCharsets.UTF_8)).build();HttpClientclient=HttpClient.newHttpClient();HttpResponse<String>response=client.send(request,HttpResponse.BodyHandlers.ofString());System.out.println("HTTP 状态码:"+response.statusCode());System.out.println("响应内容:");System.out.println(response.body());}}

运行说明

  1. 密钥安全:生产环境禁止硬编码API Key,使用环境变量/配置中心读取;
  2. 模型名称:qwen3.8-max是示例,以Token Plan控制台支持模型列表为准;
  3. 请求格式:完全兼容OpenAI Chat Completions协议,可以扩展temperature、top_p、stream流式参数;

扩展:开启流式返回 stream:true

修改请求体即可启用SSE流式输出,适合对话实时返回场景:

{ "model": "qwen3.8-max", "stream": true, "messages": [ {"role": "system", "content": "你是一个乐于助人的助手。"}, {"role": "user", "content": "用一句话介绍阿里云百炼怎么用Java"} ] }

JDK原生HttpClient处理SSE需要按行解析响应体,自行处理data:片段。

常见报错排查

  1. 401 Unauthorized
    • 使用了普通百炼sk-密钥,Token Plan必须是sk-sp-密钥;
    • 密钥前后有空格,复制时注意;
    • 地域不对,Token Plan订阅仅华北2。
  2. 404 Not Found
    • Base URL写错,不能用dashscope的接口地址。
  3. 429 Too Many Requests
    • 套餐Credits额度耗尽,触发限流,等待周期重置或者购买额外用量包。

小结

Token Plan 不兼容 DashScope SDK,使用 OpenAI 兼容接口是最稳妥的接入方式。JDK11+自带HttpClient,零依赖,非常适合轻量调用场景。如果是SpringBoot项目,可以封装成RestTemplate或者WebClient版本,方便业务集成。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询