Caso de uso

Moderación con IA para foros, con el hilo como contexto

Los moderadores de foros pasan horas con reportes, posts fuera de tema y discusiones que se salen de control. VigiMod revisa cada post nuevo antes de publicarlo, leyendo los posts anteriores del hilo y las reglas del foro: los casos claros se resuelven y solo los dudosos llegan a una persona.

Qué lo hace difícil

Las respuestas solo tienen sentido en el hilo

«Está claro que no lo leíste» es normal o grosero según lo anterior. VigiMod lee hasta diez posts previos.

Fuera de tema y ventas

Muchos foros prohíben vender, la política u otros temas. Las reglas escritas con palabras normales los detectan como cualquier categoría.

Demasiados reportes

Retener los posts marcados para revisión hace que los moderadores vean una cola corta en lugar de todo el foro.

Cómo funciona con VigiMod

  1. 1

    Antes de guardar un post nuevo, tu foro lo envía a VigiMod con los últimos posts del hilo y tus reglas.

  2. 2

    Si no hay nada marcado, el post se publica como siempre.

  3. 3

    Si algo está marcado, el post espera en la cola de moderación con la categoría que lo activó.

Reglas para copiar

Envíalas en el campo rules: cada una vuelve con su propia puntuación, como una categoría integrada.

{
  "rules": {
    "no-selling": "Nada de compraventa de objetos",
    "no-politics": "Nada de discusiones sobre política o elecciones",
    "on-topic": "Aquí solo se habla de fotografía",
    "no-personal-attacks": "Nada de comentarios sobre otros miembros en lugar de sus argumentos"
  }
}

Ejemplo

Una función en Python para llamar antes de guardar un post: los posts marcados esperan a un moderador en lugar de publicarse.

Python

# pip install requests
# Call this before saving a new post: flagged posts wait for a moderator instead of going live.
import os
import requests

RULES = {
    "no-selling": "No buying or selling items",
    "on-topic": "Only photography talk here",
}

def check_post(text: str, author_id: str, thread: list[str]) -> dict:
    r = requests.post(
        "https://api.vigimod.com/moderate",
        headers={"X-API-Key": os.environ["VIGIMOD_KEY"]},
        json={
            "text": text[:2000],
            "context": [p[:2000] for p in thread[-10:]],   # the previous posts of the thread
            "rules": RULES,
            "user_id": author_id,
            "scope": "forum",
        },
        timeout=5,
    )
    r.raise_for_status()
    return r.json()

# in your "new post" handler
result = check_post(post.body, str(post.author_id), [p.body for p in thread.posts])
post.status = "pending_review" if result["flagged"] else "published"
post.flagged_by = [name for name, hit in result["flags"].items() if hit]

Consejos

  • Retén los posts marcados para revisión en lugar de borrarlos: los moderadores tienen la última palabra.
  • Un mensaje puede tener hasta 2000 caracteres: en posts más largos, revisa la primera y la última parte.
  • Usa reglas distintas por sección: el mercadillo permite vender, la sección general no.

Preguntas

¿Funciona con Discourse, phpBB, Flarum o NodeBB?
Sí, con un pequeño plugin o un webhook: cualquier foro que pueda hacer una llamada HTTP al crear un post puede usar VigiMod.
¿Y los posts largos?
Cada mensaje puede tener hasta 2000 caracteres. Revisa los posts más largos por partes, o el principio y el final.
¿Cada sección puede tener sus reglas?
Sí. Las reglas se envían con cada petición, así que cada sección, categoría o etiqueta puede enviar las suyas.
¿Es gratis?
Durante la beta, sí: 120 mensajes por minuto por clave API y todas las funciones incluidas.

Pruébalo en tu comunidad

Crea una clave API gratuita en dos minutos. Sin tarjeta y sin periodo de prueba.