TypeLLM
⚠️ Por que não é um modelo
Camada de constrained decoding sobre LLMs autoregressivos existentes — não muda arquitetura nem pesos.
Especificações técnicas
- LLMs base
- Qwen3.8-27B, Qwen3.5-0.8B, Qwen3.5-4B, Qwen3.5-9B, MiniCPM5-1B, Ling-mini-2.0, Ring-mini-2.0
- Tipos de decisão
- choice, boolean, integer, number, string
- Features
- sglang, thinking-mode, image-input, dag-execution, permutation-averaging, kv-prefix-reuse, hosted-api, playground
- Licença
- Apache-2.0
Score no JevBench
JevBench: 195/231 (sem thinking), 228/231 (com thinking)[Reportado pelo autor — não verificado independentemente]Links
TypeLLM traz geração type-safe para LLMs autoregressivos existentes sem mudar arquitetura ou pesos. Construído sobre SGLang, força modelos a produzirem outputs com schema garantido via JSON Schema.
Como funciona
TypeLLM usa constrained decoding para garantir que outputs batam com um schema definido:
- Você fornece contexto + perguntas tipadas (JSON Schema)
- TypeLLM restringe a geração do modelo a valores válidos
- Retorna resultados tipados:
string,integer,number,boolean,enum
Diferente do Jev (que é não-autoregressivo), TypeLLM mantém a geração autoregressiva do LLM base mas restringe o espaço de output.
Por que não é um modelo
TypeLLM declara explicitamente: “traz geração type-safe para LLMs autoregressivos existentes sem mudar arquitetura ou pesos.”
É uma camada de runtime que:
- Não treina novos pesos
- Não modifica o modelo base
- Usa constrained decoding em tempo de inferência
Features principais
- Modo thinking: Raciocínio opcional antes da resposta restrita
- Input de imagem: Suporte a vision-language models (testado com Qwen3.8-27B)
- Execução DAG: Execução de campos com dependência via
depends_on - Permutation averaging: Reduz viés de ordem de opções em perguntas enum
- Reuso de prefixo KV: Cache de contexto compartilhado para eficiência
Serviço hospedado (29/09/2026)
O TypeLLM agora também roda como serviço hospedado. “Not another Jev”, postou o time em 29 de setembro, às 11:00 BRT.
- Playground: aberto a todos, com US$ 5 de crédito para usuários novos.
- API: “rolling out to early-access users in the coming days”. A chave é criada no dashboard com um código de acesso. Endpoint
POST https://api.typellm.ai/v1/generate; cliente Pythonpip install -U typellm. O caminho self-hosted com SGLang continua documentado. - Tipos de saída: string, integer, number, boolean e enum, além de input de imagem, campos dependentes (
depends_on) e thinking por pergunta.
| Preço (typellm.ai, 30/09/2026) | Valor |
|---|---|
| Tokens de input (contexto, perguntas em JSON, imagens) | US$ 0,05 / M |
Tokens de thinking (só em perguntas com "thinking": true) |
US$ 0,50 / M |
| Saídas tipadas | Grátis |
| Usuários novos | US$ 5 de crédito |
A página de preços não diz qual modelo base a API hospedada serve. O benchmark do site usa o Qwen3.8-27B. Há um plano enterprise (deploy privado, capacidade dedicada) sob consulta.
Continua em (NOT)Models: ter API hospedada não muda o fato de que o TypeLLM é constrained decoding sobre LLMs existentes, sem pesos de decisão próprios. Ver news.
Resultados no JevBench
O TypeLLM reporta 195/231 (84,42%) sem thinking e 228/231 (98,70%) com thinking nas 231 tarefas públicas do JevBench, usando o Qwen3.8-27B. A mesma tabela no typellm.ai traz o Jev 1.13.0 com 86,58%, o Open-Jev 27B v1.1 com 85,28% e dois modelos sem saída type-safe: GPT-5.6 Luna (none) com 89,18% e GPT-6 Astra (low) com 100%. São números reportados pelo autor (UnverifiedClaim).
Comparação com Jev
O README do TypeLLM inclui comparação direta:
| Feature | TypeLLM | Jev |
|---|---|---|
| Rubric scoring | Enum numérico (sem API Score dedicada) | Score |
| Modo thinking | ✓ | — |
| Input de imagem | ✓ | Não documentado |
| Execução DAG | ✓ | — |
