O que é Janas?
Janas, de Maurizio Cammalleri, é um conjunto de ferramentas de IA escrito em C, sem dependências além da biblioteca C. Sua parte principal, Janas-LLM, roda modelos de linguagem mixture-of-experts cujos arquivos são maiores que a memória da máquina. Os pesos ficam no disco; os experts de que cada token precisa são lidos de um SSD NVMe, e os que voltam com frequência ficam em um cache de experts que ocupa a RAM livre.
Ele lê seu próprio formato .jns, convertido a partir de arquivos GGUF (Q4_K_M e vários outros tipos de 3 a 5 bits) ou baixado já convertido da conta do projeto no Hugging Face. As famílias suportadas são Qwen3, Qwen3.5, Qwen3.6, Qwen3-Next, Gemma 4 e Llama 3. Em volta do motor há um chat de terminal, o janas-server (uma API HTTP no estilo OpenAI), o janas-mcp (o modelo como ferramentas para clientes MCP) e uma biblioteca C.
O repositório foi criado em 20 de setembro de 2026, tem cerca de 548 estrelas e 44 forks no GitHub e é licenciado sob GPL-3.0 ou posterior. Ele publica versões datadas para Linux e Windows em x86-64, a mais recente v2026.10.30.1, de 30 de outubro. O README o chama de experimento, não de produto.
Janas vale a pena?
Janas é uma tentativa séria e incomumente bem documentada de rodar modelos mixture-of-experts que não cabem na memória, e seus números de destaque ainda devem ser lidos como autodeclarados. A tabela do autor, medida em um notebook (Intel Core Ultra 9 185H, 32 GB de RAM, um disco NVMe lendo cerca de 5,7 GB/s), mostra o Qwen3-Next-80B, um arquivo de 48,4 GB, escrevendo a 26,4 tok/s contra 3,0 do llama.cpp e lendo um prompt a 68,4 contra 17,7. A descrição de uma linha do repositório ainda cita números antigos, 37 tok/s e 2,8 para o llama.cpp em 13 modelos; o README agora lista 17 linhas. Os 37 vêm de rascunhos, o bloco de previsão do próprio modelo adivinhando tokens à frente que o modelo depois confere, e no chat o README indica 31-35 tok/s com o cache aquecido.
O truque é específico de mixtures of experts. O Qwen3-Next ativa cerca de 3B de seus 80B parâmetros por token, então o Janas mantém os experts mais usados em um cache (21 GiB no 80B) e lê o resto do SSD com O_DIRECT, buscando antecipadamente os experts prováveis da próxima camada enquanto a atual calcula. Quando o cache guarda menos de um quinto dos experts, experts leves que não estão na memória são pulados por completo, o que troca um pouco de precisão por velocidade: a concordância com o token mais provável do llama.cpp caiu de 393 para 384 em 400 em uma das execuções do autor. A base de comparação com o llama.cpp também exigiu contornos só para rodar, porque o build habitual ficou sem memória naquele notebook, então parte da diferença mede o apetite de memória do llama.cpp, e não a velocidade bruta.
Há evidência independente, mas parcial. Testadores rodaram o 80B em máquinas com cerca de 31 GiB de RAM a 9,5 a 16,2 tok/s sem rascunhos, o que confirma que funciona. Ninguém reproduziu a comparação de 26,4 contra 3,0. O melhor confronto externo, em um i9-14900HX com 62,5 GiB, achou o llama.cpp mais rápido no Qwen3-30B (38,9 contra 28,3 tok/s), os dois empatados no 80B, que ali cabia na RAM, e o Janas à frente no Qwen3-235B de 142 GB (3,0 contra 1,59). Em um Ryzen 5 5500 sem AVX-VNNI, o llama.cpp leu prompts mais de duas vezes mais rápido.
Os custos aparecem em latência e estabilidade. A primeira resposta de uma sessão sai a 16-20 tok/s enquanto os experts ainda vêm do disco, um prompt de 32.000 tokens levou 15 minutos para ser lido, e o README avisa que o motor pode empurrar um desktop para o swap e uma vez causou um reset do driver de GPU. O suporte a GPU é só Vulkan, e issues abertas relatam saída sem sentido em uma Intel Arc B580 e 3.320 de 3.980 testes de produto em GPU falhando em uma AMD Radeon. O streaming em si é de leitura: segundo o README, o motor só grava em ~/.cache/janas, então o desgaste do SSD não é a preocupação; a largura de banda do disco e o calor são, e o projeto não publica nenhum número de durabilidade.
O maior risco é a governança. Todos os 90 commits são do autor, e o CONTRIBUTING.md diz que nenhum código externo será incorporado até que exista uma fundação sem fins lucrativos para deter os direitos autorais, então pull requests de ARM64, macOS e AVX-512 seguem abertos. Diante do llama.cpp, com suas cerca de 132.000 estrelas e todos os backends de hardware, o Janas é uma ferramenta estreita que vence em uma situação: um modelo mixture-of-experts grande demais para a sua RAM, em x86-64.
Onde ele se destaca
Um desenvolvedor com um notebook Linux ou Windows de 32 GB e um disco NVMe
Rodar o Qwen3-Next-80B ou o Qwen3-Coder-Next localmente em vez de um modelo de 30B
Baixar a versão, rodar o janas-get para buscar o arquivo já convertido de 48,4 GB e depois o janas-chat. Testadores em máquinas com cerca de 31 GiB relatam 9,5 a 16,2 tok/s sem rascunhos; espere primeiras respostas mais lentas enquanto o cache de experts enche, e feche o navegador, já que outros programas ocupam memória de que o cache precisa.
Uma pesquisadora com uma estação de trabalho de 64 GB
Testar um modelo Qwen3-235B de 142 GB sem comprar mais RAM
Converter o GGUF Q4_K_M com o gguf2jns e deixar o cache de experts ocupar a memória livre. Um testador mediu 3,0 tok/s na escrita, cerca do dobro do resultado do llama.cpp com mmap na mesma máquina: utilizável para perguntas em lote, lento demais para chat interativo.
Um líder de engenharia em uma pequena empresa avaliando-o para um assistente interno
Decidir se é seguro depender de um endpoint local compatível com OpenAI rodando no Janas
O janas-server atende uma requisição por vez em 127.0.0.1:8080, com chave de API opcional, então serve a um usuário, não a uma equipe. A GPL-3.0 permite uso interno via HTTP livremente, mas vincular a libjanas_llm a um software que você distribui torna esse software GPL; com um único mantenedor e mudanças semanais de interface, reserve tempo para testar de novo a cada atualização.
Antes de decidir
- Configuração
- Tarball pré-compilado para Linux x86-64 (Ubuntu 22.04, Debian 12 e posteriores) ou um zip para Windows 10 e 11; o janas-get lista, baixa e verifica os modelos. Compilar a partir do código exige só GCC, além de headers do Vulkan e glslang 15.2 ou posterior para a GPU. O tempo até a primeira resposta é quase todo o download do modelo.
- Integrações
- O janas-server segue a API da OpenAI (chat, completions, Responses, embeddings, batches) com uma página de teste; o janas-mcp oferece o modelo ao Claude Code e a outros clientes MCP; uma biblioteca C com bindings para FreeBASIC e Node.js. GPU apenas via Vulkan 1.3; NPU da Intel apenas no Linux com Meteor Lake.
- Dados e privacidade
- Roda localmente e só grava em ~/.cache/janas e onde você colocar os modelos convertidos; nenhuma telemetria é descrita. O servidor se vincula a 127.0.0.1 sem chave de API por padrão. GPL-3.0 ou posterior para o código; os modelos convertidos mantêm as próprias licenças (Apache 2.0 do Qwen, Qwen Community License do Qwen3.8-Flash-Next, CC BY-NC-SA não comercial do DeepNSM).
- Custo em escala
- Sem edição paga, então o custo é o hardware: a máquina de referência é um notebook de 32 GB com um SSD NVMe lendo cerca de 5,7 GB/s, e discos mais lentos ou uma máquina ocupada reduzem a velocidade. O design de sequência única do servidor faz com que escalar para muitos usuários signifique uma máquina por usuário simultâneo.
- Limites
- Desenvolvido e medido em um só notebook; cerca de 21 issues e pull requests abertos, incluindo saída de GPU errada em Intel Arc B580 e AMD Radeon Vega e prompts lentos no Windows com NVIDIA. Sem backend CUDA, Metal ou ROCm, sem build para macOS ou ARM, tipos GGUF IQ2 e IQ1 não suportados, e um prompt de 32.000 tokens levou 15 minutos no notebook de referência.
O que é bom
- Roda modelos mixture-of-experts de 48 GB em máquinas de 32 GB, confirmado por testadores externos
- C puro, sem dependências; builds de versão para Linux e Windows
- Mede por conta própria a divisão de threads, GPU e NPU em cada máquina
- Inclui servidor no estilo OpenAI, servidor MCP e biblioteca C
O que não é
- As vantagens de destaque sobre o llama.cpp são autodeclaradas e medidas em um só notebook
- Um único mantenedor; código externo ainda não pode ser incorporado
- Só Vulkan, com bugs de saída errada em várias GPUs
- Sem macOS nem ARM; experimental, com comandos mudando toda semana
Ideal para
Usuários de x86-64 que querem um modelo mixture-of-experts maior que a sua RAM, como o Qwen3-Next-80B em um notebook de 32 GB, e aceitam software experimental.
Alternativas ao Janas
Janas: perguntas frequentes
- Janas vale a pena?
- Ele realmente roda um modelo de 80B em um notebook de 32 GB, mas as grandes vantagens sobre o llama.cpp são medidas pelo próprio autor, e tudo é o experimento de uma só pessoa. Damos nota 3.6 de 5.
- Quanto custa Janas?
- Gratuito e de código aberto sob GPL-3.0 ou posterior. Sem edição paga.
- Quais são as desvantagens de Janas?
- As vantagens de destaque sobre o llama.cpp são autodeclaradas e medidas em um só notebook; um único mantenedor; código externo ainda não pode ser incorporado; só Vulkan, com bugs de saída errada em várias GPUs; sem macOS nem ARM; experimental, com comandos mudando toda semana.
- Para quem Janas é indicado?
- Usuários de x86-64 que querem um modelo mixture-of-experts maior que a sua RAM, como o Qwen3-Next-80B em um notebook de 32 GB, e aceitam software experimental.
- Quanto custa Janas para uma equipe ou em produção?
- Sem edição paga, então o custo é o hardware: a máquina de referência é um notebook de 32 GB com um SSD NVMe lendo cerca de 5,7 GB/s, e discos mais lentos ou uma máquina ocupada reduzem a velocidade. O design de sequência única do servidor faz com que escalar para muitos usuários signifique uma máquina por usuário simultâneo.
- Janas é seguro para dados da empresa?
- Roda localmente e só grava em ~/.cache/janas e onde você colocar os modelos convertidos; nenhuma telemetria é descrita. O servidor se vincula a 127.0.0.1 sem chave de API por padrão. GPL-3.0 ou posterior para o código; os modelos convertidos mantêm as próprias licenças (Apache 2.0 do Qwen, Qwen Community License do Qwen3.8-Flash-Next, CC BY-NC-SA não comercial do DeepNSM).
- Quais são as melhores alternativas ao Janas?
- As alternativas mais próximas que analisamos são llama.cpp, Ollama e llamafile.
Respostas verificadas em 31 de out. de 2026.
