Abbiamo integrato Jev, un modello di intelligenza artificiale sviluppato da TypeSafe AI, in diversi flussi di lavoro di LiteTMS. Può aiutare a individuare i messaggi degli autisti che richiedono attenzione, verificare se due toponimi si riferiscono alla stessa città, suggerire come interpretare un file di importazione ed evitare di tradurre un messaggio già nella lingua del destinatario. Si tratta di rapide valutazioni all'interno di un sistema di gestione dei trasporti, non di un nuovo assistente di chat per l'ufficio.
Se non conoscete ancora questo strumento, il nostro primo articolo su Jev ne illustra il funzionamento di base. Un'IA generativa di testo scrive una risposta a partire da un prompt. Jev è invece progettato per rispondere a una domanda più specifica, come ad esempio: «Questo messaggio richiede una risposta?». LiteTMS impiega poi tale valutazione all'interno del flusso di lavoro corrispondente.
I messaggi degli autisti che richiedono maggiore attenzione
Un autista può inviare un aggiornamento di routine, fare una domanda o segnalare un problema. L'ufficio traffico non dovrebbe dover gestire ogni messaggio con la stessa urgenza. Nella chat con gli autisti abbiamo aggiunto un controllo gestito da Jev che suddivide i messaggi in arrivo per argomento e valuta se il dispatcher deve intervenire. Il sistema funziona sia con i messaggi di testo sia con le note vocali, una volta trascritte.
Per fare un esempio, «Il camion ha una gomma a terra» è ben diverso da «Sono arrivato». Un messaggio valutato come meritevole di intervento può comparire nell'elenco delle priorità; un guasto al veicolo può anche attivare una notifica urgente. L'ufficio può comunque leggere la conversazione, rispondere e contrassegnare la pratica come risolta. Jev non invia risposte all'autista né decide come gestire il guasto.
Per un messaggio relativo a una gomma a terra, la valutazione dell'IA può essere rappresentata in formato JSON in questo modo:
{
"input": { "driver_message": "I have a flat tyre and cannot continue." },
"jev_assessment": {
"category": "vehicle_problem",
"needs_action_probability": 0.94
}
}
LiteTMS legge la categoria e il punteggio di necessità di intervento. Un problema al veicolo con un punteggio così alto può essere contrassegnato come urgente, segnalando all'ufficio di intervenire.
Nomi di località negli ordini e nei documenti di trasporto
Un documento potrebbe riportare «Köln» mentre l'ordine indica «Cologne». Un confronto puramente testuale rileva due parole diverse, anche se entrambe identificano la stessa città. Abbiamo inserito una verifica con Jev dedicata proprio a questo caso nell'inserimento ordini assistito dall'IA e nel controllo delle località sui documenti CMR.
Durante l'inserimento dell'ordine, questo controllo aiuta a scegliere tra le località suggerite o lascia una corrispondenza incerta alla revisione manuale. Durante la verifica di una CMR, una risposta affidabile sulla coincidenza delle città può risolvere una discrepanza nel nome della località che altrimenti verrebbe segnalata come anomalia. Una fase di IA distinta legge il documento; Jev stabilisce se i toponimi coincidono.
Per i due nomi di città, la valutazione può presentarsi così:
{
"input": { "document_place": "Köln", "order_city": "Cologne" },
"jev_assessment": { "same_city_probability": 0.92 }
}
L'elevato punteggio di coincidenza della città consente di escludere l'anomalia sul nome della località. Gli altri controlli sulla CMR restano separati.
File di importazione con intestazioni insolite
Il passaggio di dati verso un nuovo sistema inizia spesso da un foglio di calcolo. Un file riporta «numero di immatricolazione», un altro «targa» e un terzo ha intestazioni difficili da riconoscere. LiteTMS applica innanzitutto le consuete regole di mappatura. Quando queste regole lasciano dei campi vuoti, Jev può suggerire quale tipo di record contenga il file e quali colonne associare ai vari campi.
I suggerimenti vengono contrassegnati come generati dall'IA e l'operatore che importa il file può verificare la mappatura prima di creare i record. Abbiamo applicato questo approccio alla procedura guidata di importazione generale, oltre che all'importazione delle trattative CRM e dei carichi. Un controllo analogo permette di riconoscere un'azienda già presente nell'anagrafica clienti e vettori nonostante una grafia leggermente diversa, evitando la creazione di duplicati quando il livello di corrispondenza è sufficientemente alto.
Supponiamo che un foglio di calcolo della flotta utilizzi «Unit ref.» per le targhe e «Internal ID» per i codici veicolo interni all'azienda. I valori di esempio aiutano Jev a distinguere i due campi. Quando le normali regole di intestazione lasciano vuoto il campo della targa, la valutazione può presentarsi in questo modo:
{
"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 può quindi proporre la prima colonna per i numeri di targa. L'ufficio controlla la mappatura prima di importare i dati. Se nessuna colonna corrisponde, Jev può selezionare «none», lasciando il campo alla mappatura manuale dell'utente anziché forzare un abbinamento.
Una verifica preliminare prima della traduzione in chat
A volte un messaggio è già scritto nella lingua di chi lo legge. Prima di avviare una traduzione completa della chat, LiteTMS può chiedere a Jev di verificarlo. Una corrispondenza affidabile consente al sistema di mostrare il messaggio originale; una risposta incerta lo invia lungo il consueto percorso di traduzione. Ciò mantiene la decisione ben delimitata: il destinatario riceve comunque la traduzione quando il sistema non può ignorarla con sicurezza.
Prendiamo un autista che scrive «Jestem na miejscu, czekam na załadunek», ovvero «Sono sul posto, aspetto di caricare». Per un operatore che usa il polacco, il controllo può produrre questa valutazione:
{
"input": {
"message": "Jestem na miejscu, czekam na załadunek.",
"reader_language": "pl"
},
"jev_assessment": { "language": "pl", "probability": 0.96 }
}
La lingua rilevata corrisponde a quella del lettore, quindi LiteTMS può mostrare l'originale. Per un operatore che usa l'inglese, lo stesso messaggio in polacco richiede comunque la traduzione. Una risposta breve come «OK» fornisce meno informazioni: quando la lingua non può essere identificata con certezza, il consueto percorso di traduzione resta disponibile.
Come si integra la valutazione di Jev in LiteTMS
Jev fornisce a LiteTMS un segnale utile, mentre l'ufficio mantiene il pieno controllo sulle operazioni. Le integrazioni sono native ed entrano in funzione quando il livello decisionale della piattaforma è attivo, in base alle impostazioni aziendali. Se Jev non è disponibile, i normali flussi di lavoro di chat, documenti e importazione proseguono senza interruzioni.
Uno sguardo tecnico: TypeSafe Jev, JSON e Java
Per i lettori che desiderano comprendere il funzionamento sottostante, il punto di partenza ideale è la richiesta inviata. Come mostra la guida rapida di TypeSafe, una richiesta contiene state, ossia le informazioni da valutare, e questions, ovvero le valutazioni da effettuare. Una domanda noul restituisce un numero compreso tra 0 e 1 che rappresenta la probabilità che un'affermazione sia vera. Una domanda choice seleziona tra opzioni predefinite, ed è il modo in cui richiediamo la categoria di un messaggio.
Ecco la domanda relativa all'azione da compiere, con l'identificatore del modello configurato nella nostra integrazione 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 della risposta può presentarsi così:
{
"answers": {
"needs_action": {
"type": "noul",
"noul": 0.94
}
}
}
L'applicazione legge answers.needs_action.noul e applica una regola. LiteTMS impiega una soglia di azione di 0.55 per richiamare l'attenzione sui messaggi dell'autista. Dopo aver decodificato il JSON, lo stesso controllo può essere scritto in 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");
}
Il codice verifica che il valore sia utilizzabile prima di confrontarlo con la soglia. In LiteTMS, la classificazione per categoria fornisce l'altra parte della regola: un problema al veicolo che richiede attenzione genera anche un avviso urgente. Il modello valuta il messaggio; l'applicazione stabilisce l'azione da intraprendere. Se la risposta non è disponibile, il normale flusso della chat continua.
La soglia dipende dai passaggi successivi. Per un suggerimento sulle colonne di importazione, LiteTMS accetta una colonna selezionata con una probabilità pari ad almeno 0.60; per tralasciare la traduzione, la lingua dell'operatore deve essere selezionata con almeno 0.90. Un punteggio di 0.85 può quindi supportare un suggerimento di colonna sottoposto a revisione manuale, ma non è sufficiente per ignorare la traduzione della chat. Ciascuna regola riflette l'impatto di quella specifica decisione.
Domande frequenti
Chi ha sviluppato Jev AI?
TypeSafe AI ha sviluppato Jev come modello System One per decisioni strutturate. LiteTMS lo integra in flussi di lavoro specifici, come la valutazione dei messaggi degli autisti e la corrispondenza dei toponimi.
A cosa serve Jev AI in LiteTMS?
Jev è impiegato per la valutazione preliminare dei messaggi degli autisti, la verifica della coincidenza delle città nell'acquisizione degli ordini e nei controlli di luogo della CMR, i suggerimenti di importazione e il controllo di corrispondenza linguistica prima della traduzione della chat. Le impostazioni della piattaforma e dell'azienda stabiliscono se una singola funzione è attiva in un determinato ambiente di lavoro.
Jev risponde agli autisti o approva le lettere di vettura CMR?
No. Può contrassegnare un messaggio dell'autista che richiede attenzione e valutare se due toponimi si riferiscono alla stessa città. La gestione del messaggio resta affidata a una persona, e la coincidenza della città non convalida l'intero documento CMR.
Cosa succede se Jev è incerto o non disponibile?
LiteTMS mantiene il flusso di lavoro esistente. Ad esempio, una verifica incerta della lingua segue il normale percorso di traduzione della chat, mentre un suggerimento di importazione incerto lascia la mappatura alla revisione di un operatore.
Rimani aggiornato
Fai spazio a letture migliori.
Scegli LiteTMS come fonte preferita per trovare più facilmente i nostri articoli su Google.
Scegli LiteTMS su GoogleConferma la scelta su Google · Si apre in una nuova scheda