Estado
O que é o estado, como estruturá-lo e como dar a um modelo System One o contexto de que precisa.
O estado é o conteúdo que pedes a um modelo System One para avaliar. Pode ser uma mensagem de suporte, um trecho de texto ou o estado atual da tua aplicação. Podes passá-lo no campo state de um pedido à API, juntamente com as perguntas que pretendes ver respondidas.
Cada pedido avalia um estado em relação a uma ou mais perguntas. Todas as perguntas veem o mesmo estado e são avaliadas de forma independente. Podes misturar perguntas Choice, Score e Noul num único pedido.
O estado pode ser uma string simples ou um valor JSON estruturado
O estado mais simples é uma string simples:
state = "My card was charged twice."
O estado também pode ser um objeto ou array JSON com contexto relacionado, exemplos e outras informações que ajudam o modelo a responder às perguntas associadas. Vê o estado como o material que apresentarias a um painel de especialistas antes de lhes pedir um julgamento. Em Python, passa a string, o dicionário ou a lista correspondente diretamente para client.system_one(state=...).
| Formato | Útil para | Exemplo |
|---|---|---|
| String | Uma mensagem, um artigo ou um trecho | "My card was charged twice." |
| Objeto | Campos nomeados, registos relacionados ou estado da aplicação | {"message": "My card was charged twice.", "order_id": "A-104"} |
| Array | Uma sequência de mensagens ou registos | ["Hi", "My customer number is TS1337.", "My card was charged twice."] |
Usa um objeto na maioria dos pedidos, para que cada parte do estado tenha um nome descritivo e as suas relações continuem claras. Uma string é adequada quando o caso de uso é simples e exige apenas um trecho de texto.
Uma conversa de suporte 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 é um único estado, embora contenha uma conversa, um pedido e uma política. Junta as informações relacionadas quando a decisão exigir comparar essas partes.
Separar o conteúdo das perguntas
O estado contém o conteúdo e os factos que o sustentam. As perguntas definem os julgamentos que o modelo deve emitir sobre esse material. Por exemplo, mantém o pedido de reembolso e a política no estado e depois pergunta se o cliente pediu um reembolso e se a política o sustenta.
Vê Primitivas (perguntas) para orientações sobre instruções, critérios, tipos de pergunta e como fazer várias perguntas sobre um mesmo estado.
Vê a referência da API para o esquema do pedido e os SDKs de cliente para instalação, entradas tipadas e tratamento das respostas.