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"requeridoinstructionsstring | object | arrayopcionalQué decidir. Si no la mandas, Sonoe pregunta qué opción encaja mejor.
criteriamap<string, string | object | array | null>requeridoLas 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"requeridochoicestringrequerido- 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 quenull, 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_addressyothereligióchange_addresspara «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.