Jev: Clasificar
Descripción
Sección titulada «Descripción»Clasifica un texto en una de las categorías que defines y devuelve la categoría, la confianza y las probabilidades de todas. Si la confianza queda por debajo del umbral, la categoría pasa a uncertain (o el texto que elijas) y la categoría original queda en raw_category: ideal para mandar esos casos a revisión humana.
El nodo tiene un puerto de salida por categoría (en el orden en que las defines) más Dudoso, para lo que quede por debajo del umbral: conecta cada puerto a su destino sin necesidad de un Switch. Si prefieres una sola salida, conecta solo la normal y enruta tú con un nodo Switch sobre \{\{jev.category\}\}.
Puedes añadir preguntas extra en paralelo (por ejemplo, urgencia o enfado) en la misma llamada; salen en jev.extra.
Describe cada categoría de forma contrastiva (qué cubre y qué no) y evita categorías solapadas: la calidad de la clasificación depende sobre todo de eso.
Configuración
Sección titulada «Configuración»Parámetros
Sección titulada «Parámetros»| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| credentials_id | credentials | Sí | Credencial TypeSafe (API key). |
| model | select | Sí | 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_mode | select | Sí | Qué se evalúa: text (un texto), object (objeto con campos con nombre, lo recomendado) o all (todos los datos que llegan al nodo). |
| state | textarea | No | Texto u objeto JSON a evaluar. Admite variables \{\{campo\}\}. |
| long_context | boolean | No | Contexto 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_key | text | No | Clave de los datos donde se guarda el resultado. Por defecto jev; el resto de los datos se conserva. |
| instructions | textarea | No | Qué se clasifica, p. ej. «Which team should handle this». |
| categories | json | Sí | Mapa {nombre: descripción} o lista [{name, description}] (hasta 255). La descripción puede ser un objeto {covers, excludes, examples}. |
| min_confidence | number | No | Confianza mínima (0 a 1) para aceptar la categoría. Por defecto 0,5. |
| uncertain_label | text | No | Categoría a devolver si no se alcanza la confianza. Por defecto uncertain. |
| extra_questions | json | No | Preguntas extra (mismo formato que Jev: Preguntar). No pueden llamarse category. |
Credenciales
Sección titulada «Credenciales»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": "next-node", "data": { "...": "datos de entrada, intactos", "jev": { "category": "technical", "raw_category": "technical", "confidence": 0.82, "uncertain": false, "probabilities": { "billing": 0.09, "technical": 0.82, "sales": 0.09 }, "extra": { "urgente": { "type": "noul", "probability": 0.9, "confidence": 0.8, "answer": "yes" } }, "model": "jev-1.13.0", "usage": { "input_tokens": 150, "output_tokens": 6 }, "cost_usd": 0.000006 } }}Puertos route_0 … route_N (uno por categoría, en el orden de categories) y route_uncertain. Si no conectas ningún puerto y usas la salida normal, el nodo sigue por ella (nextModule). jev.route dice por cuál salió.
Ejemplo
Sección titulada «Ejemplo»Triaje de tickets
Sección titulada «Triaje de tickets»Categorías:
{ "billing": { "covers": "Payments, invoices, refunds", "excludes": "Bugs in the invoicing screen" }, "technical": "Bugs, errors or integration problems", "sales": "Pricing, plans or account questions"}El nodo muestra cuatro puertos: billing, technical, sales y Dudoso. Conecta cada uno al canal de su equipo y Dudoso a la revisión humana.
- 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_usdes 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_erroryconnection_error. 429, 529, 5xx y los cortes de red se reintentan solos (hasta 3 veces con espera creciente); el resto no. - Confianza:
confidenceno es una garantía de acierto: calibra los umbrales con tus propios casos y empieza de forma conservadora. No automatices acciones destructivas.