U bekijkt een niet-officiële automatische vertaling. Sommige bewoordingen kunnen onnauwkeurig zijn.

Technologie

Jev AI in LiteTMS: waar we het aan het werk hebben gezet

Lezen als markdown

We hebben Jev, een AI-model van TypeSafe AI, geïntegreerd in verschillende LiteTMS-workflows. Het helpt bij het signaleren van chauffeursberichten die aandacht vereisen, controleert of twee plaatsnamen naar dezelfde stad verwijzen, doet voorstellen voor het inlezen van een importbestand en voorkomt het vertalen van berichten die al in de taal van de ontvanger staan. Dit zijn gerichte beoordelingen binnen een transport management system, geen nieuwe chatassistent voor kantoor.

Als de naam u nog niets zegt, legt ons eerste artikel over Jev het concept uit. Tekstgenererende AI schrijft een antwoord op een prompt. Jev is juist ontworpen om een specifiekere vraag te beantwoorden, zoals: “Heeft dit bericht een antwoord nodig?” LiteTMS gebruikt die beoordeling vervolgens binnen de betreffende workflow.

Chauffeursberichten die extra aandacht verdienen

Een chauffeur kan een routinematige update sturen, een vraag stellen of een probleem melden. De planning hoeft niet elk bericht als even urgent te behandelen. In de chauffeurschat hebben we een Jev-controle toegevoegd die binnenkomende berichten op onderwerp sorteert en beoordeelt of de planner actie moet ondernemen. Dit werkt met tekstberichten én met spraakberichten zodra de spraak is getranscribeerd.

Zo is “De vrachtwagen heeft een lekke band” heel iets anders dan “Ik ben gearriveerd.” Een bericht dat als actievereisend wordt beoordeeld, kan in het aandachtsvenster verschijnen; een voertuigprobleem kan bovendien een urgente melding activeren. De planning kan het gesprek gewoon meelezen, reageren en de zaak als afgehandeld markeren. Jev stuurt geen antwoord naar de chauffeur en bepaalt niet hoe een pechsituatie moet worden opgelost.

Voor een melding over een lekke band ziet de AI-beoordeling er in JSON bijvoorbeeld zo uit:

{
  "input": { "driver_message": "I have a flat tyre and cannot continue." },
  "jev_assessment": {
    "category": "vehicle_problem",
    "needs_action_probability": 0.94
  }
}

LiteTMS leest de categorie en de actiescore uit. Een voertuigprobleem met zo'n hoge score kan als urgent worden getoond, zodat de planning meteen weet dat er actie nodig is.

Plaatsnamen in orders en transportdocumenten

Op een document kan “Köln” staan, terwijl in de order “Cologne” staat. Een letterlijke tekstvergelijking ziet twee verschillende woorden, hoewel ze naar dezelfde stad verwijzen. Voor deze specifieke vraag hebben we een Jev-controle toegevoegd aan de AI-ondersteunde orderinvoer en aan de plaatsnaamcontroles voor CMR-documenten.

Tijdens de orderinvoer helpt het bij het kiezen tussen voorgestelde plaatsen of zet het een twijfelachtige match klaar voor handmatige controle. Bij de controle van een CMR kan een zekere uitkomst dat het om dezelfde stad gaat een verschil in plaatsnaam opheffen dat anders gemarkeerd zou worden. Een aparte AI-stap leest het document uit; Jev beoordeelt of de plaatsnamen overeenkomen.

Voor de twee stadsnamen kan de beoordeling er als volgt uitzien:

{
  "input": { "document_place": "Köln", "order_city": "Cologne" },
  "jev_assessment": { "same_city_probability": 0.92 }
}

De hoge score voor dezelfde stad kan de plaatsnaammismatch wegnemen. De overige onderdelen van de CMR-controle blijven hiervan gescheiden.

Importbestanden met onbekende kolomkoppen

Gegevens overzetten naar een nieuw systeem begint vaak met een spreadsheet. Het ene bestand gebruikt “kenteken”, een ander “kentekenplaat”, en een derde heeft kolomkoppen die lastig te herkennen zijn. LiteTMS past eerst standaard koppelingsregels toe. Waar die regels geen uitsluitsel geven, kan Jev voorstellen wat voor soort gegevens het bestand bevat en welke kolommen bij welke velden horen.

De suggesties worden gemarkeerd als AI-ondersteund, en de gebruiker die het bestand importeert kan de toewijzing controleren voordat de records worden aangemaakt. We hebben deze aanpak gekoppeld aan de algemene importwizard, evenals aan de import van CRM-deals en vrachten. Een vergelijkbare controle kan een bedrijf herkennen dat al in de relatieslijst staat ondanks een afwijkende spelling, wat dubbele invoer helpt voorkomen wanneer de overeenkomst betrouwbaar genoeg is.

Stel dat een geïmporteerde wagenparkspreadsheet “Unit ref.” gebruikt voor kentekens en “Internal ID” voor de eigen voertuigcodes van het bedrijf. De voorbeeldwaarden helpen Jev het onderscheid te maken. Wanneer de standaard koppelingsregels het kentekenveld leeg laten, kan de beoordeling er als volgt uitzien:

