Text Classification
Transformers
Safetensors
English
qwen3_5_text
text-generation
system-one
typed-decisions
decision-model
calibrated-probabilities
knowledge-distillation
jev
noul
choice
score
lora
qwen3_5
dual-head
vllm
Eval Results (legacy)
Instructions to use autotrust/JEV with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use autotrust/JEV with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="autotrust/JEV")# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("autotrust/JEV") model = AutoModelForCausalLM.from_pretrained("autotrust/JEV", device_map="auto") - Notebooks
- Google Colab
- Kaggle
| #!/usr/bin/env python3 | |
| """HumanEval pass@1 through vLLM (AR path of a dual-head bundle). Same prompts / truncation / checker as humaneval.py. | |
| python3 scripts/vllm_humaneval.py --model exports/jev-judge-qwen35-9b-v0.8 --out reports/humaneval_vllm_9b.json | |
| """ | |
| from __future__ import annotations | |
| import argparse | |
| import json | |
| import os | |
| import sys | |
| import time | |
| sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) | |
| from humaneval import load_problems, run_check, truncate # noqa: E402 | |
| def main() -> None: | |
| ap = argparse.ArgumentParser() | |
| ap.add_argument("--model", required=True) | |
| ap.add_argument("--out", required=True) | |
| ap.add_argument("--max-new-tokens", type=int, default=384) | |
| ap.add_argument("--gpu-mem", type=float, default=0.85) | |
| args = ap.parse_args() | |
| from vllm import LLM, SamplingParams | |
| problems = load_problems() | |
| t0 = time.time() | |
| llm = LLM(model=args.model, dtype="bfloat16", gpu_memory_utilization=args.gpu_mem, max_model_len=4096, | |
| enable_prefix_caching=False) | |
| load_s = time.time() - t0 | |
| sp = SamplingParams(temperature=0.0, max_tokens=args.max_new_tokens) | |
| t0 = time.time() | |
| outs = llm.generate([p["prompt"] for p in problems], sp, use_tqdm=False) | |
| gen_s = time.time() - t0 | |
| n_tok = sum(len(o.outputs[0].token_ids) for o in outs) | |
| results, passed = [], 0 | |
| for p, o in zip(problems, outs): | |
| comp = truncate(o.outputs[0].text) | |
| ok, err = run_check(p["prompt"] + comp + "\n\n" + p["test"] + "\n" + f"check({p['entry_point']})\n") | |
| passed += ok | |
| results.append({"task_id": p["task_id"], "passed": ok, "completion": comp, "error": err}) | |
| summary = {"model": args.model, "engine": "vllm", "n": len(problems), "passed": passed, "pass@1": passed / len(problems), | |
| "generation_s": gen_s, "generated_tokens": n_tok, "gen_tok_per_s": n_tok / gen_s, "load_s": load_s, "results": results} | |
| with open(args.out, "w") as f: | |
| json.dump(summary, f, indent=1) | |
| print(f"vLLM HumanEval pass@1 = {passed/len(problems):.4f} ({passed}/{len(problems)}) | generation {gen_s:.1f}s " | |
| f"({n_tok/gen_s:.0f} generated tok/s) | load {load_s:.0f}s -> {args.out}") | |
| if __name__ == "__main__": | |
| main() | |