Todos los productos
Search
Centro de documentos

Alibaba Cloud Model Studio:API de Modelo de Decisión

Última actualización: Oct 15, 2026

Llame a POST /compatible-mode/v1/systemone para utilizar el modelo de decisión Bailian (decision-model-preview), que devuelve clasificación, puntuación y decisiones sí/no con distribuciones de probabilidad completas y confianza en una sola pasada hacia adelante, sin generar texto. Adecuado para decisiones estructuradas de alta frecuencia como el enrutamiento de tickets, la moderación de contenido, el enrutamiento de agentes y la verificación de resultados.

Requisitos previos

Ha creado una Clave API y la ha configurado como la variable de entorno DASHSCOPE_API_KEY. Para obtener más información, consulte Configurar una clave API en variables de entorno.

Solicitud

Protocol: TypeSafe System One (POST /compatible-mode/v1/systemone)

Una sola solicitud transporta el state empresarial y varias preguntas tipadas (choice / noul / score). El modelo devuelve el resultado de la decisión y la distribución de probabilidad para cada pregunta en una sola pasada hacia adelante, con choice y score devolviendo adicionalmente la confianza, y no genera texto, por lo que la latencia y el costo son independientes de la longitud de salida.

Endpoint

Reemplace {WorkspaceId} con su ID de espacio de trabajo. Consulte Regiones y endpoints.

Región

Endpoint

Singapur

https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/systemone

China (Beijing)

https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1/systemone

Parámetros de solicitud

Content-Type · String · Encabezado · Obligatorio

Tipo de solicitud: application/json.

Authorization · String · Encabezado · Obligatorio

Clave API, en el formato: Bearer $DASHSCOPE_API_KEY.

model · String · Cuerpo · Obligatorio

Nombre del modelo: decision-model-preview.

state · String / Object / Array · Cuerpo · Obligatorio

El estado empresarial sobre el cual tomar decisiones: texto del ticket, una conversación o un objeto estructurado (los objetos se serializan antes de enviarse al modelo).

questions · Object · Cuerpo · Obligatorio

Un mapa de preguntas. La clave es un id de pregunta definido por el llamante; el valor es un objeto de pregunta con los siguientes campos.

Propiedades del objeto de pregunta

type · String · Obligatorio

Tipo de pregunta:

  • choice: opción única
  • noul: sí/no
  • score: escala ordinal

instructions · String · Opcional

Descripción de la pregunta o criterios de juicio.

criteria · Object / Array · Depende del tipo

  • choice: un mapa de nombre de opción → descripción de opción (1–255 elementos; se recomienda proporcionar todas las opciones y un valor de respaldo other).
  • noul: descripciones opcionales {"true":…, "false":…}.
  • score: un arreglo de descripciones de nivel de bajo a alto (2–255 niveles; se recomiendan 3–7 niveles claramente distinguibles).
Límites y recomendaciones
  • Máximo 16 preguntas (la latencia crece casi linealmente con el número de preguntas).
  • Opciones de choice: ≤ 255.
  • Niveles de score: 2–255 (se recomiendan 3–7).
  • Contexto: máximo 65536 tokens; un state excesivamente largo se rechaza.

Ejemplos de solicitud

Los ejemplos de Python utilizan el SDK TypeSafe (typesafe-sdk) con base_url apuntando a la puerta de enlace Bailian. El SDK agrega automáticamente /v1/systemone y analiza la respuesta. Instalación: pip install typesafe-sdk.

Enrutamiento de tickets

Una sola solicitud maneja tres decisiones a la vez: asignación de equipo (choice), escalación (noul) y gravedad (score). El siguiente ejemplo utiliza la región de Singapur.

curl -sS -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.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": "More than 24 hours after payment, the order has not been credited. The user cannot continue using core services and demands immediate handling."},
    "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"]}
    }
  }'
import os
from typesafe_sdk import TypeSafeClient

client = TypeSafeClient(
    api_key=os.environ["DASHSCOPE_API_KEY"],
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.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

Decisión sí/no

Una pregunta noul devuelve P(sí), donde 0 = no y 1 = sí. El siguiente ejemplo utiliza la región de Singapore.

curl -sS -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/systemone \
  -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "decision-model-preview",
    "state": "Is this comment asking for a refund?",
    "questions": {
      "refund": {"type": "noul", "instructions": "Is the user asking for a refund?"}
    }
  }'
import os
from typesafe_sdk import TypeSafeClient

client = TypeSafeClient(
    api_key=os.environ["DASHSCOPE_API_KEY"],
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode",
)

result = client.system_one(
    model="decision-model-preview",
    state="Is this comment asking for a refund?",
    questions={"refund": {"type": "noul", "instructions": "Is the user asking for a refund?"}},
)

print(result.answers["refund"])   # noul P(yes)

Parámetros de respuesta

model · String

Nombre del modelo devuelto.

request_id · String

ID de solicitud, para solución de problemas.

answers · Object

Un mapa de respuestas. La clave corresponde al id de pregunta en la solicitud; el valor es un objeto de respuesta con los siguientes campos.

Propiedades del objeto de respuesta

type · String

Coincide con el tipo de pregunta (choice / noul / score).

choice · String

Para choice: el nombre de la opción seleccionada.

noul · Float

Para noul: P(sí), donde 0 = no y 1 = sí.

score · Float

Para score: la expectativa ponderada por probabilidad del índice de nivel, que puede situarse entre dos niveles (p. ej., 1.43).

probabilities · Object

La probabilidad de cada opción/nivel (suma 1).

confidence · Float

La confianza de la respuesta (devuelta para choice / score).

legend · Object

Para score: un mapa de índice de nivel → descripción de nivel.

usage · Object

Información de medición:

  • input_tokens (Integer): número de tokens de entrada.

latency_ms · Float

Latencia del lado del servidor (milisegundos).

Ejemplo de respuesta

A continuación se muestra la respuesta para el ejemplo de enrutamiento de tickets (abreviada). Las probabilidades y la confianza dependen del resultado real.

{
  "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 impact on functionality",
        "1": "Some functionality affected, but a workaround exists",
        "2": "Core functionality unavailable, no workaround",
        "3": "Severe business or security impact"
      },
      "probabilities": {"0": 0.0, "1": 0.01, "2": 0.73, "3": 0.26}
    }
  },
  "usage": {"input_tokens": 125},
  "latency_ms": 52.9
}

Códigos de error

Si la llamada falla, se devuelve un mensaje de error. Para más códigos de error y soluciones, consulte Mensajes de error.