SiliconFlow
API手册

创建快速决策请求(TypeSafe)

【Alpha】根据给定的输入内容做出是否判断、选项选择或打分评价,适用于快速决策场景。 当前 API 尚处于测试验证阶段,可能调整或停用。 2026-10-08 之前限时免费,此后如果收费将另行通知。

POST
/systemone
AuthorizationBearer <token>required

添加 Header 'Authorization: Bearer {账户 API Key}' 进行鉴权

In: header

Header Parameters

X-Trace-Idstring

请求追踪 ID。可自定义传入用于标记本次请求;若不传入,平台将自动生成。排查问题时,提供该值或响应头中的 x-siliconcloud-trace-id 均可。

traceparentstring

W3C Trace Context 标准追踪头。传入时,平台取其中的 trace-id 作为本次请求的追踪标识。

问题全部为 noul 类型(是/否)的请求形态。三种类型的问题也可以在同一次 questions 中混用,这里按问题类型拆开展示。

modelstringrequired

处理本次请求的模型。目前支持以下模型:diffusiongemmaKev-4bSemIf

Example"diffusiongemma"
statestring | object | array<unknown>required

所有问题共同参照的内容,可以是字符串、JSON 对象或数组。

  • 字符串:适合整段文本;
  • 对象:适合结构化字段,便于在 instructions 中按字段名引用;
  • 数组:适合由多条文本或对象组成的列表。

对象与数组内部的嵌套结构不做限制。

Empty Object

questionsobjectrequired

问题映射。键由调用方自选,仅用于回填答案,不会发送给模型;响应的 answers 会使用同一组键。

Properties1 <= properties

Empty Object

问题全部为 choice 类型(单选)的请求形态。三种类型的问题也可以在同一次 questions 中混用,这里按问题类型拆开展示。

modelstringrequired

处理本次请求的模型。目前支持以下模型:diffusiongemmaKev-4bSemIf

Example"diffusiongemma"
statestring | object | array<unknown>required

所有问题共同参照的内容,可以是字符串、JSON 对象或数组。

  • 字符串:适合整段文本;
  • 对象:适合结构化字段,便于在 instructions 中按字段名引用;
  • 数组:适合由多条文本或对象组成的列表。

对象与数组内部的嵌套结构不做限制。

Empty Object

questionsobjectrequired

问题映射。键由调用方自选,仅用于回填答案,不会发送给模型;响应的 answers 会使用同一组键。

Properties1 <= properties

Empty Object

问题全部为 score 类型(打分)的请求形态。三种类型的问题也可以在同一次 questions 中混用,这里按问题类型拆开展示。

modelstringrequired

处理本次请求的模型。目前支持以下模型:diffusiongemmaKev-4bSemIf

Example"diffusiongemma"
statestring | object | array<unknown>required

所有问题共同参照的内容,可以是字符串、JSON 对象或数组。

  • 字符串:适合整段文本;
  • 对象:适合结构化字段,便于在 instructions 中按字段名引用;
  • 数组:适合由多条文本或对象组成的列表。

对象与数组内部的嵌套结构不做限制。

Empty Object

questionsobjectrequired

问题映射。键由调用方自选,仅用于回填答案,不会发送给模型;响应的 answers 会使用同一组键。

Properties1 <= properties

Empty Object

Response Body

模型响应。响应头中包含 x-siliconcloud-trace-id 字段,作为请求的唯一追踪标识,便于日志查询和问题排查;用户自定义传入的 X-Trace-Id 请求头(如有)也会以该字段原样返回。排查问题时,提供任一 trace ID 即可。

TypeScript Definitions

Use the response body type in TypeScript.

POST /systemone 的成功响应(answers 为键到 NoulAnswer 的映射)。

modelstringrequired

实际处理本次请求的模型。

Example"diffusiongemma"
answersobjectrequired

与请求 questions 键一一对应的答案映射:不缺失、不新增,键与请求完全一致。

Empty Object

usageobjectrequired

本次请求的 token 用量。输入 tokens 用于计费,输出 tokens 当前不计费。

