所有人都在谈论 Jev。这个说 Jev,那个说 Jev。Twitter 上人人都对 Jev 趋之若鹜,说它是大语言模型和 AI 范式的下一个前沿。我们倒不这么认为。所以,这里是 25 行 Python 代码实现的 Jev。
`# /// script
requires-python = “>=3.12”
dependencies = [“huggingface-hub”, “llama-cpp-python”, “numpy”]
///
import numpy from llama_cpp import Llama
Really, you can use any GGUF model from https://huggingface.co/models?library=gguf
model = Llama.from_pretrained( repo_id=“Qwen/Qwen3-0.6B-GGUF”, filename=“Qwen3-0.6B-Q8_0.gguf”, n_ctx=512, logits_all=True, verbose=False, )`
加载提示词并定义你的选项。
labels = ["A", "B", "C"] choices = ["Legitimate", "Spam", "Phishing"] email = "Payroll asks for your password on a non-company sign-in page." options = "\n".join( f"{label}. {choice}" for label, choice in zip(labels, choices, strict=True) ) prompt = f"""<|im_start|>system Choose one option.<|im_end|> <|im_start|>user Email: {email}\n\n{options}<|im_end|> <|im_start|>assistant <think>\n\n</think>\n\n""" model.eval(tokens=model.tokenize(text=prompt.encode(), add_bos=False, special=True))
将 logits 整理成概率。
`logits = model.scores[model.n_tokens - 1] token_ids = [model.tokenize(text=label.encode(), add_bos=False)[0] for label in labels] choice_logits = numpy.asarray([logits[token_id] for token_id in token_ids]) logprobs = choice_logits - numpy.logaddexp.reduce(choice_logits) probabilities = numpy.exp(logprobs)
for name, scores in ( (“Logits”, choice_logits), (“Log probabilities”, logprobs), (“Probabilities”, probabilities), ): values = numpy.round(scores.astype(float), 3).tolist() print(f"{name}:", dict(zip(choices, values, strict=True)))
Logits: {‘Legitimate’: 26.254, ‘Spam’: 27.262, ‘Phishing’: 29.614}
Log probabilities: {‘Legitimate’: -3.482, ‘Spam’: -2.474, ‘Phishing’: -0.122}
Probabilities: {‘Legitimate’: 0.031, ‘Spam’: 0.084, ‘Phishing’: 0.885}`
就是这样。这就是 Jev。
而且我们喜欢不把你的数据发送到任何地方。来看看 NobodyWho 吧。
(注:这是一篇戏仿博客文章,如需更好/更完整的 Jev 开源实现,请参阅这些链接:OpenJev、openjev-sglang,以及 DiffusionGemma 上的 OpenJev。)