Logprobs nima? AI javobiga «ishonch bali» qo'yish
Logprobs — API'dagi yashirin parametr: model har bir tokenga qancha ishonch bilan qaraganini ko'rsatadi. 5 ta haqiqiy ishlatish, 3 provayder jadvali, tuzoqlar — oddiy tilda.
Savol berasiz: «Bu xat musbatmi, manfiymi?» Model javob beradi: «Musbat». Lekin bir narsa yetishmaydi — model qancha ishonch bilan shu javobni berdi? 51%mi, 99%mi?
Ko’p quruvchilar buni bilishmaydi: API javobida siz hech ko’rmaydigan yana bir qatlam bor — logprobs (log ehtimolliklar). Bu texnik bo’shliqlar seriyamizning yangi qismi: top-p sozlamalari orqasidagi «X-nur».
Logprob nima?
LLM har tokenni tanlashda butun lug’at bo’yicha ehtimollik taqsimoti hisoblaydi (shuning uchun ham temperature mavjud). «Musbat» degan so’zni yozishdan oldin model ichida «musbat 82%, manfiy 15%, neytral 3%» kabi raqamlar tug’iladi. Javob matni esa faqat tanlangan tokenni ko’rsatadi.
Logprob — o’sha ichki raqamning logarifmi:
0.0= 100% ishonch-0.1≈ 90%-2.3≈ 10%-4.6≈ 1%
Nima uchun foiz o’rniga logarifm? Ko’paytma qo’shishga aylanadi: butun javobning umumiy ehtimoli = barcha token logproblarining yig’indisi. Bir soniyada hisoblanadi.
Provayderlar jadvali
| Provayder | Parametr | Chegaralar |
|---|---|---|
| OpenAI | logprobs: true + top_logprobs | top 0–5 token |
| Google Gemini | responseLogprobs + logprobs (Vertex’da) | top 1–20 token |
| Anthropic | — | Umuman yo’q |
Anthropic qasddan chiqarmaydi — Claude’da token darajasidagi ishonchni API orqali o’ib bo’lmaydi. DeepSeek chat modelida ham bor — OpenAI formatida logprobs. Bu jadvallar yangilanib turadi, ishlatishdan oldin hujjatlarni tekshiring.
5 haqiqiy ishlatish
1. Klassifikator ishonch chegarasi. Xabarni «spam / spam emas» deb bo’lish klassifikatoriga qo’ysangiz, logprobs sizga ierarxiya beradi: >90% — avtomatik, 60–90% — inson ko’zdan kechirsin. Qo’lda qilsangiz bir xil kod, lekin chegara sizniki.
2. RAG’da «manba yetarmi?» o’z-o’zini baholash. OpenAI Cookbook’ning klassik usuli: modelga «berilgan kontekstda javob bormi? HA/YO’Q» deb so’rash va «HA» tokenining logprobi qarash. Past bo’lsa — RAG kontekst oynasiga noto’g’ri hujjat kirgan, qidiruvni takrorlang. Bu — halol hallucination filtri.
3. Autocompleteni to’xtatib qolmasdan yozish. Foydalanuvchi yozayotib model keyingi so’zni taxmin qiladi. Logprob past bo’lsa — taklifni ko’rsatmay qo’ya qolasiz. Taxmin «taxmin» ekanini raqam bilan bilasiz.
4. Perplexity — promptlarni solishtirish. Barcha token logproblarining o’rtachasidan perplexity chiqadi (e^(−o’rtacha)). Bir xil savolni 2 xil system prompt bilan yozib, qaysi javob «puxta» chiqqanini raqam bilan ko’rasiz.
5. Halol ovoz berish (voting). Bir savolga 5 marta javob olib, har javobning umumiy logprobini solishtirasiz — eng yuqorigi ishonchliroq. Kod bilan batch APIda arzon tushadi.
Tuzoqlar
- Ishonch ≠ to’g’rilik. Model noto’g’ri javobni 99% ishonch bilan berishi mumkin — hallucination o’ziga ishongan bo’ladi. Logprob — «qancha ishongan», «to’g’rimi» emas.
- Raqamli javob kechikadi. Temperature=1 dan farqli ravishda logprobs so’rovi juda oz qo’shimcha token keltiradi, lekin reasoning modellarida ichki thinking tokenlari uchun logprob berilmaydi — faqat yakuniy javob uchun.
- Streaming’da boshqacha. Chunk-bo’lib-chunk kelganda top_logprobs har chunkda alohida qaytadi — kodni shunga moslash kerak.
Amaliy qadam: 20 qatorlik kod
from openai import OpenAI
from math import exp
client = OpenAI()
r = client.chat.completions.create(
model="gpt-5.6",
messages=[{"role": "user",
"content": "Sarlavha musbatmi, manfiymi (faqat bitta so'z): "
"«Ajoyib yangi telefon chiqdi!»"}],
logprobs=True, top_logprobs=3, temperature=0,
)
for lp in r.choices[0].logprobs.content[0].top_logprobs:
print(f"{lp.token:<12} {exp(lp.logprob):6.1%}")
# musbat 98.3%
# ijobiy 1.2%
# neytral 0.3%
Uch qator sozlash — va modelning ichki ishonchini ko’rasiz. Kimdir klassifikator qurayotganda «aniqlik 85%» deb yozadi, kimdir esa «past ishonchli javoblarni insonga uzataman» deb yozadi. Ikkinchisi oddiygina yaxshiroq mahsulot.
Manbalar: OpenAI Cookbook «Using logprobs» (rasmiy hujjat), Google developers blog (Vertex AI responseLogprobs, 16.07.2025), OpenAI API reference. Seriya: top-p · temperature · reasoning tokenlari · batch API