Tongue
Détection de langue sur l'appareil pour des textes en 84 langues. Identifiez la langue en quelques dizaines de microsecondes, avec une poignée de mots.

Démo
Identifiez la langue à partir de 3 mots.
« kann ich das haben », c'est de l'allemand. « 안녕하세요 », c'est du coréen. Trois mots, c'est le cas difficile, et trois mots, c'est ce qu'un champ de recherche vous donne.
À partir de trois mots, Tongue obtient 0,933 là où un détecteur de 293 Mo obtient 0,887. Tongue pèse 2 Mo et fonctionne en deux temps : certaines écritures n'appartiennent qu'à une langue, le hangul est du coréen et le thaï du thaï, tranché sans modèle. Le reste passe au modèle.
Tongue n'a besoin d'aucun tokenizer, fichier de vocabulaire ou runtime d'inférence : c'est ainsi que le package entier tient dans 2 MB. Quand l'entrée est trop courte pour trancher, Tongue signale une égalité.
0,933 depuis un modèle de 2 MB.
Avec 2 MB, Tongue atteint 0,933 sur des entrées FLORES-200 de trois mots, contre 0,887 pour un détecteur de 293 MB.
Mesuré sur les poids int8 livrés, sur trois benchmarks publics, les autres détecteurs étant exécutés sur les mêmes lignes et sous-ensembles de langues. Tableaux complets et modes d'échec sur la fiche du modèle.
Cas d'usage
Identifiez la langue à partir de 3 mots.
Router le texte par langue
Choisir le bon modèle de traduction, l'analyseur ou la file de support dès les premiers mots saisis, entièrement sur l'appareil.
Claviers et saisie
Détecter la langue en cours de phrase pour changer l'autocorrection, les suggestions ou la disposition, pour quelques dizaines de microsecondes par frappe.
Recherche et pipelines de contenu
Étiqueter de courtes chaînes avec leur langue avant indexation ou modération, sans aller-retour réseau ni service par requête.
Demander plus de texte plutôt que deviner
« la casa » se lit aussi bien en italien qu'en espagnol. Tongue signale l'égalité au lieu de trancher : le produit peut attendre un mot de plus plutôt que de changer de clavier par erreur.
Inspiration
Des idées à construire avec Tongue. Copiez un prompt dans votre agent de code et lancez-vous.
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.
Ce que fait le modèle
- 84 langues : 59 décodées par le modèle, 25 réglées par la seule écriture.
- Poids int8 de 2 MB, inclus dans le paquet ; rien n'est téléchargé.
- Quelques dizaines de microsecondes par détection, sur le thread principal.
- Des réponses identiques en Swift, Kotlin et JavaScript, tenues par des golden vectors partagés.
- Renvoie un score de fiabilité et signale chaque égalité.
Prise en main
Ajoutez identification de langue à votre application iOS or macOS, Android or web en quelques lignes de code. Docs 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: Tongue : identification de langue sur l'appareil. 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: Tongue : identification de langue sur l'appareil.
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: Tongue : identification de langue sur l'appareil. 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.
Spécifications
- Langues
- 84, sur 31 écritures
- Taille sur l'appareil
- Poids int8 de 2 MB, dans le paquet
- Vitesse
- Quelques dizaines de microsecondes par détection
- Modèle
- Routeur d'écritures plus n-grammes de caractères hachés vers une tête linéaire int8
Un ou deux mots sont souvent indécidables, et aucune taille de modèle ne règle le problème. Tongue signale une égalité ou une réponse provisoire : traitez une faible fiabilité comme « inconnu », pas comme une réponse.
Le malais et l'indonésien partagent trop de vocabulaire pour être séparés sur un court échantillon. Le mongol n'est couvert qu'en écriture traditionnelle : le mongol cyrillique est donc lu comme du russe.
Les noms de marque, les nombres et le code ne sont pas une langue, et recevront une supposition.
FAQ
Qu'est-ce que Tongue ?
Détection de langue sur l'appareil pour des textes en 84 langues. Identifiez la langue en quelques dizaines de microsecondes, avec une poignée de mots.
Tongue fonctionne-t-il sur l'appareil ?
Oui. Tongue s'exécute sur l'appareil, sans appel serveur : les données restent chez l'utilisateur.
Quelles plateformes Tongue prend-il en charge ?
Tongue est livré sous forme de SDK natif sur l'appareil pour Swift, Kotlin, JavaScript / TypeScript.
Combien coûte Tongue ?
Chaque modèle est gratuit jusqu'à 100k appareils actifs mensuels. L'inférence est illimitée. Contactez-nous pour des licences sur mesure.
Quelle est la précision ou la vitesse de Tongue ?
Avec 2 MB, Tongue atteint 0,933 sur des entrées FLORES-200 de trois mots, contre 0,887 pour un détecteur de 293 MB.