Présentation d'OpenJev
OpenJev propose une interface web où un modèle de langage (LLM) s’exécute entièrement côté client. Les poids proviennent de Hugging Face, sont stockés dans le cache du navigateur et ne quittent jamais la page, garantissant ainsi la confidentialité des entrées. Trois modèles sont proposés : Qwen3 0.6 B (639 Mo), MiniCPM5 2 B (1,56 Go) et Qwen3.5 4 B (3,01 Go). Le choix du modèle dépend de la capacité de l’appareil : le modèle 0.6 B est recommandé pour les téléphones, le 2 B pour les postes de travail, le 4 B nécessite une mémoire importante.
Architecture et flux de données
Le moteur utilise wllama pour charger des builds GGUF quantifiés, ce qui réduit la consommation de mémoire et accélère le calcul. La quantification modifie à la fois la précision et la vitesse d’inférence, un compromis explicite dans la démonstration. Une fois le modèle chargé, deux pipelines d’inférence sont disponibles. Le premier lit directement les logits associés aux options présentées, applique un softmax limité aux tokens d’option et renvoie les probabilités. Le second demande au modèle de générer un texte JSON contenant les mêmes probabilités, token par token, ce qui expose le temps de génération complet.
Méthodes d'inférence et performances
Les mesures sont réalisées avec performance.now() et incluent le temps de chargement, de warm‑up, de préparation du prompt, d’exécution directe et de génération du premier token jusqu’à la fin du texte. Sur un GPU de bureau, le modèle MiniCPM5 2 B montre des scores de précision de 68,6 % (authored), 69,3 % (perturbed) et 63,7 % (typesafe). Le modèle Qwen3 0.6 B atteint 44,0 % / 52,8 % / 40,7 % selon les mêmes critères, tandis que le Qwen3.5 4 B atteint 81,3 % / 76,6 % / 84,5 %. Les temps d’exécution directe sont toujours inférieurs à la génération JSON, car la génération implique un décodage séquentiel de chaque token. Les deux méthodes utilisent le même modèle chargé, évitant ainsi la concurrence sur le GPU.
Limites et perspectives
La démonstration ne prétend pas reproduire les performances de la version serveur de Jev ; les scores affichés sont inférieurs aux références publiées. La taille du modèle 4 B peut dépasser la capacité mémoire de nombreux appareils, limitant son usage aux stations de travail haut de gamme. De plus, la quantification peut altérer la qualité des réponses, un effet observable dans les écarts de pourcentage entre les modèles. Malgré ces contraintes, OpenJev illustre la faisabilité d’une inference locale sans backend, ouvrant la voie à des applications où la confidentialité et la latence sont critiques.