```25行Python代码实现Jev```
Jev in 25 Lines of Python

原始链接: https://www.nobodywho.ai/posts/jev-in-25-lines/

这篇文章指出,围绕被誉为人工智能新前沿的“Jev”的炒作被夸大了。为了揭开这项技术的神秘面纱,作者展示了一个 25 行的 Python 实现,证明 Jev 本质上是一个本地分类工具。通过使用小型本地托管模型(Qwen3-0.6B),该代码可以处理提示词并将逻辑值(logits)转换为概率,从而对电子邮件等输入内容进行分类。 最终,作者认为 Jev 是一种简单、高效且注重隐私的实用工具,而非革命性的人工智能范式。通过在本地运行模型,用户无需将敏感数据发送到外部服务器即可完成任务。文章最后向读者推荐了 OpenJev 等合法的开源实现,并鼓励支持作者的项目 NobodyWho。

这篇 Hacker News 的讨论围绕着近期备受追捧的 “Jev” 展开,这是一款被营销为高速、“系统一(System One)” AI 分类器的工具。讨论帖中引发了关于 Jev 究竟是真正的技术突破,还是仅仅对现有概念进行成功营销的争论。 讨论主要聚焦于以下三点: * **“25 行代码”的批判**:批评者认为,“基于 X 行代码构建”这类言论具有欺骗性,因为它们依赖于庞大的底层库和 API。许多用户指出,其核心功能——利用 Token 的对数概率(logprobs)来强制进行结构化分类——在数据科学领域早已广为人知。 * **Jev 的价值**:支持者与怀疑者对 Jev 的优劣展开了辩论。支持者认为,尽管底层算法并非创新,但 Jev 在延迟、成本效益和“类型安全”的确定性输出方面表现出色。批评者则反驳称,它缺乏真正的“智能”或推理能力,且其性能声明往往未经证实。 * **校准与炒作**:关于大语言模型(LLM)置信度评分校准的难度,讨论中存在大量的技术探讨。许多贡献者指出,LLM 在“校准”(即准确反映不确定性)方面存在困难,而 Jev 对简单概率分布的依赖可能无法解决准确性或幻觉等根本性问题。 最终,参与者认为 Jev 是一种“唾手可得”的实现方案,它凸显了行业正向快速、专业化的分类器方向转变。
相关文章

原文

My name is Jev

Everyone and their mom is talking about Jev. Jev this, Jev that. Everyone on Twitter is all over Jev, how it's the next frontier of large language models and the AI paradigm. We don’t really think so. So here's Jev in 25 lines of Python.

Load the model.






import numpy
from llama_cpp import Llama



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,
)

Load the prompt and define your choices.

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))

Massage the logits into probabilities.

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)))



There. That’s Jev.

But no, you don’t understand Jev!

Yeah, we know.

But yes. This is Jev.

  • It classifies: it gets a prompt with choices and outputs probabilities.
  • It's fast.
  • It's local.
  • You don't send your data anywhere else.

And we like not sending your data anywhere else. Check out NobodyWho.

(note: this is a parody blog post, see these links for better/more complete open implementations of Jev: OpenJev, openjev-sglang, and OpenJev on DiffusionGemma.)


Everything NobodyWho do is open-source, please leave a star on Github to support us ❤️

Published Sep 22, 2026 by Duarte O.Carmo

Technical

联系我们 contact @ memedata.com