Hacker News 6小时前 · 2026-09-24 07:12:12 · 3 阅读
用 25 行 Python 实现 Jev
现在网上几乎人人都在聊 Jev,什么“Jev 这事”、“Jev 那点事”。推特上更是吵翻天,都说 Jev 是大语言模型的下一前沿、是 AI 的新范式。我们倒没那么觉得。来,用 25 行 Python 代码给你看看 Jev 长啥样。
加载模型。
# /// script
# requires-python = ">=3.12"
# dependencies = ["huggingface-hub", "llama-cpp-python", "numpy"]
# ///
import numpy
from llama_cpp import Llama
# 其实,你可以使用 https://huggingface.co/models?library=gguf 上的任意 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。
可你懂 Jev 吗?
是啊,我们心里有数。
- 我们没管它叫 System One 决策模型。
- 我们也没调任何 API。
- 我们没有生成大批合成数据。
- 我们也没有使用校准决策的强化学习(RLCD)来训练模型以校准决策和概率(尽管它们并非总是正确的a href)。
但没错。这就是 Jev。
- 它能分类:输入带选项的提示词,输出概率。
- 速度快。
- 本地运行。
- 你的数据不会被发送到其他地方。
我们很看重不把数据发给别人。请查看 NobodyWho。
(注:这是一篇恶搞博文。如需更完善、更完整的 Jev 开源实现,请参考以下链接:OpenJev、openjev-sglang,以及基于 DiffusionGemma 的 OpenJev。)
原始来源: Hacker News