Tous les produits
Search
Centre de documentation

Alibaba Cloud Model Studio:API du modèle de décision

Dernière mise à jour :Oct 16, 2026

Appelez POST /compatible-mode/v1/systemone pour utiliser le modèle de décision Bailian (decision-model-preview), qui renvoie des classifications, des scores et des décisions oui/non avec des distributions complètes de probabilités et des niveaux de confiance en une seule passe de propagation avant, sans générer de texte. Il convient aux décisions structurées à haute fréquence, telles que le routage des tickets, la modération de contenu, le routage des agents et la vérification des résultats.

Prérequis

Vous avez créé une clé API et l’avez définie dans la variable d’environnement DASHSCOPE_API_KEY. Pour plus d’informations, consultez Configurer une clé API dans les variables d’environnement.

Requête

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

Une requête contient le state métier et plusieurs questions typées (choice / noul / score). Le modèle renvoie le résultat de décision et la distribution de probabilités de chaque question en une passe de propagation avant ; choice et score renvoient également un niveau de confiance. Il ne génère pas de texte : la latence et le coût ne dépendent donc pas de la longueur de sortie.

Point de terminaison

Remplacez {WorkspaceId} par l’ID de votre espace de travail. Consultez Régions et points de terminaison.

Région

Point de terminaison

Singapour

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

Chine (Pékin)

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

Paramètres de requête

Content-Type · String · En-tête · Obligatoire

Type de requête : application/json.

Authorization · String · En-tête · Obligatoire

Clé API, au format : Bearer $DASHSCOPE_API_KEY.

model · String · Corps · Obligatoire

Nom du modèle : decision-model-preview.

state · String / Object / Array · Corps · Obligatoire

L’état métier sur lequel portent les décisions : texte d’un ticket, conversation ou objet structuré (les objets sont sérialisés avant d’être envoyés au modèle).

questions · Object · Corps · Obligatoire

Une table de questions. La clé est un ID de question défini par l’appelant ; la valeur est un objet question contenant les champs suivants.

Propriétés de l’objet question

type · String · Obligatoire

Type de question :

  • choice: choix unique
  • noul: oui/non
  • score: échelle ordinale

instructions · String · Facultatif

Description de la question ou critères de jugement.

criteria · Object / Array · Dépend du type

  • choice: une table nom de l’option → description de l’option (1 à 255 éléments ; il est recommandé de fournir toutes les options et une option de repli other).
  • noul: descriptions facultatives {"true":…, "false":…}.
  • score: un tableau de descriptions des niveaux, du plus bas au plus haut (2 à 10 niveaux ; 3 à 7 niveaux clairement distincts sont recommandés).
Limites et recommandations
  • Aucune limite fixe du nombre de questions (recommandation : ≤ 16 ; la latence augmente de façon quasi linéaire avec le nombre de questions).
  • choice options : ≤ 255.
  • score niveaux : 2 à 255 (3 à 7 recommandés).
  • Contexte : 65536 tokens au maximum ; un state trop long est rejeté ou tronqué.

Exemples de requêtes

Les exemples Python utilisent le SDK TypeSafe (typesafe-sdk), avec base_url pointant vers la passerelle Bailian. Le SDK ajoute automatiquement /v1/systemone et analyse la réponse. Installation : pip install typesafe-sdk.

Routage des tickets

Une requête traite trois décisions à la fois : affectation d’équipe (choice), escalade (noul) et gravité (score). L’exemple ci-dessous utilise la région de Singapour.

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

Décision oui/non

Une question noul renvoie P(yes), où 0 = non et 1 = oui. L’exemple ci-dessous utilise la région de Singapour.

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)

Paramètres de réponse

model · String

Nom du modèle renvoyé.

request_id · String

ID de requête, utilisé pour le dépannage.

answers · Object

Une table de réponses. La clé correspond à l’ID de question dans la requête ; la valeur est un objet réponse contenant les champs suivants.

Propriétés de l’objet réponse

type · String

Correspond au type de question (choice / noul / score).

choice · String

Pour choice : le nom de l’option sélectionnée.

noul · Float

Pour noul : P(yes), où 0 = non et 1 = oui.

score · Float

Pour score : l’espérance de l’indice de niveau pondérée par les probabilités, qui peut se situer entre deux niveaux (par exemple 1.43).

probabilities · Object

La probabilité de chaque option/niveau (la somme est égale à 1).

confidence · Float

Le niveau de confiance de la réponse (renvoyé pour choice / score).

legend · Object

Pour score : une table indice de niveau → description du niveau.

usage · Object

Informations de mesure de l’utilisation :

  • input_tokens (Integer) : nombre de tokens d’entrée.

latency_ms · Float

Latence côté serveur (millisecondes).

Exemple de réponse

Voici la réponse de l’exemple de routage des tickets (abrégée). Les probabilités et le niveau de confiance dépendent du résultat réel.

{
  "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
}

Codes d’erreur

Si l’appel échoue, un message d’erreur est renvoyé. Pour d’autres codes d’erreur et leurs solutions, consultez Messages d’erreur.