---
title: Jev AI în LiteTMS: unde și cum l-am pus la treabă
description: Aflați cum ajută modelul Jev AI de la TypeSafe sistemul LiteTMS să evalueze mesajele șoferilor, locațiile și importurile, cu exemple JSON și Java.
slug: where-jev-helps-in-litetms
locale: ro
date: 2026-09-24
updated: 2026-09-25
category: technology
tags: jev, ai, transport, driver-chat, data-import
author: LiteTMS Team
draft: false
---

Am integrat Jev, un model de inteligență artificială dezvoltat de [TypeSafe AI](https://typesafe.ai/blog/introducing-system-one-models-and-jev?utm_source=litetms.eu), în mai multe fluxuri de lucru din LiteTMS. Acesta poate ajuta la identificarea mesajelor de la șoferi care necesită atenție, poate verifica dacă două denumiri de localități se referă la același oraș, poate sugera modul de interpretare a unui fișier de import și poate evita traducerea unui mesaj care este deja în limba utilizatorului. Sunt evaluări punctuale în cadrul unui sistem de management al transportului (TMS), nu un nou asistent de chat pentru dispecerat.

Dacă nu ați mai auzit de acest nume, [primul nostru articol despre Jev](/en/blog/jev-ai-decisions-transport) explică conceptul. Un model AI generativ redactează un răspuns la o solicitare. Jev este conceput pentru a răspunde la o întrebare mult mai punctuală, cum ar fi: „Necesită acest mesaj un răspuns?” LiteTMS utilizează apoi această evaluare în cadrul fluxului de lucru respectiv.

## Mesaje de la șoferi care merită o atenție sporită

Un șofer poate trimite o actualizare de rutină, poate adresa o întrebare sau poate raporta o problemă. Dispeceratul nu ar trebui să trateze fiecare mesaj ca fiind la fel de urgent. În chatul cu șoferii, am adăugat o verificare Jev care sortează mesajele primite în funcție de subiect și evaluează dacă dispecerul trebuie să intervină. Funcția este compatibilă atât cu mesajele scrise, cât și cu mesajele vocale, odată ce conținutul audio a fost transcris.

De exemplu, „Am pană de cauciuc la camion” este diferit de „Am sosit la destinație”. Un mesaj evaluat ca necesitând acțiune poate apărea în vizualizarea dedicată mesajelor prioritare, iar o problemă legată de vehicul poate declanșa, de asemenea, o notificare urgentă. Dispeceratul poate citi în continuare conversația, poate răspunde și poate marca situația ca rezolvată. Jev nu trimite un răspuns șoferului și nu decide cum ar trebui soluționată defecțiunea.

Pentru un mesaj despre o pană de cauciuc, evaluarea AI poate fi reprezentată în format JSON astfel:

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

LiteTMS citește categoria și scorul de acțiune. O problemă legată de vehicul cu un scor atât de ridicat poate fi marcată ca urgentă, astfel încât dispeceratul să știe că trebuie să intervină.

## Denumiri de localități în comenzi și documente de transport

Pe un document poate apărea „Köln”, în timp ce pe comandă scrie „Cologne”. O comparație textuală strictă vede două cuvinte diferite, deși ambele denumesc același oraș. Am adăugat o verificare Jev special pentru această situație la preluarea comenzilor asistată de AI și la verificarea localităților în documentele CMR.

La preluarea comenzilor, aceasta poate ajuta la selectarea dintre localitățile sugerate sau poate lăsa o potrivire incertă pentru verificare manuală. La verificarea unui CMR, o confirmare sigură privind același oraș poate soluționa o *neconcordanță a denumirii localității* care altfel ar fi fost semnalată. Un pas AI separat citește documentul, iar Jev evaluează dacă denumirile localităților coincid.

Pentru cele două denumiri de oraș, evaluarea poate arăta astfel:

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

Scorul ridicat de coincidență a orașului poate elimina neconcordanța de denumire. Celelalte etape ale verificării CMR rămân separate.

## Fișiere de import cu denumiri necunoscute de coloane

Transferul informațiilor într-un sistem nou începe adesea cu un tabel. Într-un fișier scrie „număr de înmatriculare”, în altul „număr auto”, iar un al treilea are antete greu de recunoscut. LiteTMS utilizează mai întâi reguli obișnuite de potrivire. Acolo unde aceste reguli nu găsesc corespondențe, Jev poate sugera ce tip de înregistrări conține fișierul și ce coloane corespund fiecărui câmp.

Sugestiile sunt marcate ca fiind generate cu ajutorul AI, iar persoana care importă fișierul poate verifica maparea înainte de a crea înregistrările. Am integrat această abordare în asistentul general de import, precum și la importul de oportunități CRM și de mărfuri. O verificare similară poate recunoaște o companie aflată deja în lista de parteneri, chiar dacă ortografia diferă, evitând astfel înregistrările duplicate atunci când potrivirea este suficient de sigură.

Să presupunem că un tabel importat cu date despre flotă folosește „Unit ref.” pentru numerele de înmatriculare și „Internal ID” pentru codurile interne ale vehiculelor. Valorile de exemplu îl ajută pe Jev să le diferențieze. Când regulile obișnuite pentru antete lasă câmpul numărului de înmatriculare necompletat, evaluarea poate arăta astfel:

```json
{
  "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 poate sugera atunci prima coloană pentru numerele de înmatriculare. Dispeceratul sau echipa din birou verifică această mapare înainte de a importa înregistrările. Dacă nicio coloană nu se potrivește, Jev poate selecta „none”, lăsând câmpul la dispoziția utilizatorului pentru a fi mapat manual, în loc să forțeze o potrivire.

## O verificare rapidă înainte de traducerea chatului

Uneori, un mesaj este deja redactat în limba persoanei care îl citește. Înainte de a lansa o traducere completă în chat, LiteTMS îi poate cere lui Jev să verifice acest lucru. O potrivire sigură îi permite sistemului să afișeze mesajul original; un răspuns incert îl trimite prin fluxul obișnuit de traducere. Astfel, decizia rămâne bine delimitată: cititorul primește în continuare traducerea atunci când sistemul nu poate renunța la ea cu certitudine.

Să luăm exemplul unui șofer care scrie „Jestem na miejscu, czekam na załadunek”, adică „Am ajuns și aștept la încărcare”. Pentru un cititor care folosește poloneza, verificarea poate genera această evaluare:

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

Limba detectată corespunde limbii cititorului, astfel că LiteTMS poate afișa mesajul original. Pentru un cititor care folosește engleza, același mesaj în poloneză are în continuare nevoie de traducere. Un răspuns scurt precum „OK” oferă mai puține indicii: când limba nu poate fi identificată cu certitudine, fluxul obișnuit de traducere rămâne disponibil.

## Cum se integrează evaluarea Jev în LiteTMS

Jev oferă LiteTMS un semnal util, în timp ce echipa din birou păstrează controlul operațiunilor. Integrările sunt native și rulează atunci când nivelul decizional al platformei este activat, conform setărilor companiei. Dacă Jev nu este disponibil, fluxurile obișnuite pentru chat, documente și importuri continuă normal.

## O perspectivă tehnică: TypeSafe Jev, JSON și Java

Pentru cititorii care doresc să vadă ce se întâmplă în culise, un punct de pornire util este interogarea pe care o trimitem. Așa cum arată [ghidul introductiv TypeSafe](https://docs.typesafe.ai/introduction/quickstart?utm_source=litetms.eu), o cerere conține `state`, adică informațiile de evaluat, și `questions`, respectiv evaluările care trebuie efectuate. O întrebare de tip `noul` returnează un număr între 0 și 1, care reprezintă probabilitatea ca o afirmație să fie adevărată. O întrebare de tip `choice` alege dintre mai multe opțiuni definite, metodă prin care determinăm categoria unui mesaj.

Iată întrebarea legată de acțiune luată separat, folosind identificatorul de model configurat în integrarea noastră OpenRouter:

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

Partea relevantă a răspunsului poate arăta astfel:

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

Aplicația citește `answers.needs_action.noul` și aplică o regulă. LiteTMS utilizează un prag de acțiune de `0.55` pentru atenționările legate de mesajele de la șoferi. După decodarea JSON-ului, aceeași verificare poate fi scrisă în Java:

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

Codul verifică dacă valoarea este validă înainte de a o compara cu pragul stabilit. În LiteTMS, evaluarea categoriei completează cealaltă parte a regulii: o problemă tehnică a vehiculului care necesită atenție se califică și pentru o alertă urgentă. Modelul evaluează mesajul; aplicația definește acțiunea. Dacă răspunsul lipsește, fluxul normal de chat continuă.

Pragul depinde de pasul următor. Pentru o sugestie de coloană la import, LiteTMS acceptă o coloană selectată cu o probabilitate de cel puțin `0.60`; omiterea traducerii impune ca limba cititorului să fie selectată cu cel puțin `0.90`. Prin urmare, un scor de `0.85` poate susține o sugestie de coloană pe care o verifică o persoană, dar nu este suficient pentru a sări peste traducerea din chat. Fiecare regulă reflectă consecințele deciziei respective.

## Întrebări frecvente

### Cine a dezvoltat Jev AI?

TypeSafe AI a dezvoltat Jev ca un model de tip Sistem 1 pentru decizii structurate. LiteTMS îl integrează în fluxuri de lucru specifice, precum evaluarea mesajelor de la șoferi și potrivirea denumirilor de localități.

### La ce este utilizat Jev AI în LiteTMS?

Jev este conectat la trierea mesajelor de la șoferi, la verificarea coincidenței de localitate la preluarea comenzilor și pe documentele CMR, la sugestiile de import și la verificarea limbii comune înainte de traducerea din chat. Setările platformei și ale companiei stabilesc dacă o funcționalitate individuală este activă într-un spațiu de lucru.

### Răspunde Jev șoferilor sau aprobă documente CMR?

Nu. Sistemul poate semnaliza un mesaj primit de la un șofer pentru a fi verificat și poate evalua dacă două denumiri se referă la același oraș. O persoană gestionează mesajul, iar o confirmare că este vorba despre același oraș nu validează întregul document CMR.

### Ce se întâmplă dacă Jev este nesigur sau indisponibil?

LiteTMS păstrează fluxul de lucru existent. De exemplu, o verificare incertă a limbii folosește calea obișnuită de traducere în chat, în timp ce o sugestie nesigură de import lasă maparea coloanelor în sarcina unui operator uman.
