Guide indépendant · Vérifié le 25 septembre 2026

AnyJev transforme un LLM ouvert en modèle de décision typé.

AnyJev est une boîte à outils Python open source de Nokia Applied Research. Elle extrait des décisions de type Choice, Score et Noul depuis des modèles de langage causaux, puis corrige le biais lié à l’ordre des options et étalonne les probabilités.

À retenir : AnyJev n’est ni un nouveau modèle de fondation, ni une publication ouverte des poids Jev de TypeSafe, ni un produit Jev officiel. C’est une méthode indépendante pour obtenir des décisions au format Jev à partir de modèles que vous exécutez vous-même.

Responsable
Nokia Applied Research
Licence
Apache-2.0
Paquet
anyjev sur PyPI
Statut
Pré-alpha
AnyJev · L0state → typed decisions
contexte

J’ai été débité deux fois. Merci de régler cela aujourd’hui.

choice · routageQuelle équipe doit traiter cette demande ?
facturation0.81
technique0.09
commercial0.04
autre0.06
result.level = "L0"Exemple de sortie
La distinction essentielle

AnyJev est une boîte à outils, pas un nouvel ensemble de poids.

Il conserve le modèle causal de votre choix et modifie la manière dont une décision à réponses limitées en est extraite. Il s’agit donc davantage d’une couche de décision que d’un modèle autonome tel qu’un classifieur affiné.

Ce que c’est

Une lecture structurée pour les modèles ouverts

Vous définissez un contexte et une ou plusieurs questions à réponses limitées. AnyJev renvoie une distribution pour les choix catégoriels, une probabilité pour les questions oui/non ou une valeur attendue pour un score ordonné.

Ce que cela ajoute

Des niveaux de correction et d’étalonnage

Les logits des jetons de réponse bruts peuvent favoriser une étiquette ou sa position. AnyJev indique le niveau de correction ayant produit chaque décision afin que l’application puisse exiger celui qu’elle attend.

Ce que ce n’est pas

Une copie ouverte de TypeSafe Jev

Le projet ne publie ni ne reproduit les poids privés, les données d’entraînement ou la méthode RLCD de TypeSafe. Une forme de requête similaire ne garantit pas un comportement équivalent.

Brut → L0 → L1 → L2

Quatre niveaux précisent le niveau de correction appliqué à chaque décision.

L0 fonctionne réellement sans entraînement. Les niveaux supérieurs ajoutent des exemples étiquetés ; L2 ajuste une petite tête de sortie propre à la question sans modifier les poids du modèle de base.

BrutAucune étiquette

Applique un softmax restreint aux logits des jetons de réponse.

Aucune correction du biais de position ou de préférence d’étiquette.

L0Aucune étiquette

Fait tourner les options et corrige un a priori d’étiquette estimé.

Plus stable, mais les probabilités ne sont pas étalonnées pour la tâche.

L1100 à 500 étiquettes

Ajoute un étalonnage par température pour un modèle et une question.

Améliore la confiance estimée, sans corriger un mauvais classement.

L2100 à 300 étiquettes

Ajuste une petite tête de sortie analytique sur un état caché intermédiaire.

Propre à un modèle et une question ; nécessite l’accès local aux états cachés.

Exemple de flux local

Acheminer un ticket d’assistance et contrôler une action proposée.

Cet exemple reprend l’API publique du projet : un modèle Qwen reste en local, AnyJev lit deux décisions à réponses limitées, puis le code applicatif décide de la suite.

Installer le backend Transformers
pip install "anyjev[hf]"

Python 3.10 ou une version ultérieure est requis. La première exécution réelle télécharge aussi le modèle ouvert choisi.

PythonChoice + Noul
from anyjev import Decider, Question
from anyjev.backends.hf import HFBackend

decider = Decider(HFBackend("Qwen/Qwen3-8B"))

route = Question.choice(
    "Which team should handle this?",
    ["billing", "technical", "sales", "other"],
    name="route",
)
risky = Question.noul(
    "Is this tool call destructive or irreversible?",
    name="risky",
)

result = decider.decide(
    {"message": "I was charged twice.", "tool_call": "refund"},
    [route, risky],
)

result["route"].distribution
result["risky"].p_true
result.level  # "L0"
01

Définir l’espace de réponse

L’application nomme les équipes autorisées et demande si l’appel d’outil proposé présente un risque.

02

Lire des distributions bornées

Aucune réponse libre n’est générée. Le résultat contient une distribution ou une probabilité ainsi que le niveau utilisé.

03

Garder la politique dans le code

Votre code fixe les seuils, soumet les cas incertains à une revue et bloque les effets de bord lorsque le risque est trop élevé.

Benchmark du projet

