Saltar al contenido
SONOEDocs
EnglishENConsola

POST /v1/decide

El endpoint nativo de Sonoe. Usa el mismo modelo que /v1/systemone, con los nombres de pregunta propios de Sonoe y dos extras: cada respuesta dice si abstenerse, y puedes fijar el umbral de confianza para eso.

POSThttps://api.sonoeai.com/v1/decide

Cuerpo de la solicitud

statestring | object | arrayrequerido
Aquello sobre lo que se decide. Mira Estado.
questionsmap<string, Question>requerido

De 1 a 64 preguntas, bajo claves que tú eliges.

type"choice" | "scale" | "binary"requerido
askstringrequerido
La pregunta, hasta 2,000 caracteres.
optionsmap<string, string | null>opcional
Solo choice, requerido: de 2 a 256 opciones, cada una con una descripción o null.
levelsarray<string>opcional
Solo scale, requerido: de 2 a 10 niveles distintos, del más bajo al más alto.
min_confidencenumberopcional
Abstenerse por debajo de esta confianza (0 a 1) en esta pregunta.
min_confidencenumber | nullopcional
Abstenerse por debajo de esta confianza en todas las preguntas que no fijen la suya. Si ninguna lo fija, aplica el predeterminado calibrado del modelo para cada tipo. Mira Confianza.
{
  "state": { "canal": "chat", "mensaje": "Me cobraron dos veces y quiero mi dinero de vuelta" },
  "questions": {
    "equipo": {
      "type": "choice",
      "ask": "¿Qué equipo debe atender esto?",
      "options": { "facturacion": "Pagos, cobros, reembolsos", "envios": "Entregas", "ventas": null }
    },
    "urgencia": { "type": "scale", "ask": "¿Qué tan urgente es?", "levels": ["baja", "media", "alta"] },
    "reembolso": { "type": "binary", "ask": "¿Pide un reembolso?" }
  }
}

Respuesta

modelstringrequerido
El modelo que respondió.
answersmap<string, Answer>requerido
type"choice" | "scale" | "binary"requerido
answerstring | booleanrequerido
La opción o el nivel elegido; en binary, true cuando la probabilidad del sí es al menos 0.5.
probabilitiesmap<string, number>opcional
choice y scale: cada opción o nivel y su probabilidad.
probabilitynumberopcional
binary: la probabilidad del sí.
valuenumberopcional
scale: el nivel esperado (0 = el más bajo); puede quedar entre dos.
confidencenumberrequerido
De 0 a 1.
abstainbooleanrequerido
true cuando la confianza está por debajo del umbral: no actúes sobre esta respuesta por sí sola.
msnumberrequerido
Lo que tardó el modelo, en milisegundos.
usageobjectrequerido
tokensintegerrequerido
Tokens leídos (y cobrados) en esta solicitud.
tokens_este_mesintegerrequerido
Tokens usados este mes, incluida esta solicitud.
cuota_mensualintegerrequerido
Tu cuota mensual.
{
  "model": "sonoe-1.1.0",
  "answers": {
    "equipo": {
      "type": "choice",
      "answer": "facturacion",
      "probabilities": { "facturacion": 0.9934, "envios": 0.0039, "ventas": 0.0028 },
      "confidence": 0.9595,
      "abstain": false
    },
    "urgencia": {
      "type": "scale",
      "answer": "alta",
      "value": 1.427,
      "probabilities": { "baja": 0.1169, "media": 0.3393, "alta": 0.5438 },
      "confidence": 0.1363,
      "abstain": true
    },
    "reembolso": { "type": "binary", "answer": true, "probability": 0.9715, "confidence": 0.8132, "abstain": false }
  },
  "ms": 57.8,
  "usage": { "tokens": 357, "tokens_este_mes": 5973, "cuota_mensual": 1000000 }
}

Comparado con /v1/systemone

/v1/systemone/v1/decide
noul → noulbinary → answer, probability, confidence, abstain
choice con criteria → choicechoice con options → answer
score con criteria → score, legendscale con levels → value, answer
instructions (texto, objeto o lista, opcional)ask (texto, requerido)
Sin abstenciónabstain, min_confidence
usage.input_tokensusage.tokens, más el total del mes y tu cuota

Los errores de validación usan la forma de FastAPI: 422 con detail como una lista de { loc, msg, type }. Los demás errores traen detail y error, como en Errores y límites.

Ejemplo

curl https://api.sonoeai.com/v1/decide \
  -H "Authorization: Bearer $SONOE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"state":"lo de la otra vez","questions":{"departamento":{"type":"choice","ask":"¿Qué departamento?","options":{"facturacion":null,"envios":null,"ventas":null}}},"min_confidence":0.5}'