Estado
Qué es el estado, cómo estructurarlo y cómo dar a un modelo System One el contexto que necesita.
El estado es el contenido que le pides a un modelo System One que evalúe. Puede ser un mensaje de soporte, un pasaje de texto o el estado actual de tu aplicación. Lo pasas en el campo state de una solicitud a la API, junto con las preguntas que quieres que responda.
Cada solicitud evalúa un estado contra una o más preguntas. Todas las preguntas ven el mismo estado y se evalúan de forma independiente. Puedes combinar preguntas Choice, Score y Noul en una sola solicitud.
El estado puede ser una cadena simple o un valor JSON estructurado
El estado más simple es una cadena simple:
state = "My card was charged twice."
El estado también puede ser un objeto o un array JSON con contexto relacionado, ejemplos y otra información que ayude al modelo a responder las preguntas asociadas. Piensa en el estado como el material que presentarías ante un panel de expertos antes de pedirles que emitan un juicio. En Python, pasa la cadena, el diccionario o la lista correspondiente directamente a client.system_one(state=...).
| Formato | Útil para | Ejemplo |
|---|---|---|
| Cadena | Un mensaje, un artículo o un pasaje | "My card was charged twice." |
| Objeto | Campos con nombre, registros relacionados o estado de la aplicación | {"message": "My card was charged twice.", "order_id": "A-104"} |
| Array | Una secuencia de mensajes o registros | ["Hi", "My customer number is TS1337.", "My card was charged twice."] |
Usa un objeto para la mayoría de las solicitudes, de modo que cada parte del estado tenga un nombre descriptivo y sus relaciones sigan siendo claras. Una cadena es adecuada cuando el caso de uso es simple y solo requiere un fragmento de texto.
Una conversación de soporte como estado
{
"ticket": {
"subject": "Duplicate charge",
"messages": [
{"from": "customer", "text": "I was charged twice for order A-104. Please refund the duplicate."},
{"from": "support", "text": "We are checking the charges."}
]
},
"order": {
"id": "A-104",
"charges": [
{"amount_usd": 49, "status": "captured"},
{"amount_usd": 49, "status": "captured"}
]
},
"refund_policy": "Duplicate charges are eligible for a refund."
}
Este objeto es un solo estado, aunque contenga una conversación, un pedido y una política. Reúne la información relacionada cuando la decisión requiera comparar esas partes.
Separar el contenido de las preguntas
El estado contiene el contenido y los hechos de apoyo. Las preguntas definen los juicios que el modelo debe emitir sobre ese material. Por ejemplo, mantén la solicitud de reembolso y la política en el estado, y luego pregunta si el cliente pidió un reembolso y si la política lo admite.
Consulta Primitivas (preguntas) para orientarte sobre las instrucciones, los criterios, los tipos de pregunta y cómo hacer varias preguntas sobre un mismo estado.
Consulta la referencia de la API para ver el esquema de la solicitud y los SDK de cliente para la instalación, las entradas tipadas y el manejo de respuestas.