Le résultat marquant porte sur une automatisation plus sûre, pas seulement sur la précision.

AnyJev publie les résultats suivants avec Qwen3-8B sur 300 éléments de test BANKING77. Ces chiffres proviennent des artefacts de benchmark du projet ; Jev AI Dev n’a pas réexécuté ce benchmark de façon indépendante.

MétriqueLogits brutsAnyJev L0AnyJev L1
Réponses modifiées après inversion des options0.2300.0730.077
Précision0.7470.8030.807
Erreur d’étalonnage attendue0.2400.1840.095
Couverture avec au plus 5 % d’erreur7.7%46.3%52.0%

Dans ce test, la précision passe de 0,747 à 0,807. Le changement opérationnel le plus net concerne la couverture à 5 % d’erreur maximum : 7,7 % avec les logits bruts contre 52,0 % après étalonnage L1. Cette estimation repose sur un petit jeu de test et ne doit pas être transposée telle quelle à un autre flux.

Consulter le benchmark et les ablations
Vidéo communautaire · 29 secondes

Une explication rapide pour transformer un LLM en décideur de type Jev.

Data Science in your pocket a publié cette courte présentation après la sortie d’AnyJev. Il s’agit d’une explication tierce, et non d’une démonstration officielle de Nokia Applied Research ni d’un benchmark indépendant.

Voir « How to convert any LLM into Jev AI? » sur YouTube
Test communautaire · Septembre 2026

Un essai sur 20 tickets met en évidence le compromis précision–latence.

WquGuru a comparé Jev officiel et trois projets ouverts sur un MacBook, à partir de 20 tickets d’assistance en chinois. Le fil contient une vidéo, les temps mesurés et la précision de chaque projet.

@wquguru · Comparatif pratique

AnyJev avec Qwen3-4B aurait correctement traité 19 tickets sur 20.

Précision95%19 tickets sur 20
Latence~4sannoncée par test
Jeu de test20tickets en chinois

Le même fil annonce 20/20 pour Jev officiel, 65 % pour Laya et 35 % pour djev. Il s’agit d’une première observation communautaire, pas d’un benchmark contrôlé : un petit jeu de questions, une seule machine et des configurations propres à chaque projet.

Voir le comparatif et la vidéo sur X
@MorrisMz81 · Auteur d’AnyJev
“The latency is real. We went correctness first.”

Jiamu « Morris » Zhang a indiqué que la chaîne d’inférence de la première version n’était pas encore optimisée. Il présente AnyJev comme une méthode applicable aux modèles déjà déployés par une équipe et précise que les optimisations vLLM/SGLang commencent.

Lire la réponse complète de l’auteur
@Marktechpost · Présentation média

Un aperçu concis du projet et de son benchmark versionné.

MarkTechPost résume la lecture typée, la distinction L0/L1 et les résultats BANKING77. Ces chiffres viennent du benchmark du projet, et non d’une réplication indépendante.

Limite des preuves : Jev AI Dev a vérifié que ces publications contiennent bien ces affirmations, mais n’a pas reproduit le test communautaire. Les nombres de vues et d’interactions sont omis car ils évoluent dans le temps.

Avant la production

Ce que la version actuelle ne résout pas.

Une sortie typée supprime un problème d’intégration. Elle ne rend pas un jugement sémantique automatiquement juste, sûr ou transférable à une autre distribution.

01

L0 consomme davantage pour les choix étendus

Un choix à K options utilise des rotations cycliques : la correction sans étiquette nécessite K préfills. Elle échange du calcul contre une meilleure stabilité à l’ordre.

02

L1 et L2 exigent des données métier étiquetées

L’étalonnage et les têtes de sortie sont propres à un modèle et une question. Ils doivent être reconstruits ou revalidés dès que l’un des deux change.

03

L2 exige l’accès aux états cachés

Le chemin L2 actuel utilise un backend Transformers local. Les moteurs d’inférence tels que vLLM et SGLang figurent dans la feuille de route.

04

Les chiffres publiés ne remplacent pas vos critères d’acceptation

Mesurez précision, étalonnage, sensibilité à l’ordre et abstention sur des données représentatives avant qu’une probabilité ne pilote une action importante.

Sources primaires

Vérifiez le projet à la source.

AnyJev évolue rapidement. Vérifiez la dernière version, les backends et les limites avant de l’intégrer.

Explorer l’écosystème

Comparez AnyJev aux autres projets communautaires System One.

AnyJev suit une approche : adapter un LLM causal ouvert au moment de la décision. L’écosystème comprend aussi des modèles entraînés à cet effet, des runtimes locaux et des expérimentations compatibles avec l’API.

Lire le guide System One Voir les projets communautaires