Desert Ant Labs

Des marketplaces plus intelligentes, sur l'appareil.

Transformez la description d'un vendeur en annonce complète, signalez les photos NSFW avant leur mise en ligne et repérez numéros de téléphone et coordonnées bancaires dans les échanges avec les acheteurs, le tout sur l'appareil.

Des modèles d'IA conçus pour les marketplaces

Rien ne quitte l'appareil

Chaque modèle s'exécute sur le téléphone, la tablette ou l'ordinateur de l'acheteur ou du vendeur. Messages, coordonnées bancaires et photos sont vérifiés avant d'être envoyés ou mis en ligne : ils ne sont pas traités sur un serveur.

Aucun coût par appel

Vérifiez chaque annonce, chaque photo et chaque message sans facture par appel ni infrastructure à gérer. Votre équipe peut ajouter un contrôle sans avoir à estimer d'abord ses dépenses cloud.

Parlez la langue de vos utilisateurs

Redact masque les données personnelles en 27 langues : toutes les langues officielles de l'UE, plus le norvégien et l'islandais. Toxic signale les injures en 35 langues, de l'anglais, de l'allemand et du français jusqu'à l'arabe, au japonais et au chinois.

Exemples

Chaque exemple rejoue des résultats réels d'un modèle. Ouvrez la page d'un modèle pour tous les détails, et essayez Schemer ou Redact sur votre propre texte.

Redact · Masquage des données personnelles

Garder numéros de téléphone et coordonnées bancaires hors de la messagerie

Redact repère les numéros de téléphone, les IBAN et les numéros de carte pendant la saisie d'un message. Vous pouvez les bloquer pour que la transaction reste dans l'app, ou avertir l'utilisateur avant qu'il appuie sur Envoyer. Un IBAN ou un numéro de carte n'est signalé que si sa somme de contrôle est valide : ces détections sont fiables. C'est sur les noms et les adresses en texte libre que Redact en laisse passer le plus.

88,8 %Données personnelles détectées
11,6 MBSur l'appareilApple ; 24,5 MB sur Android et le web
27Langues
Redact

Title · Titres et descriptions

Titrer automatiquement les annonces à partir de leur description

Quand un vendeur a fini de décrire un article, Title rédige un titre court et un résumé pour l'annonce. Title ne fonctionne que sur les plateformes Apple et peut se tromper sur un détail : laissez les vendeurs modifier ce qu'il écrit.

3-8Mots dans un titreet une description d'une ou deux phrases
286 MBSur l'appareilApple silicon, via MLX
ApplePlateformesiOS, macOS, tvOS et visionOS
Title

Voz · Reconnaissance vocale

Décrire son annonce à voix haute sur mobile

Le vendeur touche le micro et décrit l'article, et Voz écrit la description au fil de ses paroles. La transcription en direct ne fonctionne que sur les plateformes Apple ; sur Android et le web, Voz transcrit l'enregistrement une fois celui-ci terminé. Voz couvre 25 langues européennes.

2 s10 minutes d'audioiPhone 17 Pro
25Langueseuropéennes
337 MBSur le disqueApple, téléchargé à la première utilisation
Voz

Moderator · Modération de contenu

Détecter les images NSFW avant leur mise en ligne

Moderator vérifie chaque photo sur le téléphone du vendeur dès qu'elle est ajoutée : les photos de nu qu'il signale n'atteignent jamais vos serveurs ni une annonce. Faites examiner les images signalées par une personne avant de bloquer un compte.

87,8 %Nudité détectée
93,7 %Photos sûres laissées passer
9,7 MBSur l'appareilApple ; 9,2 MB sur Android et le web
Moderator

Eye · Classification d'images · Bêta

Choisir les meilleures photos d'une annonce

Eye étiquette chaque photo dès qu'elle est ajoutée : ce qu'elle montre, si elle est nette et si elle est réussie. Demandez au vendeur de reprendre une photo floue, et placez en tête de l'annonce celle qui fait la meilleure image de couverture.

5,5 msPar photoNeural Engine, Mac avec puce Apple M6
558Scènes
48 MBSur l'appareilApple ; 66 MB sur Android et le web
Eye

Schemer · Extraction structurée · Bêta fermée

Transformer le message d'un acheteur en offre

Schemer lit le prix, l'heure de retrait et le lieu dans le message d'un acheteur, pour que le vendeur accepte l'offre d'un seul geste et conclue la vente. Schemer laisse un champ vide quand le message ne le précise pas. Schemer est en bêta fermée, et son premier SDK, pour Swift, arrive bientôt.

85 msPar messageM1, enregistrement court à quatre champs
13Langues
230 MBSur le disque
Schemer

Toxic · Triage de discours de haine · Bêta

Détecter et masquer les injures dans la messagerie

Toxic attribue à chaque message un score de haine, d'injure et de menace, en 35 langues. Masquez les messages signalés pour le destinataire, ou demandez à l'expéditeur de reformuler avant qu'il appuie sur Envoyer. Toxic est une aide au triage : confiez les signalements à une personne plutôt que de les supprimer d'office.

35Langues
3Signauxhaineux, injurieux, menaçant
102 MBSur l'appareilApple ; 103 MB sur Android et le web
Toxic

Prise en main

Installez les modèles dont vous avez besoin depuis un seul SDK, en Swift, Kotlin ou JavaScript. L'exemple bloque les données personnelles d'un message avec Redact, et masque les messages injurieux avec Toxic.

iOS, macOS, Linux, Windows

Installation
// 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: "Moderator", package: "desert-ant-core")
.product(name: "Voz", package: "desert-ant-core")
Exemple - Swift
import Redact
import Toxic

let redact = Redact()
let toxic = Toxic()

// before a message is sent
let r = try await redact.redaction(of: message)
if !r.items.isEmpty { holdBack(r.items) }

// when a message arrives
let check = try await toxic.analyze(incoming)
if check.isToxic { foldAway(incoming, check.content) }

Android

Installation
// build.gradle.kts (Maven Central)
implementation("ai.desertant:redact:4.3.0")
implementation("ai.desertant:toxic:4.3.0")
implementation("ai.desertant:moderator:4.3.0")
implementation("ai.desertant:voz:4.3.0")
Exemple - 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 r = redact.redaction(message)
if (r.redactedText != message) holdBack(r)

// when a message arrives
val check = toxic.analyze(incoming)
if (check.isToxic) foldAway(incoming, check.content)

Web, Node.js

Installation
npm i @desert-ant-labs/redact @desert-ant-labs/toxic @desert-ant-labs/moderator @desert-ant-labs/voz @litertjs/core onnxruntime-web
Exemple - 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 r = await redact.redaction(message);
if (r.items.length) holdBack(r.items);

// when a message arrives
const check = await toxic.analyze(incoming);
if (check.isToxic) foldAway(incoming, check.content);

Vous développez une marketplace ?

Dites-nous ce que vous voulez apporter à vos acheteurs et à vos vendeurs, et nous vous aiderons à choisir les modèles et à planifier l'intégration.