Fale conosco

Só os dados pessoais
sob tarja preta.

O Noir é um LLM pequeno, feito só para ocultar trechos: recebe um documento e a instrução do que ocultar, e devolve a lista dos trechos correspondentes. Documentos que ainda vão sair da empresa podem ser processados só com as CPUs internas. Ao rolar a página, uma linha de luz atravessa o documento.

JA担当の山田太郎です。お電話は03-0000-1234までお願いします。

ENPlease call Emily Carter at (555) 010-4477 before March 3.

DEFrau Anna Becker wohnt in der Lindenstraße 12, 10115 Berlin.

HRIvan Horvat (42 godine) javio je da je na bolovanju.

Tamanho0.8B・0.67GB
Idiomas4 idiomasJaponês, inglês, alemão e croata
Tipos ocultáveis48 tipos

* Os textos, nomes e números são todos fictícios. A animação acima é a reprodução de uma amostra.

A instrução vai
em palavras comuns.

“Dados pessoais”, “contatos”, “menos a idade”. Dê a instrução como você falaria no dia a dia, e os trechos ocultados mudam no mesmo documento. Clique nos botões ou apenas observe.

Assunto: Comercial Modelo — confirmação dos dados do contrato

Ao Sr. João Exemplo, Administrativo, Comercial Modelo

Olá, tudo bem? Aqui é a Maria Amostra, da NekoData Ltda.

Gostaríamos de conversar sobre a renovação do contrato no dia 20 de novembro (sexta). A mensalidade continua em R$ 4.800.

Soubemos que o responsável, Sr. Carlos Fictício (42 anos), está afastado hoje por causa de uma dor nas costas.

Para contato: (11) 0000-1234 ou [email protected].

Enviar para: Rua do Exemplo, 123, 5º andar, São Paulo

* Este quadro é uma amostra do funcionamento e reproduz respostas prontas (o modelo real não está rodando). Todos os textos são fictícios.

Menos excesso de tarja
que o 120B.

Com 100 documentos em japonês e 100 em inglês, demos a mesma instrução ao gpt-oss-120b (117 bilhões de parâmetros) e comparamos. Os papéis acima mostram um exemplo de cada tipo de erro. As barras abaixo mostram a frequência de cada erro: quanto mais curta, melhor.

* Medições em teste criado por nós (novembro de 2026, Q4_K_M, com regras genéricas para e-mail, telefone, URL e data). As condições detalhadas estão no fim da página.

Quanto mais vaga a instrução,
maior a diferença.

Uma balança compara os vazamentos: o lado que deixa escapar mais desce. Com os tipos listados com clareza, dá empate; com instruções vagas, como “dados pessoais”, ou com um “menos…”, a diferença aumenta.

Noir0%

gpt-oss-120b0%

* Total de japonês e inglês. Taxa de vazamento (%, 1 célula = 1%). Instruções: 69 com tipos listados, 104 vagas e 27 com exceção.

4 idiomas,
o resultado de cada um.

Há um Noir próprio para cada idioma (japonês e inglês usam o mesmo). Em amarelo, os números melhores que os do gpt-oss-120b.

  • Em croata e alemão, o vazamento é quase igual ao do gpt-oss-120b. A maior parte dos vazamentos foi de datas e horas no formato europeu, como “02.11.2026” e “14:12 Uhr”.
  • Com duas regras a mais para captar datas e horas nesse formato, estimamos que o vazamento caia de 31% para 23% em croata e de 25% para 15% em alemão, ficando abaixo do gpt-oss-120b (24% e 19%). A inclusão no produto está prevista. previsto

A resposta
vem em JSON.

Os trechos encontrados vêm em uma lista, agrupados quando se referem à mesma coisa. Como as strings vêm exatamente como estão no documento, basta procurá-las no texto e substituir.

Enviaremos ao responsável, Sr. Carlos Fictício.
O telefone do Sr. Fictício é (11) 0000-1234,
e o e-mail é [email protected].
  • id: a mesma pessoa ou a mesma coisa fica em um só item (“Carlos Fictício” e “Fictício”).
  • type: o nome de um dos 48 tipos. Vem no idioma do prompt (em inglês, “person name”).
  • mentions: as strings exatamente como estão no documento. Se nada corresponder, [].
Encontre no documento a seguir tudo o que
corresponde ao alvo. … (resumido)
A saída é apenas um array JSON: [{"id": "E1",
 "type": "...", "mentions": ["..."]}]
