Desert Ant Labs

Chats más inteligentes, en el dispositivo.

Oculta los datos personales antes de enviar un mensaje, marca los abusos antes de que se publiquen, sugiere emojis mientras se escribe y transcribe notas de voz, todo en el dispositivo.

Modelos de IA pensados para chats

Funciona en chats con cifrado de extremo a extremo

Cada modelo se ejecuta en el dispositivo: sobre un mensaje antes de cifrarlo o después de descifrarlo. Tus servidores nunca ven el texto, así que añades la función sin debilitar el cifrado ni poner en marcha nada nuevo.

Sin coste por llamada

Revisa cada mensaje que la gente envía y recibe, sin factura por mensaje ni infraestructura que mantener. Tu equipo de producto puede añadir una función sin prever antes el gasto en la nube.

Más rápido que escribir

Emo sugiere emojis en menos de 2 ms, así que las sugerencias cambian con cada tecla. Tongue identifica el idioma de un mensaje entrante en decenas de microsegundos.

Ejemplos

Cada ejemplo reproduce resultados reales de los modelos. Abre la página de un modelo para probarlo con tu propio texto.

Redact · Ocultación de PII

Avisa antes de que alguien comparta un número de cuenta o de identidad

Redact detecta números de la Seguridad Social, tarjetas, IBAN y teléfonos en el mensaje mientras alguien lo escribe. Los números de tarjeta y los IBAN deben superar una suma de comprobación, así que esos avisos son fiables. Donde más falla Redact es en los nombres y las direcciones escritos en texto libre.

88,8%Datos personales detectados
11,6 MBEn el dispositivoApple; 24,5 MB en Android y web
27Idiomas
Redact

Toxic · Clasificación de discurso de odio · Beta

Pensárselo dos veces antes de publicar un mensaje hiriente

Toxic da a cada mensaje una puntuación de odio, abuso y amenaza antes de que se publique, en 35 idiomas. Cuando una puntuación es alta, ofrece a quien lo envía un momento para reescribirlo. Toxic es una ayuda de triaje, así que deja que una persona revise lo que marque en lugar de retirarlo directamente.

35Idiomas
3Señalesodio, abuso y amenaza
102 MBEn el dispositivoApple; 103 MB en Android y web
Toxic

Moderator · Moderación de contenido

Pixela una imagen no deseada antes de que nadie la vea

Moderator revisa cada foto en el dispositivo de quien la envía, así que ninguna imagen pasa por un servidor para revisarla, ni siquiera en un chat con cifrado de extremo a extremo. Un desnudo llega pixelado, y quien lo recibe decide si verlo o denunciarlo.

87,8%Desnudos detectados
93,7%Fotos seguras aceptadas
9,7 MBEn el dispositivoApple; 9,2 MB en Android y web
Moderator

Emo · Sugerencias de emojis

Emojis que se adaptan al mensaje

Emo actualiza las sugerencias con cada pulsación: 🍕 para una noche de pizza con el equipo, 🎂 para un cumpleaños en español, 🦷 para una cita con el dentista en francés.

<2 msPor sugerencia
5 MBEn el dispositivoApple; 11 MB en Android y web
22Idiomas
Emo

Tongue · Identificación de idioma

Ofrece una traducción desde las primeras palabras

Tongue identifica el idioma de un mensaje entrante con unas pocas palabras, así que el botón Traducir solo aparece en los mensajes que lo necesitan. La traducción en sí la hace tu propio servicio de traducción.

84Idiomas
2 MBEn el dispositivodentro del paquete, nada que descargar
0,933FLORES-200, 3 palabras0,887 con un detector de 293 MB
Tongue

Voz · Reconocimiento de voz

Lee una nota de voz en lugar de escucharla

Voz transcribe un mensaje de voz con la marca de tiempo de cada palabra: el texto aparece bajo la forma de onda y avanza mientras suena. Voz cubre 25 idiomas europeos, así que combínalo con Ear para identificar antes el idioma.

2 s10 minutos de audioiPhone 17 Pro
25Idiomaseuropeos
337 MBEn discoApple, se descarga en el primer uso
Voz

Primeros pasos

Instala los modelos que necesites desde un solo SDK, en Swift, Kotlin o JavaScript. El ejemplo revisa cada mensaje saliente con Toxic y Redact.

iOS, macOS, Linux, Windows

Instalación
// 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")
Ejemplo - Swift
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

Instalación
// 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")
Ejemplo - Kotlin
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

Instalación
npm i @desert-ant-labs/redact @desert-ant-labs/toxic @desert-ant-labs/emo @desert-ant-labs/tongue @litertjs/core
Ejemplo - TypeScript
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);

¿Estás creando un producto de chat?

Cuéntanos qué quieres añadir para tus usuarios y te ayudamos a elegir los modelos y a planificar la integración.