Guias principais

Decisões

Obtenha probabilidades, escolhas e pontuações tipadas de um modelo de decisão

POST /v1/systemone avalia um state em relação a perguntas nomeadas e retorna uma resposta tipada por pergunta. A resposta é um JSON síncrono: uma probabilidade, um nome de opção ou uma pontuação que seu código pode comparar e usar para ramificação. Ele não retorna texto gerado.

Decisões ou chat

Use decisões quandoUse chat quando
Seu código precisa de um número ou um rótulo para agirUma pessoa ou outro modelo lê a resposta
Você roteia, classifica ou filtra uma solicitação: reembolso ou não, qual equipe, quão urgenteVocê precisa de explicações, resumos ou rascunhos de texto
Você faz várias perguntas fixas sobre a mesma entrada em uma única chamadaVocê precisa de ferramentas, streaming, imagens ou mensagens de múltiplos turnos

O endpoint de decisão não aceita messages, tools, stream ou outros controles de chat, e não está disponível em Batch. Mantenha seu modelo de chat principal configurado separadamente.

Escolha um modelo

curl "https://api.tokenlab.sh/v1/models?recommended_for=decision" \
  -H "Authorization: Bearer sk-your-api-key"

Você também pode filtrar com category=decision. Leia GET /v1/models/{model} para o modelo selecionado antes de enviar solicitações e envie o ID do modelo explicitamente. Os exemplos nesta página usam jev-1.13.

Formato da solicitação

CampoTipoNotas
modelstringID do modelo de decisão
statestring, objeto JSON ou array JSONA entrada a ser avaliada, como um ticket, uma transcrição ou um registro
questionsobjectPelo menos uma pergunta. Cada chave é o nome da sua pergunta; cada valor possui type, instructions e criteria

instructions e cada critério também aceitam uma string, objeto JSON ou array JSON. A solicitação rejeita campos desconhecidos.

typecriteriaResposta
noulOpcional. Um objeto com orientações para true e falsenoul: uma probabilidade de 0 a 1 de que a afirmação seja verdadeira
choiceObrigatório. Um objeto de 1 a 255 nomes de opções, cada um mapeado para orientação ou nullchoice: um dos nomes das suas opções. Pode incluir probabilities e confidence
scoreObrigatório. Um array ordenado de 2 a 10 descrições de nívelscore: um número de 0 até o último índice do array; pode ser fracionário. Pode incluir legend, probabilities e confidence

Avalie um ticket

curl https://api.tokenlab.sh/v1/systemone \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jev-1.13",
    "state": "I was charged twice. Please refund the duplicate payment.",
    "questions": {
      "refund_requested": {"type": "noul", "instructions": "Is a refund requested?"},
      "department": {
        "type": "choice", "instructions": "Which team should handle this?",
        "criteria": {"refunds": "Charges and refunds", "technical": "Software bugs"}
      },
      "urgency": {
        "type": "score", "instructions": "Rate urgency",
        "criteria": ["Routine enquiry", "Money affected", "Safety emergency"]
      }
    }
  }'

A resposta mantém os nomes das suas perguntas em answers. Os valores abaixo são ilustrativos:

{
  "model": "jev-1.13",
  "answers": {
    "refund_requested": {"type": "noul", "noul": 0.97},
    "department": {"type": "choice", "choice": "refunds"},
    "urgency": {"type": "score", "score": 1}
  },
  "usage": {"input_tokens": 96, "output_tokens": 12}
}

Use as respostas

  • Cada pergunta recebe uma resposta do mesmo type, sob o mesmo nome.
  • Uma resposta noul é uma probabilidade, não um booleano. Escolha seu próprio limite para cada ação.
  • Uma resposta choice é sempre um dos nomes das opções que você enviou.
  • Uma resposta score indexa seu array criteria: 1 acima significa "Money affected".
  • Teste as decisões contra seus próprios casos rotulados antes que elas acionem reembolsos, escalonamentos ou outras ações.

Use a partir do MCP

O servidor MCP do TokenLab expõe evaluate_decisions nos perfis core e full. Chame list_models com {"category":"decision"} e get_model primeiro, depois passe o mesmo model, state e questions como argumentos da ferramenta. Leia structuredContent.answers e structuredContent.usage do resultado. A ferramenta retorna um resultado síncrono e não usa polling de tarefas assíncronas.

Use a partir dos SDKs

O SDK JavaScript do TokenLab 0.1.2+ fornece evaluateDecisions(body); o SDK Python 0.1.2+ fornece evaluate_decisions(body). O corpo é o mesmo JSON da solicitação HTTP. Ambos preservam as respostas tipadas e o uso e não repetem automaticamente uma solicitação falha. Veja SDKs.

Custo e novas tentativas

  • As decisões são cobradas por tokens, a partir de usage.input_tokens e usage.output_tokens na resposta, aos preços atuais de token do modelo.
  • Os preços podem mudar. Leia os detalhes de preços do modelo ou a API de Preços em vez de codificar um preço fixo.
  • Um modelo pode relatar tokens de saída mesmo quando seu preço de saída é zero.
  • As solicitações seguem sua opção de entrega. Veja Faturamento e preços.
  • Um timeout deixa o resultado incerto. Verifique a solicitação em seus logs ou no Console antes de enviar uma solicitação paga novamente.

Erros comuns

SintomaCausa provávelCorreção
400 em um campo como messages ou streamCampos de chat não fazem parte deste endpointEnvie apenas model, state e questions
400 em criteriaUma choice tem 0 ou mais de 255 opções, um score tem menos de 2 ou mais de 10 níveis, ou um objeto noul carece de true ou falseCorrija a definição da pergunta
Ações são disparadas em sinais fracosUma probabilidade noul foi tratada como verdadeira ou falsaCompare com um limite que você testou

Referência da API

TópicoReferência
Avaliar DecisõesAvaliar Decisões
Listar ModelosListar Modelos
PreçosAPI de Preços
Faturamento e PreçosFaturamento e Preços

Nesta página