```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 帖子讨论了一个名为“用 25 行 Python 代码实现 Jev”的项目,该项目试图通过简化实现来复刻其功能。讨论主要集中在三个技术与实践层面的挑战: 1. **大模型输出的可靠性**:参与讨论者指出,由于聊天模型生成的文本通常较为冗长,直接使用原始对数概率(logprobs)进行分类是不可靠的。他们建议通过结构化输出、BNF 语法(通过 `llama.cpp` 实现)以及严格的系统提示词来确保解析的成功率。 2. **校准问题**:用户注意到大模型往往缺乏适当的校准,即使在处理模棱两可或错误的逻辑任务时,也常会输出过于自信的概率(例如 99.8%)。 3. **性能与基准测试**:怀疑论者指出,尽管这个 25 行的 Python 脚本是一个巧妙的演示,但它在延迟、计算效率和错误率可靠性方面无法与“前沿级”系统相提并论。该帖子强调了在大规模场景下实现高速、零错误分类的难度,并指出虽然本地解决方案对于学习很有帮助,但它们往往难以媲美经过优化的企业级模型性能。 最终,评论者们强调,尽管该项目是一个不错的技术实验,但“真实世界”的部署需要比基础脚本更强大、更稳健的工程实践。
相关文章

原文

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