Jev da TypeSafe: o que é um modelo de decisão e como usá-lo (Noul, Choice e Score)

O Jev não escreve texto: avalia um estado contra perguntas tipadas e devolve probabilidades calibradas. Como se chama, como converter a sua resposta em uma ação, quanto custa frente a um LLM e quando convém usá-lo.

Neste artigo
Em 30 segundos

O Jev responde perguntas tipadas (sim/não, escolher uma opção, pontuar em uma escala) com probabilidades e confiança, a $0,042 por milhão de tokens de entrada e sem cobrar a saída; serve para classificar e rotear, não para gerar texto, e convém medi-lo em sombra antes de deixá-lo decidir.

1. O que é o Jev#

O Jev é o modelo da TypeSafe que a documentação da Cloudflare descreve como um modelo de avaliação estruturada: recebe um estado (um texto ou um objeto) e o avalia contra perguntas tipadas, devolvendo respostas calibradas com probabilidades e confiança. Não gera texto livre. É oferecido no Workers AI como typesafe/jev e, segundo guias de terceiros, também por outros provedores.

As perguntas são de três tipos, que podem ser combinados em uma única chamada.

TipoO que respondeO que devolve
noulUma afirmação de sim ou nãoProbabilidade de ser verdadeira (0 a 1)
choiceQual de várias opções rotuladasA opção escolhida, a sua confiança e a probabilidade de cada uma
scoreOnde cai em uma escala ordenadaUma pontuação, a sua confiança, a legenda de níveis e a probabilidade de cada nível

A utilidade prática é colocar uma decisão tipada no fluxo de uma aplicação: a que equipe vai um ticket, se uma mensagem é urgente, se um texto tenta uma injeção de instruções. Em vez de pedir a um modelo de linguagem que redija uma resposta e depois interpretar o texto, você recebe números que pode comparar com um limiar.

Documentação: Cloudflare: Jev (typesafe/jev) ↗

2. Como se faz a chamada#

A requisição leva o estado e um objeto de perguntas, cada uma com o seu tipo, instruções e critérios. O código monta exatamente a requisição de exemplo da documentação da Cloudflare (no Workers AI vai para env.AI.run com o modelo typesafe/jev; pela API REST vai dentro do campo input).

python
import json

solicitacao = {
    "state": "Help! My payouts have been failing for 3 days.",
    "questions": {
        "is_urgent": {"type": "noul", "instructions": "Does this convey urgency?",
                      "criteria": {"true": "Explicitly time-sensitive", "false": "No urgency expressed"}},
        "department": {"type": "choice", "instructions": "Which team should handle this?",
                       "criteria": {"billing": "Payments, invoicing, refunds",
                                    "technical": "Bugs, outages, integrations",
                                    "sales": "Pricing, upgrades, new accounts"}},
        "frustration": {"type": "score", "instructions": "How frustrated is the customer?",
                        "criteria": ["Calm", "Frustrated", "Very angry"]},
    },
}

corpo = json.dumps({"model": "typesafe/jev", "input": solicitacao})
print(sorted(solicitacao["questions"]), len(corpo) > 0)
Monta a requisição da documentação sem chamar nenhum serviço, porque a chamada real exige uma conta. Imprime os nomes das três perguntas.

A resposta traz, para cada pergunta, o seu tipo e os números: um noul de 0,95, uma opção escolhida com confiança 0,8 e uma pontuação de 1,04 sobre a legenda de níveis, além do modelo usado e dos tokens consumidos.

3. Da resposta a uma decisão#

Uma probabilidade não é uma decisão até que você defina o que fazer com ela. A função aplica um limiar de confiança: se a confiança da opção escolhida não o alcança, o caso passa para uma pessoa. A pontuação é arredondada ao nível mais próximo da legenda. Testa-se com a resposta de exemplo da documentação.

python
import json

# Resposta de exemplo da documentação da Cloudflare para typesafe/jev
RESPOSTA = json.loads("""
{"model": "jev-1.13.0",
 "answers": {
  "is_urgent": {"type": "noul", "noul": 0.95},
  "department": {"type": "choice", "choice": "billing", "confidence": 0.8,
                 "probabilities": {"billing": 0.87, "sales": 0, "technical": 0.13}},
  "frustration": {"type": "score", "score": 1.04, "confidence": 0.94,
                  "legend": {"0": "Calm", "1": "Frustrated", "2": "Very angry"},
                  "probabilities": {"0": 0, "1": 0.96, "2": 0.04}}},
 "usage": {"input_tokens": 426, "output_tokens": 73}}
""")

def decidir(resposta, umbral=0.7):
    """Converte as respostas calibradas em uma ação; se a confiança é baixa, passa para uma pessoa."""
    a = resposta["answers"]
    setor = a["department"]
    return {
        "urgente": a["is_urgent"]["noul"] >= 0.5,
        "equipe": setor["choice"] if setor["confidence"] >= umbral else "revisao_humana",
        "tom": a["frustration"]["legend"][str(round(a["frustration"]["score"]))],
        "versao_modelo": resposta["model"],
    }

