Smartare chatt, på enheten.
Dölj personuppgifter innan ett meddelande skickas, flagga kränkningar innan de publiceras, föreslå emoji medan folk skriver och transkribera röstmeddelanden, allt på enheten.
AI-modeller byggda för chatt
Fungerar i end-to-end-krypterade chattar
Varje modell körs på enheten: på ett meddelande innan det krypteras, eller efter att det dekrypterats. Dina servrar ser aldrig texten, så du lägger till funktionen utan att försvaga krypteringen eller driva något nytt.
Ingen kostnad per anrop
Kontrollera varje meddelande som folk skickar och tar emot, utan att betala per meddelande och utan infrastruktur att driva. Ditt produktteam kan lägga till en funktion utan att först göra en prognos för molnkostnaderna.
Snabbare än du skriver
Emo föreslår emoji på under 2 ms, så förslagen ändras vid varje tangenttryckning. Tongue känner igen språket i ett inkommande meddelande på tiotals mikrosekunder.
Exempel
Varje exempel spelar upp riktiga resultat från modellerna. Öppna en modellsida för att testa på din egen text.
Redact · PII-maskning
Varna innan någon delar ett bank- eller ID-nummer
Redact hittar personnummer, kortnummer, IBAN och telefonnummer i meddelanderutan medan någon skriver. Kortnummer och IBAN måste klara en kontrollsumma, så de varningarna är pålitliga. Det är på namn och adresser i fritext som Redact missar mest.
Toxic · Sortering av hatprat · Beta
En extra koll innan ett sårande meddelande publiceras
Toxic ger varje meddelande en poäng för hat, kränkningar och hot innan det publiceras, på 35 språk. När en poäng är hög kan du ge avsändaren en chans att skriva om. Toxic är ett sorteringsstöd, så låt en människa granska det den flaggar i stället för att ta bort det direkt.
Moderator · Innehållsmoderering
Pixla en oönskad bild innan någon ser den
Moderator kontrollerar varje foto på avsändarens enhet, så att ingen bild skickas till en server för kontroll, inte ens i en end-to-end-krypterad chatt. En nakenbild kommer fram pixlad, och mottagaren väljer att visa eller rapportera den.
Emo · Emojiförslag
Emoji som följer meddelandet
Emo uppdaterar förslagen vid varje tangenttryckning: 🍕 för en pizzakväll med teamet, 🎂 för en födelsedag på spanska, 🦷 för en tandläkartid på franska.
Tongue · Språkidentifiering
Erbjud översättning redan från de första orden
Tongue känner igen språket i ett inkommande meddelande utifrån några få ord, så att knappen Översätt bara visas på de meddelanden som behöver den. Själva översättningen kommer från din egen översättningstjänst.
Voz · Taligenkänning
Läs ett röstmeddelande i stället för att spela upp det
Voz transkriberar ett röstmeddelande med en tidsstämpel på varje ord, så att texten visas under vågformen och följer med medan det spelas upp. Voz täcker 25 europeiska språk, så kombinera den med Ear för att först identifiera språket.
Kom igång
Installera de modeller du behöver från en enda SDK, i Swift, Kotlin eller JavaScript. Exemplet kontrollerar varje utgående meddelande med Toxic och 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);
Bygger du en chattprodukt?
Berätta vad du vill lägga till för dina användare, så hjälper vi dig att välja modeller och planera integrationen.






