Chat mais inteligente, no dispositivo.
Oculte dados pessoais antes de a mensagem ser enviada, sinalize ofensas antes de serem publicadas, sugira emoji enquanto as pessoas escrevem e transcreva mensagens de voz, tudo no dispositivo.
Modelos de IA feitos para chat
Funciona em chats com encriptação ponto a ponto
Todos os modelos são executados no dispositivo: na mensagem antes de ser encriptada, ou depois de ser desencriptada. Os seus servidores nunca veem o texto, por isso adiciona a funcionalidade sem enfraquecer a encriptação nem pôr nada novo a correr.
Sem custo por chamada
Verifique todas as mensagens enviadas e recebidas, sem custo por mensagem e sem infraestrutura para manter. A sua equipa de produto pode adicionar uma funcionalidade sem ter de prever primeiro os gastos com a nuvem.
Mais rápido do que escrever
O Emo sugere emoji em menos de 2 ms, por isso as sugestões mudam a cada tecla. O Tongue identifica a língua de uma mensagem recebida em dezenas de microssegundos.
Exemplos
Cada exemplo reproduz o resultado real dos modelos. Abra a página de um modelo para o experimentar com o seu próprio texto.
Redact · Ocultação de PII
Avise antes de alguém partilhar um número bancário ou de documento
O Redact encontra números de documento, números de cartão, IBANs e telefones na caixa de mensagem enquanto a pessoa escreve. Os números de cartão e os IBANs têm de passar num checksum, por isso esses avisos são fiáveis. É em nomes e moradas escritos livremente que o Redact mais falha.
Toxic · Triagem de discurso de ódio · Beta
Um segundo olhar antes de uma mensagem ofensiva ser publicada
O Toxic pontua cada mensagem quanto a ódio, ofensa e ameaça antes de ser publicada, em 35 línguas. Quando uma pontuação é alta, dê a quem envia um momento para reescrever. O Toxic é um auxílio à triagem, por isso encaminhe o que sinaliza para uma pessoa, em vez de o remover de imediato.
Moderator · Moderação de conteúdos
Pixelize uma imagem indesejada antes de alguém a ver
O Moderator verifica cada fotografia no dispositivo de quem a envia, por isso nenhuma imagem vai para um servidor para ser verificada, mesmo num chat com encriptação ponto a ponto. Uma fotografia de nudez chega pixelizada e a pessoa escolhe se a quer ver ou denunciar.
Emo · Sugestões de emoji
Emoji que acompanham a mensagem
O Emo atualiza as sugestões a cada tecla: 🍕 para uma noite de pizza com a equipa, 🎂 para um aniversário em espanhol, 🦷 para uma consulta no dentista em francês.
Tongue · Identificação de língua
Ofereça tradução a partir das primeiras palavras
O Tongue identifica a língua de uma mensagem recebida a partir de poucas palavras, por isso o botão Traduzir só aparece nas mensagens que precisam dele. A tradução propriamente dita vem do seu próprio serviço de tradução.
Voz · Reconhecimento de fala
Leia a mensagem de voz em vez de a ouvir
O Voz transcreve uma mensagem de voz com a marcação de tempo de cada palavra, por isso o texto aparece por baixo da forma de onda e acompanha o áudio enquanto é reproduzido. Como o Voz cobre 25 línguas europeias, combine-o com o Ear para identificar primeiro a língua.
Comece agora
Instale os modelos de que precisa a partir de um único SDK, em Swift, Kotlin ou JavaScript. O exemplo verifica cada mensagem enviada com o Toxic e o 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);
Está a criar um produto de chat?
Diga-nos o que quer adicionar para os seus utilizadores e ajudamos a escolher os modelos e a planear a integração.






