Eikos

Última atualização:

Aberto23–800ms$0/M input

Notas do quadrante

Ver o quadrante completo

Pontuação pela rubrica pública do quadrante (maturidade × capability; bolha = adoção). Revisamos conforme a evidência.

  • Maturidade5.4/10

    Pesos no HF desde 23/09 (4B, 27B, FP8, INT4, MLX), repo completo com código, dados e avaliação, servidor /v1/systemone compatível com a TypeSafe e sessões para agentes. Ainda sem integração de terceiros; só self-host, sem SLA.

  • Capability7.2/10

    noul / choice / score com calibração documentada (ECE por build, justificativa do T=1, gate de quantização). Toda acurácia vem do harness do próprio autor; a entrada no leaderboard do JevBench segue pendente. Sem latência p50/p99.

  • Adoção25/100

    Post de lançamento em PT-BR com ~374 likes / ~28 mil views; 16 + 11 likes e ~250 downloads nos dois repos principais do HF, ~20 estrelas no GitHub, dataset público. Nenhum uso em produção reportado.

Vendor claims

Eikos é uma família aberta de modelos de decisão tipada do desenvolvedor brasileiro Caio Vicentino (@0xCVYH). Sai em dois tamanhos, 4B e 27B, e mira decisões carregadas de regras em finanças, trading e comércio exterior: aplicar uma regra ou política declarada a um caso e devolver a probabilidade de cada resposta permitida. Não prevê preço.

Os pesos subiram no Hugging Face na noite do próprio dia do anúncio (23/09/2026, entre 20h48 e 20h59 BRT), junto com as builds FP8 e INT4; as builds MLX para Apple Silicon vieram em 24/09. Código, pipeline de dados, receitas de treino e harness de avaliação estão no GitHub, e o conjunto de treino foi publicado como caiovicentino1/eikos-decisions. Esta página dizia “release pendente” até 26/09; a informação estava desatualizada.

O nome vem do grego εἰκός, “o provável”.

Especificações

Atributo Valor
Autor Caio Vicentino (independente) · HF caiovicentino1 · GitHub caiovicentino
Tamanhos Eikos-4B (4,66B parâmetros, base Qwen/Qwen3.5-4B) · Eikos-27B (27,78B parâmetros, base Qwen/Qwen3.8-27B)
Treino LoRA rank 64, uma época, mergeado e exportado como checkpoint completo no layout oficial do Qwen; destilado do GLM-5.3-Flash com itens gerados, programáticos e dossiês longos. O 4B é uma “sopa” de duas receitas
Leitura Formato de prompt do SemIf; logits do próximo token lidos só nas letras das opções (A–Z, depois AA, AB…), softmax com T = 1
Tipos de decisão noul (sim/não), choice, score (ordinal)
Opções Até 160 numa passada no 27B (limite por modelo em decision_config.json); acima disso, torneio
Contexto Treinado com entradas de até 32k tokens (4B) e 12k (27B); teste de contexto longo até 64k; max-model-len padrão do vLLM de 16.384
Idiomas Treinado em inglês e português; espanhol ficou de fora como teste zero-shot
Builds bf16, FP8, INT4 (GPTQ), MLX (4B 8-bit / 4-bit, 27B 4-bit): nove repos no HF
Tamanho em disco 27B: 55,6 GB bf16, 19,4 GB INT4, 15,1 GB MLX 4-bit · 4B: 9,3 GB bf16, 2,4 GB MLX 4-bit
Serving vLLM ≥ 0.30 (versões antigas erram em requests longos em lote), PyTorch/transformers, MLX ou MPS
API serve.py: POST /v1/systemone compatível com a TypeSafe, mais /v1/sessions para sessões de agente com state incremental
Licença MIT para os deltas de fine-tuning e o código; modelos base Qwen em Apache-2.0; dataset CC BY 4.0
Pesos publicados
Status Pesos abertos (Hugging Face)

Como funciona

State, pergunta e opções com letras entram num prompt no estilo do SemIf. O modelo roda uma vez e o servidor lê os logits das letras das opções na posição da resposta, depois aplica um softmax. Todas as perguntas de um request dividem uma única passada sobre o state, graças ao prefix cache do vLLM.

