Ir al contenido

Jev: Verificar reglas

Ejecuta una batería de comprobaciones sí/no sobre un texto en una sola llamada y sale por Pasa (ninguna se dispara) o Marcado (alguna supera su umbral). jev.failed dice cuáles y con qué probabilidad; jev.blocked es true si alguna era de tipo bloquear.

Incluye comprobaciones predefinidas (sus instrucciones están en inglés, donde Jev rinde mejor):

PresetQué detectaAcción
spamSpam o publicidad masivamarcar
credentialsPide contraseñas, claves, códigos o tarjetasbloquear
piiDatos personales (documentos, teléfonos, direcciones, cuentas)marcar
injectionIntenta manipular a un asistente de IAbloquear

Puedes añadir comprobaciones propias. Mantén en código la lógica determinista (fechas, importes) y usa Jev solo para el juicio.

ParámetroTipoRequeridoDescripción
credentials_idcredentialsSíCredencial TypeSafe (API key).
modelselectSíModelo de Jev. jev-latest es un alias que cambia de modelo al publicarse versiones nuevas (hoy apunta a jev-1.13.0); en producción fija jev-1.13.0 o jev-1.14.0.
state_modeselectSíQué se evalúa: text (un texto), object (objeto con campos con nombre, lo recomendado) o all (todos los datos que llegan al nodo).
statetextareaNoTexto u objeto JSON a evaluar. Admite variables \{\{campo\}\}.
long_contextbooleanNoContexto largo (experimental): sube el límite del texto de 64k a 262k tokens. Es más lento y menos preciso; úsalo solo si el texto no cabe de otra forma.
output_keytextNoClave de los datos donde se guarda el resultado. Por defecto jev; el resto de los datos se conserva.
presetstextNoPredefinidas separadas por comas: spam, credentials, pii, injection. Por defecto spam,credentials.
checksjsonNoPropias: lista [{name, instructions, threshold?, action: "flag" o "block"}].
default_thresholdnumberNoUna comprobación se dispara si su probabilidad es mayor o igual. Por defecto 0,7.

Se requiere una credencial TypeSafe (credentials_id) con la api_key de la consola de TypeSafe (variable TYPESAFE_API_KEY). La clave es de tu cuenta: TypeSafe factura el consumo, no Floogos. En la credencial, el botón Test llama a GET /v1/models (no gasta tokens).

El resultado se añade a los datos de entrada (no los reemplaza): el ticket o el formulario siguen disponibles aguas abajo. Se lee como \{\{jev.campo\}\}.

{
"nextModule": "selected-route-target",
"data": {
"...": "datos de entrada, intactos",
"jev": {
"passed": false,
"blocked": true,
"failed": [
{
"name": "credentials",
"probability": 0.95,
"threshold": 0.7,
"action": "block"
}
],
"checks": {
"spam": 0.08,
"credentials": 0.95
},
"route": "flag",
"route_fallback": false,
"model": "jev-1.13.0",
"usage": {
"input_tokens": 90,
"output_tokens": 6
},
"cost_usd": 0.000004
}
}
}

Varias salidas: route_pass, route_flag. Cada puerto se conecta a su destino; el nodo elige por cuál sale.

Coloca Jev: Verificar reglas con credentials,injection antes de un agente: Pasa continúa hacia el agente; Marcado responde con un mensaje neutro y avisa a una persona.

  • Privacidad: el texto que evalúas sale de Floogos hacia TypeSafe, un tercero. Según su documentación no se usa para entrenar y la retención cero solo existe en su plan empresarial. No envíes datos que no puedas compartir; filtra antes con el nodo Jev: Verificar reglas (pii) si hace falta.
  • Idioma: Jev rinde mejor en inglés; otros idiomas, incluido el español, funcionan con menor precisión. Prueba con tus propios datos antes de automatizar y escribe las instrucciones en inglés si el resultado no es fiable.
  • Variables: el motor sustituye \{\{campo\}\} en la configuración antes de ejecutar el nodo. El nodo no vuelve a sustituir, así que un texto de usuario que contenga llaves viaja tal cual.
  • Coste: 0,042 $ por millón de tokens de entrada; la salida no se cobra. jev.cost_usd es una estimación por ejecución.
  • Errores: missing_credentials, validation (configuración o 422), auth_error (401), rate_limited (429), overloaded (529), state_too_large, jev_error y connection_error. 429, 529, 5xx y los cortes de red se reintentan solos (hasta 3 veces con espera creciente); el resto no.
  • Confianza: confidence no es una garantía de acierto: calibra los umbrales con tus propios casos y empieza de forma conservadora. No automatices acciones destructivas.