Integrámos o Jev, um modelo de IA da TypeSafe AI, em vários fluxos de trabalho do LiteTMS. Ajuda a identificar mensagens de motoristas que exigem atenção, a verificar se dois topónimos se referem à mesma cidade, a sugerir a interpretação de ficheiros de importação e a evitar traduzir mensagens que já estão no idioma do destinatário. Trata-se de pequenas avaliações pontuais dentro de um sistema de gestão de transportes, e não de um novo assistente de conversação para o escritório.
Se ainda não conhece o nome, o nosso primeiro artigo sobre o Jev explica o conceito. Uma IA geradora de texto redige uma resposta a um comando. O Jev foi concebido para responder a uma questão mais delimitada, como por exemplo: "Esta mensagem necessita de resposta?" O LiteTMS utiliza depois essa avaliação no fluxo de trabalho correspondente.
Mensagens de motoristas que merecem atenção redobrada
Um motorista pode enviar uma atualização de rotina, colocar uma questão ou comunicar um problema. O escritório não deve ter de tratar todas as mensagens com o mesmo nível de urgência. No chat com motoristas, adicionámos uma verificação com o Jev que organiza as mensagens recebidas por assunto e avalia se o gestor de tráfego precisa de intervir. Funciona tanto com mensagens escritas como com notas de voz após a respetiva transcrição.
Por exemplo, "O camião tem um pneu furado" é diferente de "Já cheguei". Uma mensagem classificada como exigindo ação pode surgir na vista de atenção; um problema na viatura pode também acionar uma notificação urgente. A equipa de tráfego continua a poder ler a conversa, responder e marcar o assunto como resolvido. O Jev não envia respostas ao motorista nem decide como resolver a avaria.
Para uma mensagem sobre um pneu furado, a avaliação de IA pode ser apresentada em JSON desta forma:
{
"input": { "driver_message": "I have a flat tyre and cannot continue." },
"jev_assessment": {
"category": "vehicle_problem",
"needs_action_probability": 0.94
}
}
O LiteTMS lê a categoria e a pontuação de ação. Um problema na viatura com uma pontuação tão elevada pode surgir como urgente, para que o escritório saiba que deve responder.
Nomes de localidades em ordens e documentos de transporte
Um documento pode indicar "Köln", enquanto a ordem de transporte refere "Cologne". Uma comparação textual direta vê duas palavras distintas, embora ambas designem a mesma cidade. Adicionámos uma verificação do Jev especificamente para esta situação na receção de ordens com assistência de IA e na conferência de localidades em documentos CMR.
Durante a receção de ordens, ajuda a escolher entre localidades sugeridas ou a deixar uma correspondência incerta para revisão manual. Ao verificar uma CMR, uma resposta inequívoca de mesma cidade pode eliminar uma divergência de topónimo que, de outro modo, seria assinalada. Uma etapa separada de IA lê o documento; o Jev avalia se os nomes das localidades correspondem.
Para os dois nomes de cidade, a avaliação pode ter este aspeto:
{
"input": { "document_place": "Köln", "order_city": "Cologne" },
"jev_assessment": { "same_city_probability": 0.92 }
}
A pontuação elevada de mesma cidade permite dissipar a divergência de topónimo. As restantes etapas da verificação da CMR continuam independentes.
Ficheiros de importação com cabeçalhos desconhecidos
A migração de dados para um novo sistema começa muitas vezes por uma folha de cálculo. Um ficheiro indica "matrícula", outro refere "número de matrícula" e um terceiro apresenta cabeçalhos difíceis de identificar. O LiteTMS utiliza primeiro regras normais de correspondência. Onde essas regras deixam lacunas, o Jev pode sugerir que tipo de registos o ficheiro contém e quais as colunas correspondentes a cada campo.
As sugestões surgem assinaladas como assistidas por IA, permitindo a quem importa o ficheiro rever o mapeamento antes de criar os registos. Integrámos esta abordagem no assistente geral de importação, bem como nas importações de cargas e negócios de CRM. Uma verificação associada consegue identificar uma empresa já existente na lista de parceiros, mesmo com grafias diferentes, ajudando a evitar duplicados sempre que a correspondência apresentar fiabilidade suficiente.
Suponha que uma folha de cálculo de frota importada utiliza "Ref. unidade" para as matrículas e "ID interno" para os códigos internos de viatura da empresa. Os valores de exemplo ajudam o Jev a distinguir os dois campos. Quando as regras habituais de cabeçalho deixam o campo da matrícula por preencher, a avaliação pode ter o seguinte aspeto:
{
"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 }
}
O LiteTMS pode assim sugerir a primeira coluna para as matrículas. O escritório revê esse mapeamento antes de importar os registos. Caso nenhuma coluna seja adequada, o Jev pode selecionar "none", deixando o campo para mapeamento manual pelo utilizador em vez de forçar uma correspondência.
Uma verificação simples antes da tradução do chat
Por vezes, uma mensagem já está escrita no idioma de quem a está a ler. Antes de executar uma tradução completa no chat, o LiteTMS pode solicitar ao Jev que verifique essa condição. Uma correspondência fiável permite que o sistema apresente a mensagem original; uma resposta incerta encaminha-a pelo fluxo habitual de tradução. Isto mantém a decisão contida: o leitor continua a receber a tradução sempre que o sistema não tiver a certeza de que pode ignorá-la.
Vejamos o exemplo de um motorista que escreve «Jestem na miejscu, czekam na załadunek», que significa «Cheguei e estou a aguardar o carregamento». Para um leitor cujo idioma seja o polaco, a verificação pode gerar esta avaliação:
{
"input": {
"message": "Jestem na miejscu, czekam na załadunek.",
"reader_language": "pl"
},
"jev_assessment": { "language": "pl", "probability": 0.96 }
}
O idioma detetado coincide com o idioma do leitor, pelo que o LiteTMS pode apresentar o original. Para um leitor que utilize o inglês, a mesma mensagem em polaco continuará a precisar de tradução. Uma resposta curta como «OK» é menos informativa: quando não é possível identificar o idioma com segurança, o percurso normal de tradução continua disponível.
Como a avaliação do Jev se integra no LiteTMS
O Jev fornece ao LiteTMS um sinal útil, ao mesmo tempo que a equipa de tráfego mantém o controlo das operações. As integrações são nativas e funcionam quando a camada de decisão da plataforma está ativada, sujeita às configurações da empresa. Se o Jev estiver indisponível, os fluxos habituais de chat, documentos e importação continuam a funcionar.
Uma perspetiva técnica: TypeSafe Jev, JSON e Java
Para os leitores que pretendem perceber o que acontece nos bastidores, o ponto de partida ideal é o pedido que enviamos. Tal como demonstra o guia de iniciação rápida da TypeSafe, um pedido contém state, com as informações a avaliar, e questions, com as avaliações a realizar. Uma questão noul devolve um número entre 0 e 1, que representa a probabilidade de uma afirmação ser verdadeira. Uma questão choice seleciona entre opções predefinidas, que é como questionamos a categoria de uma mensagem.
Eis a questão de ação isolada, utilizando o identificador de modelo configurado na nossa integração com o 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."
}
}
}
A parte relevante da resposta pode ter este aspeto:
{
"answers": {
"needs_action": {
"type": "noul",
"noul": 0.94
}
}
}
A aplicação lê answers.needs_action.noul e aplica uma regra. O LiteTMS utiliza um limiar de ação de 0.55 para a atenção a mensagens de motoristas. Após descodificar o JSON, a mesma verificação pode ser escrita em 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");
}
O código verifica se o valor é utilizável antes de o comparar com o limiar. No LiteTMS, a avaliação da categoria fornece a outra parte da regra: um problema com o veículo que exija atenção também se qualifica para um alerta urgente. O modelo avalia a mensagem; a aplicação define a ação. Se a resposta não estiver disponível, o fluxo normal de chat continua.
O limiar depende do que acontece em seguida. Para uma sugestão de coluna na importação, o LiteTMS aceita uma coluna selecionada com uma probabilidade de, pelo menos, 0.60; ignorar a tradução exige que o idioma do leitor seja identificado com pelo menos 0.90. Deste modo, uma pontuação de 0.85 pode servir para sugerir uma coluna que um operador irá rever, mas não é suficiente para ignorar a tradução no chat. Cada regra reflete a consequência dessa decisão em concreto.
Perguntas frequentes
Quem desenvolveu o Jev AI?
A TypeSafe AI desenvolveu o Jev como um modelo System One para decisões estruturadas. O LiteTMS integra-o em fluxos de trabalho específicos, como a avaliação de mensagens de motoristas e a correspondência de nomes de localidades.
Para que é utilizado o Jev AI no LiteTMS?
O Jev está associado à triagem de mensagens de motoristas, a verificações de mesma cidade na receção de pedidos de transporte e validações de locais na CMR, a sugestões de importação e à verificação de correspondência de idioma antes da tradução no chat. As definições da plataforma e da empresa determinam se uma funcionalidade específica está ativa num determinado ambiente de trabalho.
O Jev responde aos motoristas ou aprova documentos CMR?
Não. O sistema pode sinalizar uma mensagem de motorista para revisão e avaliar se dois nomes de localidades se referem à mesma cidade. É um operador que trata da mensagem, e um resultado de mesma cidade não valida todo o documento CMR.
O que acontece se o Jev tiver dúvidas ou estiver indisponível?
O LiteTMS mantém o fluxo de trabalho habitual. Por exemplo, uma verificação de idioma inconclusiva segue o percurso normal de tradução do chat, enquanto uma sugestão de importação incerta deixa o mapeamento para revisão humana.
Fique a par
Dê espaço a melhores leituras.
Escolha a LiteTMS como fonte preferencial para encontrar mais artigos nossos no Google.
Escolher a LiteTMS no GoogleConfirme a sua escolha no Google · Abre num novo separador