• 简体中文
  • API 进阶用法

    接入跑通之后,这一页覆盖生产环境常用的进阶能力:流式输出、常用参数、视觉输入、SDK 接入与重试策略。示例中的 模型ID 请到模型广场复制实际 ID;最小请求示例见 API 端点

    流式输出

    对话类应用基本都需要流式(打字机效果)。在请求体里加 "stream": true,响应会以 SSE(Server-Sent Events)逐块返回:

    curl https://tokens.byteseek.ai/v1/chat/completions \
      -H "Authorization: Bearer sk-你的密钥" \
      -H "Content-Type: application/json" \
      -d '{
        "model": "模型ID",
        "stream": true,
        "messages": [{ "role": "user", "content": "写一首关于大海的短诗" }]
      }'

    要点:

    • 每个数据块以 data: 开头,流结束时收到 data: [DONE]
    • SDK 会自动处理分块(见下方 SDK 示例),自己解析时注意按行分割、跳过空行;
    • 长思考模型开启流式后首字延迟仍然存在——思考阶段不产出可见内容属于正常现象,客户端超时要设得足够长;
    • Anthropic 格式同样支持 "stream": true,事件结构不同,按 Anthropic SDK 处理即可。

    常用参数

    各协议格式的参数以对应上游厂商的文档为准,这里列出最常用的几个:

    参数作用建议
    temperature随机性,越低越稳定代码 / 抽取类任务用 0 ~ 0.3,创意写作 0.7 ~ 1
    max_tokens / max_output_tokens限制输出长度按需设置,防止意外超长输出拉高费用
    stream流式输出对话应用建议开启
    reasoning_effort推理强度(思考类模型)low / medium / high,强度越高越慢越贵,使用记录里有逐笔的推理强度字段
    response_format结构化输出需要机器可解析的结果时用 json_objectjson_schema
    参数透传

    网关按协议格式原样转发请求体,上游模型支持的参数都可以直接用,不需要网关侧的额外配置;上游不支持的参数会由上游返回错误。

    视觉输入(传图)

    支持视觉的模型可以在消息里带图片,OpenAI Chat 格式写法:

    curl https://tokens.byteseek.ai/v1/chat/completions \
      -H "Authorization: Bearer sk-你的密钥" \
      -H "Content-Type: application/json" \
      -d '{
        "model": "模型ID",
        "messages": [{
          "role": "user",
          "content": [
            { "type": "text", "text": "描述这张图片" },
            { "type": "image_url", "image_url": { "url": "https://example.com/photo.jpg" } }
          ]
        }]
      }'
    • 图片可以是公网 URL,也可以是 data:image/jpeg;base64,... 形式的内嵌数据;
    • 图片会计入输入 token,大图费用显著更高,能压缩先压缩;
    • 模型是否支持视觉以模型广场的能力标注为准。

    SDK 接入

    官方 SDK 只需要改 base_urlapi_key 两个参数:

    Python (OpenAI)
    Node.js (OpenAI)
    Python (Anthropic)
    from openai import OpenAI
    
    client = OpenAI(
        base_url="https://tokens.byteseek.ai/v1",
        api_key="sk-你的密钥",
    )
    
    # 流式对话
    stream = client.chat.completions.create(
        model="模型ID",
        messages=[{"role": "user", "content": "你好"}],
        stream=True,
    )
    for chunk in stream:
        delta = chunk.choices[0].delta.content
        if delta:
            print(delta, end="", flush=True)

    密钥建议放环境变量(OPENAI_API_KEY / ANTHROPIC_API_KEY),SDK 会自动读取,不要写死在代码里提交到仓库——安全要求见使用政策

    超时与重试策略

    生产环境的健壮性建议:

    • 超时设长一点:思考类模型的响应时间以分钟计,客户端超时建议 ≥ 300 秒;
    • 指数退避重试:对 4295xx 重试,间隔按 1s → 2s → 4s 递增,最多 3 ~ 5 次;4xx(除 429 外)是请求本身的问题,重试无意义;
    • 不要无脑并发:无退避的密集重试会被系统自动降低优先级,见限速与并发
    • 记录请求 ID:响应头里的请求 ID 是排障和反馈的唯一凭据,建议在日志里保留。

    相关入口

    © 2026 ByteSeek Limited. 保留所有权利。服务条款隐私政策免责声明