Essa leitura é o mesmo truque que runtimes como o SemIf usam em modelos congelados. A diferença é que o Eikos treina os pesos para isso: cross-entropy suave nos logits das letras contra as probabilidades do professor, com permutação da ordem das opções e uma loss auxiliar de justificativa que fica desligada na inferência. Por isso ele está no catálogo, e não em Runtimes.

Benchmarks do autor

Todos os números vêm do card do Eikos-27B e do README no GitHub. São reportados pelo autor → UnverifiedClaim, medidos com o harness do próprio autor.

Benchmark (harness do autor) Eikos-4B Eikos-27B Jev (referência do autor)
JevBench público, original / difícil 91,7 / 72,1 100,0 / 82,9 98,6 / 73,0
DecisionBench (OOD), médio / difícil 77,1 / 66,9 88,4 / 78,5 89,1 / 69,3
Bateria geral (9 tarefas rotuladas por humanos) 76,0 82,5 84,1
Finanças (CUAD, sentimento financeiro, FinQA-judge) 74,7 85,3 79,9
Regras de comércio, regras inéditas 76,0 88,0 79,4
Postura de banco central (acurácia balanceada) 38,4 44,5 58,6
Decisão escondida em 64k tokens 74,2 88,3 n/d (limite da API: 32k)
RuleArena NBA (acurácia balanceada) 0,50 0,50 —

As builds de release reportam ECE entre 0,021 e 0,043, e cerca de 2–2,7% de erro nas decisões que cada build toma com ≥90% de confiança.

Como ler esses números:

  • JevBench aqui são só os itens públicos, pontuados pelo autor, não o leaderboard oficial. O card diz que a submissão ao leaderboard está pendente.
  • A coluna do Jev foi medida pelo autor pela API do Jev, nas baterias do autor. Não é número da TypeSafe nem rodada independente.
  • As suítes de regras saem da mesma família de geradores usada no treino. O autor avisa isso e aponta “regras de comércio inéditas” e RuleArena como os testes de transferência. No RuleArena os dois tamanhos marcam 0,50: não discriminam.
  • Na bateria geral o Jev ainda leva (84,1 vs 82,5 do 27B), e postura de banco central é uma fraqueza clara dos dois tamanhos.
  • Destilação de professor. Os rótulos vêm do GLM-5.3-Flash no esforço máximo de raciocínio, filtrados por concordância com uma resposta-ouro.

Limitações

  • Benchmarks rodados pelo autor. Código e dados são públicos, então dá para rodar de novo, mas ninguém de fora fez isso ainda.
  • Uma passada, sem raciocínio em várias etapas. Cadeias longas de contas sobre muitas regras ficam fora de alcance; existe um modo “verify” opcional, desligado e fora de qualquer número reportado.
  • Calibração sai com T = 1. O autor viu que toda temperatura ajustada deixava o modelo confiante demais em dados difíceis; reajuste o calib.json com os seus rótulos.
  • Contexto além do treino degrada. O resultado em 64k é um teste; os modelos foram treinados com 32k (4B) e 12k (27B).
  • A versão do vLLM importa. Abaixo da 0.30, requests longos em lote voltam errados nessa arquitetura híbrida (Gated DeltaNet).
  • Pesado para um modelo de decisão. O 27B pede uma GPU parruda; a build MLX 4-bit do 4B (2,4 GB) é a opção de notebook, com ~0,4–0,8 s por decisão num M4.
  • Não é aconselhamento. Aplica as regras que recebe; não conhece a lei vigente da sua jurisdição.

Quando usar / quando não usar

Usar quando precisar: checagem de regras e políticas em casos financeiros (limites de ordem, KYC/PLD, política de crédito, cartas de crédito, IVA/VAT), muitas perguntas sobre um dossiê longo, um servidor self-hosted que fala o contrato da TypeSafe, entradas em português ou inglês, confiança calibrada para usar como gate.

Não usar quando precisar: previsão de preço, contas longas em várias etapas, postura de política monetária, um modelo pequeno para edge, ou SLA hospedado.

Pesos de decisão treinados (fine-tune LoRA mergeado em checkpoints completos), I/O tipado aberto, servidor compatível com a TypeSafe, e código, dados e avaliação publicados. É o primeiro peer focado em finanças do catálogo e, junto com a Julia-1, uma das entradas feitas no Brasil. Próximos passos: uma rodada independente e a entrada oficial no JevBench.