Saltar al contenido
SONOEDocs
EnglishENConsola

Choice

Un Choice elige una opción de un conjunto que tú defines. La respuesta es la opción más probable, una probabilidad para cada opción y una confianza.

Solicitud

type"choice"requerido
instructionsstring | object | arrayopcional

Qué decidir. Si no la mandas, Sonoe pregunta qué opción encaja mejor.

criteriamap<string, string | object | array | null>requerido

Las opciones: cada clave es un nombre de opción que tú eliges y cada valor, su descripción (o null). De 2 a 255 opciones.

{
  "model": "sonoe-latest",
  "state": "mi paquete nunca llegó, ¿dónde está?",
  "questions": {
    "equipo": {
      "type": "choice",
      "instructions": "¿Qué equipo debe atender esto?",
      "criteria": {
        "facturacion": "Pagos, cobros, reembolsos",
        "envios": "Entregas, paquetes y rastreo",
        "tecnico": "Errores, la app o la página",
        "otro": "Ninguno de estos"
      }
    }
  }
}

Respuesta

type"choice"requerido
choicestringrequerido
La opción con la probabilidad más alta, con el nombre que le diste.
probabilitiesmap<string, number>requerido
Cada opción y su probabilidad. Suman 1.
confidencenumberrequerido
Qué tan seguro está Sonoe, de 0 a 1. Mira Confianza.
{
  "model": "sonoe-1.1.0",
  "answers": {
    "equipo": {
      "type": "choice",
      "choice": "envios",
      "probabilities": { "facturacion": 0.0023, "envios": 0.979, "tecnico": 0.0076, "otro": 0.0112 },
      "confidence": 0.912
    }
  },
  "usage": { "input_tokens": 171, "output_tokens": 0 }
}

Cómo se leen las opciones

Cada opción se lee por separado junto con el estado y la pregunta, y recibe una puntuación. Luego las puntuaciones se vuelven probabilidades entre las opciones. Dos consecuencias:

  • El orden no importa. La primera opción no tiene ventaja sobre la última.
  • Cada opción cuesta tokens. Un Choice de 10 opciones lee el estado y la pregunta 10 veces. Deja solo las opciones que importan.

Consejos

  • Describe cada opción. Una descripción corta ("envios": "Entregas, paquetes y rastreo") acierta más que null, sobre todo cuando los nombres de las opciones son códigos o jerga.
  • Deja una salida. Si puede que ninguna opción encaje, incluye una como "otro": "Ninguno de estos". Si no, Sonoe tiene que elegir algo.
  • Fíjate en la confianza. Con una redacción vaga, la mejor opción puede estar mal. En inglés, «What does the customer need?» con las opciones track_order, refund, change_address y other eligió change_address para «my package never arrived, where is it?», con una confianza de solo 0.195: una señal clara de no actuar sobre esa respuesta.
  • Mantén estables los nombres de las opciones. Tu código depende de ellos; lo que ajustas son las descripciones.