Alvo:
dados pessoais, menos a idade
Método: ocultar (sem replacements)

Documento:
(documento aqui)

Um documento em
cerca de 20 segundos.

Reproduzimos o caminho até a resposta: a CPU de um notebook (sem GPU) lê um documento de cerca de 900 caracteres e devolve os trechos a ocultar. A reprodução está em 5x; o relógio marca os segundos reais.

0.0sreprodução em 5x

Ler o documentoEscrever os trechos a ocultar

Trechos ocultados 0 / 0

Instrução
Nome de pessoa, telefone, e-mail e endereço
Leitura
cerca de 140 tokens/s
Escrita
cerca de 24 tokens/s
Equipamento
Core i7-11800H, 8 threads

  • Processando em sequência nesse ritmo, uma máquina dá conta de cerca de 170 mil caracteres por hora.
  • Em GPU, com 16 documentos processados ao mesmo tempo, 100 documentos levaram cerca de 20 segundos (o gpt-oss-120b, cerca de 90). medição interna

* O documento e os trechos ocultados são uma amostra (nenhum modelo roda nesta página). O tempo é calculado a partir das velocidades de leitura e de escrita medidas internamente. Formas diferentes de citar a mesma pessoa são agrupadas e ocultadas de uma vez.

Corte em blocos
de 1.000 caracteres.

Documentos longos são cortados em blocos de cerca de 1.000 caracteres e enviados um a um. Manter o tamanho visto no treinamento reduz o que escapa. No fim, os resultados são reunidos e combinados com regras que captam formatos fixos: e-mail, telefone, URL e data.

Iniciar (llama.cpp)

llama-server -m noir-ja-en-Q4_K_M.gguf \
  -c 16384 -t 8 -np 1 --jinja --port 8191

DisponívelBaixar os pesos →

  • Use com o modo de raciocínio desligado (enable_thinking: false) e temperature 0.
  • Escolha o modelo conforme o idioma: ja-en para japonês e inglês, de-en para alemão, hr-en para croata.
  • Em CPU (Core i7-11800H, 8 threads), um bloco de 1.000 caracteres leva cerca de 20 segundos. medição interna

O mesmo documento,
outra tarja a cada instrução.

Escolha uma instrução e teste nos documentos de amostra. Ao mudar a instrução, mudam os trechos ocultados no mesmo documento. Você também vê, sem cortes, o prompt enviado ao modelo e o JSON que volta.

1 Escolha o documento

2 Escolha a instrução executa ao escolher

Ou escolha os tipos você mesmo

Prompt enviado ao modelo

JSON que volta

[]

Como medimos,
e como falar conosco.

  • Documentos: 100 em cada idioma (japonês, inglês, alemão e croata). São documentos fictícios criados para teste, como e-mails, atas, notas de RH, faturas e informações clínicas, com os trechos a ocultar marcados como gabarito.
  • Instruções: uma por documento, entre “tipos listados”, “instrução vaga” e “com exceção”. O gpt-oss-120b (reasoning effort medium) recebeu o mesmo prompt.
  • Critérios: vazamento = parcela do gabarito que ficou à mostra; excesso = parcela dos trechos ocultados que não precisava ser ocultada; fora do pedido = parcela de ocultações de tipos que não foram pedidos.
  • Realização: novembro de 2026, Q4_K_M. Será revisto antes do lançamento oficial.

Teste com os documentos da sua empresa →

Rode o Noir na sua máquina

Um único zip com os pesos do modelo, código de inferência de exemplo e um manual curto. Descompacte, siga o README e pronto.

Baixar o zipcatsai-noir.zip · 672 MBHugging Face: catsaiagency/Noir-0.8B-ja-en-GGUF →

Licença

O modelo Noir é fornecido sob a CatsAI Model License. Os cinco pontos principais:

  • Testar é gratuito, em qualquer máquina: um PC ou um servidor.
  • Para usá-lo no trabalho real, é necessária uma licença paga para cada máquina em que o modelo está instalado. Um PC de desenvolvimento também conta, se é usado no trabalho real.
  • O uso pessoal, educacional e de pesquisa acadêmica é gratuito.
  • A licença vale apenas para os pesos do modelo. O código de exemplo continua de código aberto.
  • Você pode redistribuir o modelo e fazer ajuste fino. Nesse caso, a mesma licença continua valendo.
Termos completos da licença (PDF)PortuguêsEnglishConsultar sobre licença →

Este é um resumo. O que vale é o texto completo no PDF.

DEMO | números de teste próprio, o resto é provisório