En typad avläsning för öppna modeller
Du definierar kontext och avgränsade frågor. AnyJev returnerar fördelningar för kategoriska val, en sannolikhet för ja/nej eller ett förväntat värde på en ordnad skala.
AnyJev är ett Python-verktyg med öppen källkod från Nokia Applied Research. Det läser Choice-, Score- och Noul-beslut från kausala språkmodeller och korrigerar bias från alternativens ordning samt kalibrerar sannolikheter.
Viktigt: AnyJev är inte en ny grundmodell, en öppen utgåva av TypeSafes Jev-vikter eller en officiell Jev-produkt. Det är ett oberoende sätt att bygga beslut i Jev-format ovanpå modeller som du själv kör.
anyjev på PyPIstate → typed decisionsJag har debiterats två gånger. Lös det här i dag, tack.
result.level = "L0"Illustrativt resultatDen valda kausala modellen behålls; det som ändras är hur ett avgränsat beslut läses ut. AnyJev liknar därför mer ett beslutslager än en fristående finjusterad klassificerare.
Du definierar kontext och avgränsade frågor. AnyJev returnerar fördelningar för kategoriska val, en sannolikhet för ja/nej eller ett förväntat värde på en ordnad skala.
Rå logits för svarstoken kan gynna en etikett eller position. AnyJev visar vilken korrigeringsnivå som gav varje beslut, så att applikationen kan kräva rätt nivå.
Projektet publicerar eller återskapar inte TypeSafes privata vikter, träningsdata eller RLCD-metod. Liknande requestformat bevisar inte likvärdigt beteende.
L0 fungerar utan träning. Högre nivåer använder märkta exempel; L2 anpassar ett litet frågespecifikt huvud utan att ändra grundmodellens vikter.
Ingen korrigering för alternativens position eller etikettpreferens.
Stabilare, men sannolikheterna är inte uppgiftskalibrerade.
Förbättrar konfidensskattningen men rättar inte fel rangordning.
Specifikt för modell och fråga; kräver lokal åtkomst till dolda tillstånd.
Exemplet följer projektets publika API: en Qwen-modell stannar lokalt, AnyJev läser två avgränsade beslut och applikationskoden avgör nästa steg.
pip install "anyjev[hf]"Python 3.10 eller senare krävs. Den första riktiga körningen hämtar även den öppna modell du väljer.
Choice + Noulfrom 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"Applikationen anger tillåtna team och frågar om det föreslagna verktygsanropet är riskabelt.
Inget fritextsvar genereras. Resultatet innehåller en fördelning eller sannolikhet och använd nivå.
Koden sätter trösklar, skickar osäkra fall till granskning och stoppar sidoeffekter när risken är för hög.
AnyJev redovisar följande Qwen3-8B-resultat på 300 BANKING77-testobjekt. Siffrorna kommer från artefakter som författarna har checkat in; Jev AI Dev har inte kört benchmarken oberoende.
| Mätvärde | Rå logits | AnyJev L0 | AnyJev L1 |
|---|---|---|---|
| Svar som ändras när alternativen vänds | 0.230 | 0.073 | 0.077 |
| Precision | 0.747 | 0.803 | 0.807 |
| Förväntat kalibreringsfel | 0.240 | 0.184 | 0.095 |
| Täckning vid högst 5 % fel | 7.7% | 46.3% | 52.0% |
Precisionen steg från 0,747 till 0,807. Den större operativa förändringen var täckning vid högst 5 % fel: 7,7 % för råa logits och 52,0 % efter L1-kalibrering. Skattningen bygger på ett litet testset och måste valideras för andra flöden.
Granska benchmark och ablationerData Science in your pocket publicerade denna korta introduktion efter att AnyJev kom. Det är en tredjepartsförklaring, inte en officiell Nokia Applied Research-demo eller oberoende benchmark.
Se ”How to convert any LLM into Jev AI?” på YouTubeWquGuru jämförde officiella Jev och tre öppna projekt på en MacBook med 20 kinesiska supportärenden. Tråden innehåller video, tider och precision per projekt.
Samma tråd anger 20/20 för officiella Jev, 65 % för Laya och 35 % för djev. Se det som en tidig communityobservation, inte en kontrollerad benchmark: ett litet frågeset, en maskin och projektspecifika konfigurationer.
Visa jämförelse och video på X“The latency is real. We went correctness first.”
Jiamu ”Morris” Zhang sade att den första versionen inte hade optimerat serveringsflödet. Han beskrev AnyJev som en metod för modeller som teamet redan driftar och uppgav att optimering för vLLM/SGLang påbörjades.
Läs författarens fullständiga svarMarkTechPost sammanfattar den typade avläsningen, skillnaden mellan L0/L1 och BANKING77-resultaten. Siffrorna kommer från projektets benchmark, inte en oberoende replikering.
Evidensgräns: Jev AI Dev har verifierat att inläggen innehåller påståendena men inte återskapat communitytestet. Visningar och interaktioner utelämnas eftersom de förändras över tid.
Typad utdata tar bort ett integrationsproblem. Det gör inte automatiskt en semantisk bedömning korrekt, säker eller överförbar.
Ett val med K alternativ använder cykliska rotationer, så korrigering utan etiketter kräver K prefills. Mer inferens ger bättre stabilitet mot ordningsbias.
Kalibrering och huvuden gäller en viss modell och fråga. De måste byggas om eller valideras när någon av dem ändras.
Nuvarande L2-väg använder en lokal Transformers-backend. Servingmotorer som vLLM och SGLang finns på projektets färdplan.
Mät precision, kalibrering, ordningskänslighet och avstående på representativa data innan en sannolikhet styr en viktig åtgärd.
AnyJev utvecklas snabbt. Kontrollera senaste version, backendstöd och begränsningar före användning.
AnyJev anpassar en öppen kausal LLM i beslutsögonblicket. Ekosystemet omfattar även specialtränade modeller, lokala runtimes och API-kompatibla experiment.