Une messagerie plus intelligente, sur l'appareil.
Masquez les données personnelles avant l'envoi d'un message, signalez les injures avant leur publication, suggérez des emoji pendant la frappe et transcrivez les notes vocales, le tout sur l'appareil.
Des modèles d'IA conçus pour la messagerie
Fonctionne dans les conversations chiffrées de bout en bout
Chaque modèle s'exécute sur l'appareil : sur un message avant son chiffrement, ou après son déchiffrement. Vos serveurs ne voient jamais le texte : vous ajoutez la fonctionnalité sans affaiblir le chiffrement ni faire tourner quoi que ce soit de nouveau.
Aucun coût par appel
Analysez chaque message envoyé et reçu, sans facture par message ni infrastructure à gérer. Votre équipe produit peut ajouter une fonctionnalité sans avoir à estimer d'abord ses dépenses cloud.
Plus rapide que la frappe
Emo suggère des emoji en moins de 2 ms, si bien que les suggestions changent à chaque touche. Tongue identifie la langue d'un message reçu en quelques dizaines de microsecondes.
Exemples
Chaque exemple rejoue des résultats réels des modèles. Ouvrez la page d'un modèle pour l'essayer sur votre propre texte.
Redact · Masquage des données personnelles
Avertir avant le partage d'un numéro bancaire ou d'identité
Redact repère les numéros de sécurité sociale, les numéros de carte, les IBAN et les numéros de téléphone dans la zone de saisie, pendant la frappe. Un numéro de carte ou un IBAN n'est signalé que si sa somme de contrôle est valide : ces alertes sont fiables. C'est sur les noms et les adresses en texte libre que Redact en laisse passer le plus.
Toxic · Triage de discours de haine · Bêta
Un second regard avant qu'un message blessant soit publié
Toxic attribue à chaque message un score de haine, d'injure et de menace avant sa publication, en 35 langues. Quand un score est élevé, laissez à l'expéditeur un moment pour reformuler. Toxic est une aide au triage : confiez ce qu'il signale à une personne plutôt que de le supprimer d'office.
Moderator · Modération de contenu
Pixeliser une image indésirable avant que quiconque la voie
Moderator vérifie chaque photo sur l'appareil de l'expéditeur : aucune image ne part sur un serveur pour y être analysée, même dans une conversation chiffrée de bout en bout. Une photo de nu arrive pixelisée, et la personne choisit de l'afficher ou de la signaler.
Emo · Suggestions d'emoji
Des emoji qui suivent le message
Emo met à jour les suggestions à chaque frappe : 🍕 pour une soirée pizza entre collègues, 🎂 pour un anniversaire en espagnol, 🦷 pour un rendez-vous chez le dentiste en français.
Tongue · Identification de langue
Proposer une traduction dès les premiers mots
Tongue identifie la langue d'un message reçu à partir de quelques mots, si bien qu'un bouton Traduire n'apparaît que sur les messages qui en ont besoin. La traduction elle-même vient de votre propre service de traduction.
Voz · Reconnaissance vocale
Lire une note vocale au lieu de l'écouter
Voz transcrit un message vocal avec un horodatage sur chaque mot : le texte s'affiche sous la forme d'onde et suit la lecture. Voz couvre 25 langues européennes ; associez-le à Ear pour identifier d'abord la langue.
Prise en main
Installez les modèles dont vous avez besoin depuis un seul SDK, en Swift, Kotlin ou JavaScript. L'exemple vérifie chaque message sortant avec Toxic et Redact.
iOS, macOS, Linux, Windows
// Swift Package Manager
.package(url: "https://github.com/Desert-Ant-Labs/desert-ant-core", from: "4.3.0")
// target dependencies
.product(name: "Redact", package: "desert-ant-core")
.product(name: "Toxic", package: "desert-ant-core")
.product(name: "Emo", package: "desert-ant-core")
.product(name: "Tongue", package: "desert-ant-core")
import Redact
import Toxic
let redact = Redact()
let toxic = Toxic()
// before a message is sent
let check = try await toxic.analyze(message)
if check.isToxic { askToRewrite(check.content) }
let r = try await redact.redaction(of: message)
if !r.items.isEmpty { offerToMask(r.items) }
Android
// build.gradle.kts (Maven Central)
implementation("ai.desertant:redact:4.3.0")
implementation("ai.desertant:toxic:4.3.0")
implementation("ai.desertant:emo:4.3.0")
implementation("ai.desertant:tongue:4.3.0")
import ai.desertant.redact.Redact
import ai.desertant.toxic.Toxic
val redact = Redact(context)
val toxic = Toxic(context)
// before a message is sent
val check = toxic.analyze(message)
if (check.isToxic) askToRewrite(check.content)
val r = redact.redaction(message)
if (r.redactedText != message) offerToMask(r)
Web, Node.js
npm i @desert-ant-labs/redact @desert-ant-labs/toxic @desert-ant-labs/emo @desert-ant-labs/tongue @litertjs/core
import { Redact } from "@desert-ant-labs/redact";
import { Toxic } from "@desert-ant-labs/toxic";
const redact = await Redact.load();
const toxic = await Toxic.load();
// before a message is sent
const check = await toxic.analyze(message);
if (check.isToxic) askToRewrite(check.content);
const r = await redact.redaction(message);
if (r.items.length) offerToMask(r.items);
Vous développez une messagerie ?
Dites-nous ce que vous voulez apporter à vos utilisateurs, et nous vous aiderons à choisir les modèles et à planifier l'intégration.






