跳转到主要内容
三方模型

Stepfun-阶跃星辰

本文档介绍如何在千问云调用阶跃星辰(Stepfun)直供的 Step 系列模型推理服务。

快速开始

stepfun/step-3.7-flash 是阶跃星辰直供的多模态推理模型,默认关闭思考模式,您可以通过设置enable_thinkingtrue开启思考模式。开启后,模型的推理过程通过reasoning_content字段返回,您可以通过reasoning_effort参数(可选值:lowmediumhigh)控制推理深度。运行以下代码快速调用 stepfun/step-3.7-flash 模型。 需要已获取 API Key 并完成配置 API Key 到环境变量。如果通过 SDK 调用,需要安装 SDK。
  • Python
  • Node.js
  • HTTP
from openai import OpenAI
import os
# 初始化OpenAI客户端
client = OpenAI(
  # 如果没有配置环境变量,请用千问云API Key替换:api_key="sk-xxx"
  api_key=os.getenv("DASHSCOPE_API_KEY"),
  base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
messages = [{"role": "user", "content": "9.9和9.11哪个大?"}]
completion = client.chat.completions.create(
  model="stepfun/step-3.7-flash",
  messages=messages,
  stream=True,
  stream_options={
    "include_usage": True
  },
  extra_body={
    "enable_thinking": True
  }
)
reasoning_content = ""  # 完整思考过程
answer_content = ""  # 完整回复
is_answering = False  # 是否进入回复阶段
print("\n" + "=" * 20 + "思考过程" + "=" * 20 + "\n")
for chunk in completion:
  if not chunk.choices:
    print("\n" + "=" * 20 + "Token 消耗" + "=" * 20 + "\n")
    print(chunk.usage)
    continue
  delta = chunk.choices[0].delta
  # 只收集思考内容
  if hasattr(delta, "reasoning_content") and delta.reasoning_content is not None:
    if not is_answering:
      print(delta.reasoning_content, end="", flush=True)
    reasoning_content += delta.reasoning_content
  # 收到content,开始进行回复
  if hasattr(delta, "content") and delta.content:
    if not is_answering:
      print("\n" + "=" * 20 + "完整回复" + "=" * 20 + "\n")
      is_answering = True
    print(delta.content, end="", flush=True)
    answer_content += delta.content
返回结果
====================思考过程====================
好的,用户问的是9.9和9.11哪个大。首先我需要比较这两个小数。
9.9可以写成9.90,而9.11就是9.11。
比较小数部分:90 > 11,所以9.9 > 9.11。
====================完整回复====================
9.9 更大。
将两个数对齐小数位:9.9 = 9.90,而 9.11 = 9.11。比较小数部分,0.90 > 0.11,因此 **9.9 > 9.11**。
====================Token 消耗====================
CompletionUsage(completion_tokens=85, prompt_tokens=10, total_tokens=95, prompt_tokens_details={'cached_tokens': 0})

多模态调用示例

stepfun/step-3.7-flash 不仅支持纯文本对话,还具备多模态理解能力,支持图像和视频输入。

图像理解

图像理解功能让模型能够识别和分析图像内容。支持通过公网 URL 或 Base64 编码传入图像。图像文件的限制请参见文件限制
  • Python
  • Node.js
  • HTTP
import os
from openai import OpenAI
client = OpenAI(
  api_key=os.getenv("DASHSCOPE_API_KEY"),
  base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
  model="stepfun/step-3.7-flash",
  messages=[
    {
      "role": "user",
      "content": [
        {"type": "text", "text": "图中描绘的是什么景象?"},
        {
          "type": "image_url",
          "image_url": {
            "url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241022/emyrja/dog_and_girl.jpeg",
            "detail": "high"
          }
        }
      ]
    }
  ]
)
# 输出思考过程
if hasattr(completion.choices[0].message, 'reasoning_content') and completion.choices[0].message.reasoning_content:
  print("\n" + "=" * 20 + "思考过程" + "=" * 20 + "\n")
  print(completion.choices[0].message.reasoning_content)
# 输出回复内容
print("\n" + "=" * 20 + "完整回复" + "=" * 20 + "\n")
print(completion.choices[0].message.content)

视频理解

视频理解功能让模型能够识别和分析视频内容。支持通过公网 URL 传入视频。视频文件的限制请参见文件限制
  • Python
  • Node.js
  • HTTP
import os
from openai import OpenAI
client = OpenAI(
  api_key=os.getenv("DASHSCOPE_API_KEY"),
  base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
  model="stepfun/step-3.7-flash",
  messages=[
    {
      "role": "user",
      "content": [
        {
          "type": "video_url",
          "video_url": {
            "url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241115/cqqkru/1.mp4"
          }
        },
        {
          "type": "text",
          "text": "这段视频的内容是什么?"
        }
      ]
    }
  ]
)
print(completion.choices[0].message.content)

文件限制

  • 图像文件
  • 视频文件
  • **支持的图像格式:**JPG/JPEG、PNG、WEBP、静态 GIF
  • **单张图像大小:**不超过 10M
  • **多图输入限制:**单次请求最多 50 张图像,多张图片总大小不超过 20M
  • **图像分辨率:**建议长或宽不超过 4096 像素。分辨率越高,模型推理成本越高(网络传输时间、首字延迟和费用消耗相应增加)
  • **图像传入方式:**支持通过 HTTP/HTTPS 公网 URL 或 Base64 编码传入

其它功能

功能支持情况备注
多轮对话支持思考模式下需在每轮 assistant 消息中保留reasoning_content字段,否则会报错
Function Calling支持不支持tool_choice参数
上下文缓存支持支持隐式缓存,自动开启
结构化输出支持response_format不支持 json_schema
联网搜索不支持
前缀续写不支持
多模态输入支持支持图像(URL/Base64)和视频(URL)输入
stepfun/step-3.7-flash 不支持以下参数:tool_choicethinking_budgettop_kmodalitiesrepetition_penaltyvl_high_resolution_imagespreserve_thinkingenable_searchsearch_optionsseedlogprobstop_logprobsn 支持的参数中,部分参数取值范围与功能与千问云不一致:
参数千问云Step
temperature取值范围 [0, 2)取值范围 [0, 2),默认 1.0
top_p取值范围 (0, 1.0]取值范围 (0, 1.0],默认 0.95
max_tokens不限制思考模型思维链长度,仅限制输出长度限制思考过程和最终回答的总体输出长度
reasoning_effort控制 DeepSeek-V4 系列模型的推理力度,可选值high/max可选值为lowmediumhigh,用于控制推理深度,需开启思考模式后生效
stream_options其属性include_usage默认为false,可设为true其属性include_usage强制为true,无法关闭
detail不支持可选low/high,默认low
frequency_penalty不支持范围 0.0~1.0,默认 0

模型列表与计费

Step 系列模型是阶跃星辰直供的多模态推理模型,支持文本、图像和视频输入,支持通过enable_thinking开启思考模式。 模型上下文长度与价格信息请参见千问云控制台 按照模型的输入与输出 Token 计费。
思考模式下,思维链按照输出 Token 计费。

错误码

Step 系列模型由阶跃星辰直供,其错误码与千问云标准错误码存在差异。调用 Step 模型时,请以下表为准。
错误码错误原因解决方法
400 - 格式错误请求参数格式不正确,可能包括图片无法下载、图片数量超限、模型不支持的输入类型、参数值不合法检查请求体、模型能力和参数范围
401 - 认证失败缺少或无效的 API Key检查 API Key 及请求头格式是否正确
402 - 余额不足账户余额不足检查账户余额,及时进行充值
429 - 请求超限请求过于频繁,超出速率限制实现指数退避和重试逻辑,或降低请求频率
451 - 内容拦截请求内容或响应内容未通过审核修改请求内容,避免输入不安全或敏感内容
500 - 服务器失败服务器内部故障请稍后重试,持续出现时联系我们解决
503 - 服务器故障服务器负载过高请稍后重试