{
  "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 kan dan de eerste kolom voorstellen voor kentekens. De planning controleert die toewijzing voordat de gegevens worden geïmporteerd. Als er geen enkele kolom past, kan Jev “none” selecteren, zodat het veld handmatig kan worden toegewezen in plaats van een geforceerde koppeling te maken.

Een gerichte controle vóór de vertaling in de chat

Soms is een bericht al geschreven in de taal van de ontvanger. Voordat LiteTMS een volledige chatvertaling start, kan het Jev vragen dit te controleren. Bij een duidelijke match toont het systeem het originele bericht; bij twijfel doorloopt het bericht het gebruikelijke vertaalproces. Zo blijft de beslissing scherp afgebakend: de lezer krijgt alsnog de vertaling wanneer het systeem deze niet met zekerheid kan overslaan.

Neem een chauffeur die schrijft: „Jestem na miejscu, czekam na załadunek”, wat betekent: „Ik ben ter plaatse en wacht op het laden.” Voor een lezer die Pools gebruikt, kan de controle de volgende beoordeling opleveren:

{
  "input": {
    "message": "Jestem na miejscu, czekam na załadunek.",
    "reader_language": "pl"
  },
  "jev_assessment": { "language": "pl", "probability": 0.96 }
}

De gedetecteerde taal komt overeen met de taal van de lezer, waardoor LiteTMS het origineel kan tonen. Voor een lezer die Engels gebruikt, moet ditzelfde Poolse bericht nog wel worden vertaald. Een kort antwoord zoals „OK” biedt minder uitsluitsel: wanneer de taal niet met zekerheid kan worden vastgesteld, blijft het gebruikelijke vertaaltraject beschikbaar.

Hoe de beoordeling door Jev in LiteTMS past

Jev levert LiteTMS een waardevol signaal, terwijl de planning en administratie op kantoor de controle behouden. De integraties zijn ingebouwd en draaien zodra de beslissingslaag van het platform is geactiveerd, afhankelijk van de bedrijfsinstellingen. Als Jev niet beschikbaar is, lopen de gebruikelijke workflows voor chat, documenten en import gewoon door.

Een technische blik: TypeSafe Jev, JSON en Java

Voor lezers die willen zien wat er onder de motorkap gebeurt, is de verzonden query een goed startpunt. Zoals de quickstart van TypeSafe laat zien, bevat een request state (de te beoordelen gegevens) en questions (de uit te voeren beoordelingen). Een noul-vraag levert een getal tussen 0 en 1 op, wat de waarschijnlijkheid weergeeft dat een stelling klopt. Een choice-vraag kiest uit benoemde opties; op die manier vragen we de categorie van een bericht op.

Hier is de actievraag op zichzelf, met de model-identifier zoals geconfigureerd in onze OpenRouter-integratie:

{
  "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."
    }
  }
}

Het relevante deel van het antwoord kan er zo uitzien:

{
  "answers": {
    "needs_action": {
      "type": "noul",
      "noul": 0.94
    }
  }
}

De applicatie leest answers.needs_action.noul uit en past een regel toe. LiteTMS hanteert een actiedrempel van 0.55 om chauffeursberichten onder de aandacht te brengen. Na het decoderen van de JSON kan dezelfde controle in Java worden geschreven:

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");
}

De code controleert of de waarde bruikbaar is voordat deze wordt vergeleken met de drempelwaarde. Binnen LiteTMS levert de categoriebeoordeling het andere deel van de regel: een voertuigprobleem dat aandacht vereist, kwalificeert zich tevens voor een dringende melding. Het model beoordeelt het bericht; de applicatie bepaalt de actie. Als het antwoord ontbreekt, loopt de normale chat-workflow gewoon door.

De drempelwaarde hangt af van wat er vervolgens gebeurt. Bij een suggestie voor een importkolom accepteert LiteTMS een geselecteerde kolom met een waarschijnlijkheid van minimaal 0.60; het overslaan van een vertaling vereist dat de taal van de lezer met minimaal 0.90 is vastgesteld. Een score van 0.85 volstaat dus voor een kolomsuggestie die een medewerker handmatig controleert, maar is niet hoog genoeg om de chatvertaling over te slaan. Elke regel weerspiegelt de consequenties van die specifieke beslissing.

Veelgestelde vragen

Wie heeft Jev AI ontwikkeld?

TypeSafe AI heeft Jev ontwikkeld als een System One-model voor gestructureerde besluitvorming. LiteTMS integreert het in specifieke workflows zoals het beoordelen van chauffeursberichten en het matchen van plaatsnamen.

Waarvoor wordt Jev AI gebruikt in LiteTMS?

Jev wordt ingezet voor de triage van chauffeursberichten, controles op identieke steden bij orderinvoer en CMR-plaatscontroles, importsuggesties en een taalcontrole voorafgaand aan chatvertaling. Instellingen op platform- en bedrijfsniveau bepalen of een afzonderlijke functie actief is in een werkomgeving.

Beantwoordt Jev berichten van chauffeurs of keurt het CMR-documenten goed?

Nee. Het kan een chauffeursbericht markeren voor controle en beoordelen of twee plaatsnamen naar dezelfde stad verwijzen. Een medewerker behandelt het bericht, en een positieve plaatsnaamcontrole valideert niet het volledige CMR-document.

Wat gebeurt er als Jev twijfelt of niet beschikbaar is?

LiteTMS behoudt de bestaande workflow. Zo doorloopt een onzekere taalcontrole het normale vertaaltraject van de chat, terwijl bij een twijfelachtige importsuggestie de toewijzing ter beoordeling aan een medewerker wordt overgelaten.

Delen

Blijf op de hoogte

Maak ruimte voor betere artikelen.

Kies LiteTMS als voorkeursbron om meer van onze artikelen op Google te vinden.

Kies LiteTMS op Google

Bevestig uw keuze op Google · Opent in een nieuw tabblad

Persoonlijke onboarding

LiteTMS is live. Klaar om uw bedrijf aan te sluiten?

LiteTMS is live en we onboarden nieuwe bedrijven persoonlijk. Laat uw e-mailadres achter om deel te nemen aan de volgende onboardinggroep. Zelfstandig registreren is binnenkort mogelijk.

Aanmelden voor de onboardinglijst