Hemos integrado Jev, un modelo de IA de TypeSafe AI, en varios flujos de trabajo de LiteTMS. Permite detectar mensajes de conductores que requieren atención, comprobar si dos topónimos corresponden a la misma ciudad, sugerir cómo interpretar un archivo de importación y evitar traducir mensajes que ya están en el idioma del destinatario. Se trata de pequeñas evaluaciones dentro de un sistema de gestión de transporte, no de un nuevo asistente de chat para la oficina.
Si aún no conoce el nombre, nuestro primer artículo sobre Jev explica el concepto. Una IA generadora de texto redacta una respuesta a partir de una instrucción. Jev, en cambio, está diseñado para responder a una pregunta más concreta, como: «¿Requiere respuesta este mensaje?». A continuación, LiteTMS utiliza esa evaluación dentro del flujo de trabajo correspondiente.
Mensajes de conductores que requieren mayor atención
Un conductor puede enviar una actualización rutinaria, hacer una pregunta o notificar una incidencia. La oficina no debería tener que tratar todos los mensajes con la misma urgencia. En el chat con conductores, hemos incorporado una comprobación con Jev que clasifica los mensajes entrantes por asunto y evalúa si el gestor de tráfico debe intervenir. Funciona tanto con mensajes de texto como con notas de voz una vez transcritas.
Por ejemplo, «El camión tiene un pinchazo» es muy distinto de «He llegado». Un mensaje evaluado con necesidad de intervención puede mostrarse en la vista de elementos pendientes de atención; una avería en el vehículo también puede activar una notificación urgente. El personal de oficina puede seguir leyendo la conversación, responder y marcar la incidencia como resuelta. Jev no responde al conductor ni decide cómo debe gestionarse la avería.
En el caso de un mensaje sobre un pinchazo, la evaluación de la IA se representa en JSON de la siguiente manera:
{
"input": { "driver_message": "I have a flat tyre and cannot continue." },
"jev_assessment": {
"category": "vehicle_problem",
"needs_action_probability": 0.94
}
}
LiteTMS lee la categoría y la puntuación de acción requerida. Una incidencia en el vehículo con una puntuación tan alta puede marcarse como urgente para que la oficina sepa que debe responder.
Nombres de localidades en pedidos y documentos de transporte
Un documento puede indicar «Köln» mientras que el pedido dice «Cologne». Una comparación de texto literal detectaría dos palabras distintas, aunque ambas designen la misma ciudad. Hemos incorporado una comprobación con Jev para este caso concreto en la recepción de pedidos asistida por IA y en la validación de localidades en cartas de porte CMR.
Durante la recepción de pedidos, ayuda a elegir entre las localidades sugeridas o deja las coincidencias dudosas pendientes de revisión. Al revisar un CMR, una coincidencia con alto grado de certeza sobre la misma ciudad puede descartar una discrepancia en el nombre de la localidad que de otro modo se habría marcado como alerta. Un paso de IA independiente lee el documento; Jev determina si los topónimos coinciden.
Para dos nombres de ciudad distintos, la evaluación puede tener este aspecto:
{
"input": { "document_place": "Köln", "order_city": "Cologne" },
"jev_assessment": { "same_city_probability": 0.92 }
}
La alta puntuación de coincidencia de ciudad permite dar por resuelta la discrepancia toponímica. El resto de las comprobaciones del CMR se gestionan por separado.
Archivos de importación con encabezados no reconocidos
El traspaso de información a un nuevo sistema suele comenzar con una hoja de cálculo. Un archivo puede indicar «número de matrícula», otro «placa» y un tercero encabezados difíciles de reconocer. LiteTMS aplica primero reglas de correspondencia estándar. Cuando estas reglas dejan campos sin asignar, Jev puede sugerir qué tipo de registros contiene el archivo y qué columnas corresponden a cada campo.
Las sugerencias se marcan como asistidas por IA, y el usuario que importa el archivo puede revisar la asignación antes de crear los registros. Hemos integrado este sistema en el asistente general de importación, así como en la importación de cargas y operaciones comerciales. Una comprobación similar permite reconocer si una empresa ya figura en la lista de colaboradores a pesar de tener una grafía distinta, lo que ayuda a evitar duplicados cuando el nivel de coincidencia es suficientemente alto.
Supongamos que una hoja de cálculo de flota importada utiliza «Unit ref.» para las matrículas e «Internal ID» para los códigos internos de los vehículos. Los valores de ejemplo permiten a Jev distinguir entre ambos. Cuando las reglas habituales para encabezados dejan vacío el campo de matrícula, la evaluación puede ser así:
{
"input": {
"columns": {
"col_0": { "header": "Unit ref.", "examples": ["WX 4821A", "PO 7619K"] },
"col_1": { "header": "Internal ID", "examples": ["FLEET-17", "FLEET-42"] }
},
"field_to_match": "registration_number"
},
"jev_assessment": { "column": "col_0", "probability": 0.93 }
}
LiteTMS puede sugerir entonces la primera columna para las matrículas. La oficina revisa esa asignación antes de importar los registros. Si ninguna columna encaja, Jev puede seleccionar «none», dejando el campo sin asignar para que el usuario lo haga manualmente en lugar de forzar una correspondencia errónea.
Una comprobación sencilla antes de traducir el chat
A veces, un mensaje ya está redactado en el idioma de quien lo lee. Antes de ejecutar una traducción completa del chat, LiteTMS puede pedirle a Jev que lo compruebe. Una coincidencia segura permite que el sistema muestre el mensaje original; una respuesta dudosa lo envía por la vía de traducción habitual. Esto mantiene la decisión acotada: el lector sigue recibiendo la traducción si el sistema no puede omitirla con total certeza.
Pensemos en un conductor que escribe «Jestem na miejscu, czekam na załadunek», que significa «He llegado y estoy esperando a cargar». Para un lector que use polaco, la comprobación puede generar esta evaluación:
{
"input": {
"message": "Jestem na miejscu, czekam na załadunek.",
"reader_language": "pl"
},
"jev_assessment": { "language": "pl", "probability": 0.96 }
}
El idioma detectado coincide con el del lector, por lo que LiteTMS puede mostrar el original. Para un lector en inglés, el mismo mensaje en polaco seguirá necesitando traducción. Una respuesta corta como «OK» resulta menos informativa: cuando el idioma no puede identificarse con seguridad, la vía habitual de traducción sigue disponible.
Cómo se integra la evaluación de Jev en LiteTMS
Jev proporciona a LiteTMS una señal de gran utilidad, mientras que el equipo de oficina mantiene el control del trabajo en todo momento. Las integraciones vienen incorporadas de serie y se ejecutan cuando se activa la capa de decisiones de la plataforma, según la configuración de la empresa. Si Jev no está disponible, los flujos habituales de chat, documentación e importación siguen funcionando con normalidad.
Aspectos técnicos: TypeSafe Jev, JSON y Java
Para aquellos lectores interesados en ver lo que ocurre en el fondo, el punto de partida idóneo es la consulta que enviamos. Como muestra la guía de inicio rápido de TypeSafe, una petición contiene state, la información que se evalúa, y questions, las evaluaciones que deben realizarse. Una consulta de tipo noul devuelve un número entre 0 y 1 que representa la probabilidad de que una afirmación sea cierta. Una consulta de tipo choice selecciona entre opciones predefinidas, que es como consultamos la categoría de un mensaje.
A continuación se muestra la consulta de acción por separado, utilizando el identificador de modelo configurado en nuestra integración con OpenRouter:
{
"model": "typesafe/jev-1.13",
"state": {
"driver_message": "I have a flat tyre and cannot continue."
},
"questions": {
"needs_action": {
"type": "noul",
"instructions": "The dispatcher must act on driver_message today: reply, give instructions, inform the customer or arrange help. Routine updates and thanks need no action."
}
}
}
La parte pertinente de la respuesta puede tener el siguiente aspecto:
{
"answers": {
"needs_action": {
"type": "noul",
"noul": 0.94
}
}
}
La aplicación lee answers.needs_action.noul y aplica una regla. LiteTMS utiliza un umbral de acción de 0.55 para requerir atención sobre el mensaje del conductor. Tras descodificar el JSON, esta misma comprobación puede escribirse en Java:
Double probability = 0.94; // Value from answers.needs_action.noul
boolean needsAttention = probability != null
&& Double.isFinite(probability)
&& probability >= 0.55
&& probability <= 1.0;
if (needsAttention) {
System.out.println("Flag the message for dispatcher review");
}
El código comprueba que el valor sea válido antes de compararlo con el umbral. En LiteTMS, la evaluación de la categoría aporta la otra parte de la regla: una incidencia en el vehículo que requiere atención clasifica además para una alerta urgente. El modelo evalúa el mensaje; la aplicación determina la acción. Si no hay respuesta, el flujo habitual del chat continúa.
El umbral varía según el paso posterior. Para sugerir una columna de importación, LiteTMS acepta una columna seleccionada con una probabilidad de al menos 0.60; en cambio, omitir la traducción exige que el idioma del lector se haya seleccionado con un mínimo de 0.90. Por tanto, una puntuación de 0.85 basta para respaldar una sugerencia de columna que revisará una persona, pero no es suficiente para omitir la traducción del chat. Cada regla refleja la repercusión de esa decisión concreta.
Preguntas frecuentes
¿Quién ha desarrollado Jev AI?
TypeSafe AI ha desarrollado Jev como un modelo de tipo «System One» para decisiones estructuradas. LiteTMS lo integra en flujos de trabajo específicos, como la evaluación de mensajes de conductores y la comprobación de topónimos.
¿Para qué se utiliza Jev AI en LiteTMS?
Jev se utiliza para el triaje de mensajes de conductores, la comprobación de si dos localidades corresponden a la misma ciudad en la recepción de órdenes y en las verificaciones de lugares de CMR, las sugerencias de importación y la detección del mismo idioma antes de traducir chats. La configuración de la plataforma y de la empresa determina si una función concreta está activa en el entorno de trabajo.
¿Responde Jev a los conductores o aprueba documentos CMR?
No. Puede marcar un mensaje del conductor para que se revise y evaluar si dos nombres de lugar hacen referencia a la misma ciudad. La gestión del mensaje siempre la realiza una persona, y una coincidencia de ciudad no valida la totalidad de la carta de porte CMR.
¿Qué ocurre si Jev no tiene certeza o no está disponible?
LiteTMS mantiene el flujo de trabajo predeterminado. Por ejemplo, si la comprobación del idioma no arroja certeza suficiente, se sigue el proceso habitual de traducción del chat, mientras que una sugerencia de importación dudosa deja la asignación en manos de la revisión manual.
Mantente al día
Haz hueco a mejores lecturas.
Elige LiteTMS como fuente preferida para encontrar más artículos nuestros en Google.
Elegir LiteTMS en GoogleConfirma tu elección en Google · Se abre en una pestaña nueva