Tongue
Deteção de língua no dispositivo para textos em 84 línguas. Identifique a língua em dezenas de microssegundos, com apenas algumas palavras.

Demonstração
Reconheça a língua com 3 palavras.
«kann ich das haben» é alemão. «안녕하세요» é coreano. Três palavras é o caso difícil, e três palavras é o que uma caixa de pesquisa lhe dá.
Com três palavras, o Tongue marca 0,933 onde um detector de 293 MB marca 0,887. O Tongue tem 2 MB e trabalha em duas etapas: alguns sistemas de escrita pertencem a uma só língua, hangul é coreano e tailandês é tailandês, resolvido sem modelo. O resto vai para o modelo.
O Tongue dispensa tokenizador, ficheiro de vocabulário e runtime de inferência, e é assim que o pacote inteiro cabe em 2 MB. Quando a entrada é curta demais para decidir, o Tongue informa um empate.
0,933 a partir de um modelo de 2 MB.
Com 2 MB, o Tongue obtém 0,933 em entradas de três palavras do FLORES-200, contra 0,887 de um detetor de 293 MB.
Medido nos pesos int8 publicados, em três benchmarks públicos, com os outros detetores executados nos mesmos exemplos e nos mesmos subconjuntos de línguas. As tabelas completas e os modos de falha estão no model card.
Casos de uso
Reconheça a língua com 3 palavras.
Encaminhe texto por língua
Escolha o modelo de tradução, o analisador ou a fila de apoio certos logo nas primeiras palavras que o utilizador escreve, inteiramente no dispositivo.
Teclados e escrita
Detete a língua a meio da frase para trocar a correção automática, as sugestões ou a disposição do teclado, ao custo de dezenas de microssegundos por tecla.
Pesquisa e pipelines de conteúdo
Etiquete cadeias curtas com uma língua antes da indexação ou da moderação, sem ida e volta pela rede nem um serviço por pedido.
Peça mais texto em vez de adivinhar
«la casa» é italiano e espanhol na mesma medida. O Tongue comunica o empate, por isso o seu produto espera por mais uma palavra em vez de trocar o teclado por engano.
Inspiração
Ideias para construir com o Tongue. Copie um prompt para o seu agente de código e comece.
Route incoming messages to the right language agent.
Auto-switch the keyboard and spellcheck to the language being typed.
Tag user posts by language for search and moderation.
Detect the language, then redact PII in that language.
Detect the language of a search query and pick the right index.
Build an OpenClaw skill that tags and language-routes text.
A chat bot that tags and language-routes messages, in Node.
Build an agent skill that tags and language-routes text for an agent.
O que o modelo faz
- 84 línguas: 59 descodificadas pelo modelo, 25 resolvidas só pela escrita.
- Pesos int8 de 2 MB, incluídos no pacote; nada é transferido.
- Dezenas de microssegundos por deteção, na thread principal.
- Respostas idênticas em Swift, Kotlin e JavaScript, garantidas por golden vectors partilhados.
- Comunica uma pontuação de fiabilidade e marca todos os empates.
Primeiros passos
Adicione identificação de língua ao seu app iOS or macOS, Android or web em poucas linhas de código. Docs do Tongue.
// Swift Package Manager
.package(url: "https://github.com/Desert-Ant-Labs/desert-ant-core", from: "3.5.0")
// target dependency
.product(name: "Tongue", package: "desert-ant-core")
import Tongue
let tongue = try Tongue()
tongue.detect("kann ich das haben").language
// "de"
Add Tongue from Desert Ant Labs to this Swift project (iOS, macOS). What it does: identificação de língua no dispositivo. SDK: Swift (iOS, macOS) Repo: https://github.com/Desert-Ant-Labs/desert-ant-core#readme // Swift Package Manager .package(url: "https://github.com/Desert-Ant-Labs/desert-ant-core", from: "3.5.0") // target dependency .product(name: "Tongue", package: "desert-ant-core") Reference: - Model page: https://desertant.com/models/tongue/ - Full catalog and other models: https://desertant.com/llms.txt Add the SDK, then follow its README for the exact API and current version. Do not invent API names or method signatures; confirm them against the README.
// build.gradle.kts (Maven Central)
implementation("ai.desertant:tongue:3.5.0")
import ai.desertant.tongue.Tongue
val tongue = Tongue.bundled(context)
tongue.detect("kann ich das haben").language
// "de"
Add Tongue from Desert Ant Labs to this Kotlin project (Android).
What it does: identificação de língua no dispositivo.
SDK:
Kotlin (Android)
Repo: https://github.com/Desert-Ant-Labs/desert-ant-core#readme
// build.gradle.kts (Maven Central)
implementation("ai.desertant:tongue:3.5.0")
Reference:
- Model page: https://desertant.com/models/tongue/
- Full catalog and other models: https://desertant.com/llms.txt
Add the SDK, then follow its README for the exact API and current version. Do not invent API names or method signatures; confirm them against the README.
npm i @desert-ant-labs/tongue
import { Tongue } from "@desert-ant-labs/tongue";
const tongue = await Tongue.load();
tongue.detect("kann ich das haben").language;
// "de"
Add Tongue from Desert Ant Labs to this JavaScript / TypeScript project (Web, Node.js). What it does: identificação de língua no dispositivo. SDK: JavaScript / TypeScript (Web, Node.js) Repo: https://github.com/Desert-Ant-Labs/desert-ant-core#readme npm i @desert-ant-labs/tongue Reference: - Model page: https://desertant.com/models/tongue/ - Full catalog and other models: https://desertant.com/llms.txt Add the SDK, then follow its README for the exact API and current version. Do not invent API names or method signatures; confirm them against the README.
Especificações
- Línguas
- 84, em 31 sistemas de escrita
- Tamanho no dispositivo
- Pesos int8 de 2 MB, dentro do pacote
- Velocidade
- Dezenas de microssegundos por deteção
- Modelo
- Encaminhador por sistema de escrita mais n-gramas de caracteres com hash para uma cabeça linear int8
Uma ou duas palavras muitas vezes são indecidíveis, e nenhum tamanho de modelo resolve o problema. O Tongue informa um empate ou uma resposta provisória, então trate fiabilidade baixa como «desconhecido», não como resposta.
O malaio e o indonésio partilham vocabulário demais para serem separados numa amostra curta. O mongol é coberto só na escrita tradicional, então o mongol em cirílico é lido como russo.
Nomes de marca, números e código não são uma língua, e vão receber um palpite.
FAQ
O que é o Tongue?
Deteção de língua no dispositivo para textos em 84 línguas. Identifique a língua em dezenas de microssegundos, com apenas algumas palavras.
O Tongue é executado no dispositivo?
Sim. O Tongue é executado no dispositivo, sem qualquer chamada a servidores, por isso os dados ficam com o utilizador.
Que plataformas suporta o Tongue?
O Tongue é distribuído como um SDK nativo no dispositivo para Swift, Kotlin, JavaScript / TypeScript.
Quanto custa o Tongue?
Cada modelo é gratuito para até 100 mil dispositivos ativos mensais. A inferência é ilimitada. Contacte-nos para licenças personalizadas.
Qual é a precisão ou a rapidez do Tongue?
Com 2 MB, o Tongue obtém 0,933 em entradas de três palavras do FLORES-200, contra 0,887 de um detetor de 293 MB.