print(decidir(RESPOSTA))
print(decidir(RESPOSTA, umbral=0.9)["equipe"])
Com o limiar 0,7 roteia para billing, marca urgente e tom Frustrated; com 0,9 a confiança de 0,8 não alcança e devolve revisao_humana.

4. Quanto custa frente a um LLM#

A tabela resume os dados da ficha do Jev na Cloudflare. A saída não é cobrada: só conta a entrada.

DadoValor
Identificador no Workers AItypesafe/jev
Versão na resposta de exemplojev-1.13.0
Janela de contexto32.000 tokens
Entrada$0,042 por milhão de tokens
Saída$0,00
Entrada em cache$0,00
Retenção de dadosZero, segundo a documentação

Com os tokens da resposta de exemplo (426 de entrada e 73 de saída), um milhão de requisições custa cerca de $17,89 com o Jev. Fazer a mesma classificação com um modelo de linguagem à tarifa introdutória do Gemini 4 Argon ($2 de entrada e $10 de saída por milhão) custaria cerca de $1.582 por milhão de requisições, 88 vezes mais. Em pesos, com a TRM de 17 de outubro de 2026: COP 56,801 contra COP 5,022,328.

python
from decimal import Decimal as D

TOKENS_ENTRADA, TOKENS_SALIDA = 426, 73        # "usage" da resposta de exemplo da documentação
JEV_ENTRADA = D("0.042")                       # USD por milhão de tokens de entrada; a saída custa 0
ARGON = (D("2"), D("10"))                      # Gemini 4 Argon, tarifa introdutória até 30 nov 2026
TRM = D("3174.67")                             # TRM de 17 out 2026

milhao = D(1_000_000)
jev = D(TOKENS_ENTRADA) * JEV_ENTRADA / milhao * milhao                      # USD por milhão de solicitações
llm = (D(TOKENS_ENTRADA) * ARGON[0] + D(TOKENS_SALIDA) * ARGON[1]) / milhao * milhao

print(f"Jev: ${jev:,.2f} | LLM: ${llm:,.2f} por milhão de solicitações | {llm / jev:.0f} vezes")
print(f"Em pesos: COP {jev * TRM:,.0f} vs COP {llm * TRM:,.0f}")
Calcula ambos os custos com os tokens e tarifas indicados. É uma comparação de preço por token, não de qualidade: um LLM pode precisar de mais ou menos tokens, e a sua resposta não é uma probabilidade calibrada.

Para se aprofundarPreços das APIs de IA em outubro de 2026: quanto custa cada modelo

Documentação: OpenRouter: o que é o Jev (inglês) ↗ · DataCamp: Jev, o modelo System One (inglês) ↗ · LangChain: o que é o Jev (inglês) ↗

5. Quando usá-lo e quando não#

  • Serve para classificar, rotear, filtrar e pontuar com alto volume e baixa latência.
  • Serve para decisões que precisam de uma probabilidade que você possa comparar com um limiar e auditar.
  • Não serve para redigir, resumir nem conversar: não gera texto.
  • Tem uma janela de 32.000 tokens: um documento longo precisa ser cortado antes.
  • É um modelo de um terceiro: revise que dados envia e os seus termos antes de mandar informação sensível.

Os guias de terceiros destacam que o Jev nunca alucina e que é muito mais rápido e barato que um LLM. São afirmações da empresa ou de conteúdo próximo a ela: teste-as com os seus próprios dados antes de se apoiar nelas.

6. Como adotá-lo sem risco#

  • Comece em modo sombra: deixe o Jev decidir em paralelo e compare com a sua decisão atual antes de aplicá-la.
  • Meça a concordância e, sobretudo, as discordâncias: ali se vê se as descrições das suas opções são claras.
  • Escreva critérios distintos e específicos para cada opção; a qualidade do roteamento depende deles.
  • Defina um limiar de confiança e uma saída para uma pessoa para o que não o alcançar.
  • Registre a versão do modelo que cada resposta devolve, porque pode mudar.
  • Revise na documentação do seu provedor o endpoint e o nome do modelo: os guias de terceiros citam outros diferentes (jev-1.14, jev-latest).

Para se aprofundarModelos de decisão: Jev, Microsoft-Decision-1 e a Decisions API da OpenAI

Fontes e escopo

Documentação consultada em 18 de outubro de 2026. Os exemplos e critérios de decisão são propostas editoriais; adapte-os ao contrato da sua aplicação e valide-os no seu ambiente de testes autorizado.

Compare estas opções

Compare modelos de IA

Confira preços, limites, condições e fontes de cada opção.

Abrir comparador
Consultoria

Seu caso é diferente?

Conte seu contexto e as opções que você está avaliando. Respondemos com critérios e fontes, sem assinaturas automáticas.

Pedir consultoria