POST /systemone 的成功响应(answers 为键到 ChoiceAnswer 的映射)。

modelstringrequired

实际处理本次请求的模型。

Example"diffusiongemma"
answersobjectrequired

与请求 questions 键一一对应的答案映射:不缺失、不新增,键与请求完全一致。

Empty Object

usageobjectrequired

本次请求的 token 用量。输入 tokens 用于计费,输出 tokens 当前不计费。

POST /systemone 的成功响应(answers 为键到 ScoreAnswer 的映射)。

modelstringrequired

实际处理本次请求的模型。

Example"diffusiongemma"
answersobjectrequired

与请求 questions 键一一对应的答案映射:不缺失、不新增,键与请求完全一致。

Empty Object

usageobjectrequired

本次请求的 token 用量。输入 tokens 用于计费,输出 tokens 当前不计费。

curl --request POST \
  --url https://api.siliconflow.cn/v1/systemone \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ***" \
  -d '{
    "model": "diffusiongemma",
    "state": "我的提现已经连续三天失败了,客服一直没回复,麻烦尽快处理!",
    "questions": {
      "is_urgent": {
        "type": "noul",
        "instructions": "这条内容是否表达了紧迫性?"
      }
    }
  }'
curl --request POST \
  --url https://api.siliconflow.cn/v1/systemone \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ***" \
  -d '{
    "model": "diffusiongemma",
    "state": "我的提现已经连续三天失败了,客服一直没回复,麻烦尽快处理!",
    "questions": {
      "department": {
        "type": "choice",
        "instructions": "应该由哪个团队处理?",
        "criteria": {
          "billing": "账单、发票、退款相关问题",
          "technical": "故障、集成相关问题",
          "support": "服务态度、响应时效相关问题"
        }
      }
    }
  }'
curl --request POST \
  --url https://api.siliconflow.cn/v1/systemone \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ***" \
  -d '{
    "model": "diffusiongemma",
    "state": "我的提现已经连续三天失败了,客服一直没回复,麻烦尽快处理!",
    "questions": {
      "frustration": {
        "type": "score",
        "instructions": "客户的不满程度如何?",
        "criteria": ["平静", "略有不满", "明显不满", "非常愤怒"]
      }
    }
  }'
from typesafe_sdk import Choice, Noul, Score, TypeSafeClient

# 接入 SiliconFlow:base_url 指向平台端点(SDK 会在其后拼接 /v1/systemone)。
# API Key 从环境变量 TYPESAFE_API_KEY 读取,或通过 api_key 参数传入。
with TypeSafeClient(
    base_url="https://api.siliconflow.cn",
    model="diffusiongemma",
) as client:
    result = client.system_one(
        "我的提现已经连续三天失败了,客服一直没回复,麻烦尽快处理!",
        {
            "is_urgent": Noul(instructions="这条内容是否表达了紧迫性?"),
            "department": Choice(
                instructions="应该由哪个团队处理?",
                criteria={
                    "billing": "账单、发票、退款相关问题",
                    "technical": "故障、集成相关问题",
                    "support": "服务态度、响应时效相关问题",
                },
            ),
            "frustration": Score(
                instructions="客户的不满程度如何?",
                criteria=["平静", "略有不满", "明显不满", "非常愤怒"],
            ),
        },
    )

print(result.nouls["is_urgent"].noul)
print(result.choices["department"].choice)
print(result.scores["frustration"].score
{
  "model": "diffusiongemma",
  "answers": {
    "property1": {
      "type": "noul",
      "noul": 0.92
    },
    "property2": {
      "type": "noul",
      "noul": 0.92
    }
  },
  "usage": {
    "input_tokens": 296,
    "output_tokens": 20
  }
}
{
  "code": 20012,
  "message": "string",
  "data": "string"
}
"Invalid token"
"Forbidden"
"404 page not found"
{
  "message": "Request was rejected due to rate limiting. If you want more, please contact contact@siliconflow.cn. Details:TPM limit reached.",
  "data": "string"
}
{
  "code": 50505,
  "message": "Model service overloaded. Please try again later.",
  "data": "string"
}
"string"