# Xây dựng Jev: Mô hình phân loại xác suất chạy cục bộ chỉ với 25 dòng Python

- Nguồn: Hacker News Nổi bật (buzzing.cc bản dịch tiếng Trung)
- Thời gian phát hành: 2026-09-23 16:18 (giờ Việt Nam)
- Điểm AI: 47/100
- Link AIHOT.vn: https://aihot.vn/items/a2c93ce02f1b48a6
- Nguồn dữ liệu AI HOT: https://aihot.news/items/cmudxd6qk0b8crogh5aduuxxe
- Link gốc: https://www.nobodywho.ai/posts/jev-in-25-lines

## Tóm tắt AI

Hướng dẫn cách sử dụng mô hình Qwen3-0.6B-GGUF để tạo bộ phân loại xác suất siêu nhẹ, cho phép chạy cục bộ hoàn toàn mà không cần gửi dữ liệu ra ngoài.

## Thân bài

![Jev in 25 lines of Python](https://www.nobodywho.ai/assets/images/blog/2026/jev-in-25-lines/jev.png)

Ai ai cũng đang bàn tán về [Jev](https://typesafe.ai/blog/introducing-system-one-models-and-jev). Jev thế này, Jev thế kia. Mọi người trên Twitter đều phát cuồng vì Jev, cho rằng đó là biên giới tiếp theo của các mô hình ngôn ngữ lớn và mô hình AI. Chúng tôi thì không nghĩ vậy. Vì thế, đây là Jev trong 25 dòng mã Python.

Tải mô hình.

```
# /// 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,
)
```

Tải prompt và xác định các lựa chọn của bạn.

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

Chuyển đổi các logit thành xác suất.

```
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}
```

Xong. Đó chính là Jev.

### Nhưng không, bạn không hiểu Jev rồi!

Vâng, chúng tôi biết.

- Chúng tôi không gọi nó là [mô hình quyết định Hệ thống Một](https://typesafe.ai/blog/introducing-system-one-models-and-jev).
- Chúng tôi không gọi một API nào cả.
- Chúng tôi không tạo ra một loạt dữ liệu tổng hợp.
- Chúng tôi không huấn luyện mô hình bằng [Học tăng cường cho các quyết định đã hiệu chỉnh (RLCD)](https://typesafe.ai/blog/introducing-system-one-models-and-jev) để hiệu chỉnh các quyết định và xác suất (mặc dù chúng [không phải lúc nào cũng chính xác](https://arcturus-labs.com/blog/2026/09/16/typesafes-jev-trades-text-generation-for-instant-calibrated-decisions/)).

### Nhưng đúng vậy. Đây chính là Jev.

- Nó thực hiện phân loại: nhận một prompt kèm các lựa chọn và xuất ra xác suất.
- Nó rất nhanh.
- Nó chạy cục bộ.
- Bạn không gửi dữ liệu của mình đi đâu cả.

Và chúng tôi thích việc không gửi dữ liệu của bạn đi đâu cả. Hãy xem qua [NobodyWho](https://github.com/nobodywho-ooo/nobodywho).

(lưu ý: đây là một bài blog châm biếm, hãy xem các liên kết này để biết các triển khai mở tốt hơn/hoàn thiện hơn của Jev: [OpenJev](https://openjev.com/), [openjev-sglang](https://github.com/ekzhang/openjev-sglang), và [OpenJev trên DiffusionGemma](https://github.com/razorback16/openjev).)

Mọi thứ NobodyWho làm đều là mã nguồn mở, vui lòng để lại một [sao trên Github](https://github.com/nobodywho-ooo/nobodywho) để ủng hộ chúng tôi ❤️

Đăng ngày 22 tháng 9 năm 2026 bởi Duarte O.Carmo

Kỹ thuật
