Sun'iy intellekt

Jev: 25 Qator Python Kodi bilan Tahlil

23-sentabr, 2026, 14:281 ko'rish3 daqiqa o'qish
Jev: 25 Qator Python Kodi bilan Tahlil

Jev — bu katta til modellarining yangi avlodini ifodalovchi sun'iy intellekt texnologiyasi. Bu maqolada Jevning 25 qator Python kodida ishlashini ko'rsatib, uning ishlash prinsipini tushuntiramiz.

Jevning Asosi

Jevning ishlash prinsipi juda oddiy. U bir nechta tanlovlar orasida tanlov qilish uchun mo'ljallangan. Bu maqolada Jevning ishlashini 25 qator Python kodida ko'rsatamiz.

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

Kodni Yuklash

Birinchi navbatda, biz modelni yuklaymiz. Bu yerda biz Hugging Face saytidan GGUF modelidan foydalanamiz. Kod quyidagicha:

Kod:

# requires-python = ">=3.12" # dependencies = ["huggingface-hub", "llama-cpp-python", "numpy"] 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, )

Tanlovlarni Belgilash

Keyin biz tanlovlarni belgilaymiz. Misol uchun, biz elektron pochtani tasniflash uchun tanlovlarni belgilaymiz:

Kod:

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

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\nChoose one option.<|im_end|>\n<|im_start|>user\nEmail: {email}\n\n{options}<|im_end|>\n<|im_start|>assistant\n\n\n\n" model.eval(tokens=model.tokenize(text=prompt.encode(), add_bos=False, special=True))

Logitlarni Tahlil Qilish

Keyin biz logitlarni tahlil qilamiz. Bu yerda biz logitlarni ehtimolliklarga aylantiramiz:

Kod:

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

Natijalar

Natijalar quyidagicha chiqadi:

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}

Natijalar:

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

Xulosa

Shunday qilib, biz Jevning ishlash prinsipini 25 qator Python kodida ko'rsatdik. Jev — bu tez, mahalliy va foydalanuvchi ma'lumotlarini boshqa joyga yubormaydigan sun'iy intellekt texnologiyasi.

Agar siz ham Jev haqida ko'proq ma'lumot olishni xohlaysiz, shu havolaga o'ting.

Asl manba: nobodywho.ai

Manba: Hacker News
#jev #python #sun'iy intellekt #til modellar #tahlil
Telegram da muhokama qilish