Referência da API do modelo de decisão
Chame POST /compatível-mode/v1/systemone para usar o QwenCloud modelo de decisão (decisão-modelo-visualização), que retorna classificação, pontuação e decisões sim/não com distribuições de probabilidade completas e confiança em uma única passagem para frente, sem gerar texto.
Pré-requisitos
Você criou uma chave de API e a configurou como variável de ambiente DASHSCOPE_API_KEY. Consulte Configurar uma chave de API como uma variável de ambiente.
Solicitação
Protocolo: TypeSafe Sistema Um (POST /compatible-mode/v1/systemone)
Uma única solicitação carrega um negócio state e várias perguntas digitadas (choice / noul / score). O modelo retorna o resultado da decisão e a distribuição de probabilidade para cada questão em uma única passagem direta, com choice e score além disso, retornando a confiança, sem gerar texto, portanto, a latência e o custo são independentes do comprimento da saída.
decision-model-preview não oferece suporte a streaming, chamadas de função, pesquisa na web ou saída estruturada. A saída do modelo é um resultado de decisão estruturado (distribuições de probabilidade e confiança), não um texto gerado.
OpenAPI
openapi: 3.1.0
info:
title: Decision Model API
description: Call POST /compatible-mode/v1/systemone to use the QwenCloud decision model (decision-model-preview), which returns classification, scoring, and yes/no decisions with full probability distributions and confidence in a single forward pass, without generating text. Suitable for high-frequency structured decisions such as ticket routing, content moderation, agent routing, and result verification.
version: 1.0.0
servers:
- url: https://maas.qwencloudapi.com
description: Singapore
security:
- BearerAuth: []
paths:
/compatible-mode/v1/systemone:
post:
summary: Decision model inference
description: |-
A single request carries the business `state` and several typed questions (`choice` / `noul` / `score`). The model returns the decision result and probability distribution for each question in one forward pass, with `choice` and `score` additionally returning confidence, and **does not generate text**, so latency and cost are independent of output length.
**Limits and recommendations**
- No hard limit on the number of questions (recommended: ≤ 16; latency grows near-linearly with the number of questions).
- `choice` options: ≤ 255.
- `score` levels: 2–255 (3–7 recommended).
- Context: maximum 65536 tokens; overlong `state` is rejected or truncated.
operationId: decisionModelSystemOne
tags:
- Decision Model
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/DecisionModelRequest"
responses:
"200":
description: Decision result returned successfully
content:
application/json:
schema:
$ref: "#/components/schemas/DecisionModelResponse"
examples:
Ticket routing:
value:
model: decision-model-preview
request_id: 7b986c65-b223-9341-b5f0-b988e27ecaac
answers:
department:
type: choice
choice: billing
confidence: 0.88
probabilities:
billing: 0.94
technical: 0.06
escalate:
type: noul
noul: 0.99
severity:
type: score
score: 2.25
confidence: 0.91
legend:
"0": Minor issue, no functional impact
"1": Some features affected, workaround available
"2": Core feature unavailable, no workaround
"3": Severe business or security impact
probabilities:
"0": 0
"1": 0.01
"2": 0.73
"3": 0.26
usage:
input_tokens: 125
latency_ms: 52.9
"400":
description: Invalid request parameters
x-codeSamples:
- lang: curl
source: |-
curl -sS -X POST https://maas.qwencloudapi.com/compatible-mode/v1/systemone \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "decision-model-preview",
"state": {"ticket_id": "T-1001", "content": "Payment not received 24 hours after order, user unable to use core service."},
"questions": {
"department": {"type": "choice", "instructions": "Which team should handle this?",
"criteria": {"billing": "Payment, refund and billing issues", "technical": "Product faults and integration issues"}},
"escalate": {"type": "noul", "instructions": "Should on-call staff be notified immediately?"},
"severity": {"type": "score", "instructions": "How severe is this issue?",
"criteria": ["Minor issue, no functional impact", "Some features affected, workaround available",
"Core feature unavailable, no workaround", "Severe business or security impact"]}
}
}'
- lang: Python
source: |-
import os
from typesafe_sdk import TypeSafeClient
client = TypeSafeClient(
api_key=os.environ["DASHSCOPE_API_KEY"],
base_url="https://maas.qwencloudapi.com/compatible-mode",
)
result = client.system_one(
model="decision-model-preview",
state={"ticket_id": "T-1001", "content": "More than 24 hours after payment, the order has not been credited."},
questions={
"department": {"type": "choice", "instructions": "Which team should handle this?",
"criteria": {"billing": "Payment, refund, and billing issues", "technical": "Product failure and integration issues"}},
"escalate": {"type": "noul", "instructions": "Should on-call staff be notified immediately?"},
"severity": {"type": "score", "instructions": "How severe is this issue?",
"criteria": ["Minor issue, no impact on functionality", "Some functionality affected, but a workaround exists",
"Core functionality unavailable, no workaround", "Severe business or security impact"]},
},
)
print(result.answers["department"]) # choice, confidence, probabilities
print(result.answers["escalate"]) # noul P(yes)
print(result.answers["severity"]) # score, legend, probabilities
components:
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: QwenCloud API key, in the format `Bearer $DASHSCOPE_API_KEY`. See [Get an API key](/api-reference/preparation/api-key).
schemas:
DecisionModelRequest:
type: object
required:
- model
- state
- questions
properties:
model:
type: string
description: "Model name: `decision-model-preview`."
enum:
- decision-model-preview
state:
oneOf:
- title: Text
type: string
description: Business text passed directly, such as a ticket, comment, or conversation snippet.
- title: Structured object
type: object
description: A structured business object; serialized before being sent to the model.
- title: Array
type: array
description: An array (e.g. a multi-turn message list); serialized before being sent to the model.
description: "The business state to make decisions on: ticket text, a conversation, or a structured object (objects are serialized before being sent to the model)."
questions:
type: object
description: A map of questions. The key is a caller-defined question id; the value is a question object with the following fields.
properties:
type:
type: string
description: |-
Question type:
- `choice`: single choice
- `noul`: yes/no
- `score`: ordinal scale
enum:
- choice
- noul
- score
instructions:
type: string
description: Question description or judgment criteria.
criteria:
description: |-
- `choice`: a map of option name → option description (1–255 items; providing all options and an `other` fallback is recommended).
- `noul`: optional `{"true":…, "false":…}` descriptions.
- `score`: an array of level descriptions from low to high (2–10 levels; 3–7 clearly distinguishable levels recommended).
oneOf:
- type: object
title: choice option map
description: "For `choice`: a map of option name → option description."
additionalProperties:
type: string
description: Option description.
- type: array
title: score level array
description: "For `score`: an array of level descriptions from low to high."
items:
type: string
description: Level description, from low to high.
- type: object
title: noul descriptions
description: "For `noul`: optional yes / no descriptions."
properties:
"true":
type: string
description: Description for the "yes" outcome.
"false":
type: string
description: Description for the "no" outcome.
DecisionModelResponse:
type: object
properties:
model:
type: string
description: Model name echoed back.
request_id:
type: string
description: Request ID, for troubleshooting.
answers:
type: object
description: A map of answers. The key corresponds to the question id in the request; the value is an answer object with the following fields.
properties:
type:
type: string
description: Matches the question type (`choice` / `noul` / `score`).
enum:
- choice
- noul
- score
choice:
type: string
description: "For `choice`: the selected option name."
noul:
type: number
description: "For `noul`: P(yes), where 0 = no and 1 = yes."
score:
type: number
description: "For `score`: the probability-weighted expectation of the level index, which can fall between two levels (e.g. `1.43`)."
probabilities:
type: object
description: The probability of each option / level (sums to 1).
additionalProperties:
type: number
description: Probability value.
confidence:
type: number
description: The confidence of the answer (returned for `choice` / `score`).
legend:
type: object
description: "For `score`: a map of level index → level description."
additionalProperties:
type: string
description: Level description.
usage:
type: object
description: Metering information.
properties:
input_tokens:
type: integer
description: Number of input tokens.
latency_ms:
type: number
description: Server-side latency (milliseconds).