Barcha yangiliklar
Kunlik sharh

Kunning AI va GPU yangiliklari

2026-10-02 kuni Telegram kanalimizda e’lon qilingan 12 ta amaliy AI va GPU materiali.

3-oktabr 2026

Kunning AI va GPU yangiliklari
GPU va infratuzilma1/12

GPU: Pending — xotira hali qayta xaritalanmagan

GPU: Pending — xotira hali qayta xaritalanmagan

Fakt: Ampere va undan yangi arxitekturadagi qo‘llab-quvvatlanadigan NVIDIA GPU’larda Row Remapper ishonchsiz xotira qatorlarini zaxira qatorlar bilan almashtiradi. Ammo Pending: Yes qayta xaritalash hali qo‘llanishini kutayotganini bildiradi: buning uchun GPU reset kerak. Diagnostikadagi yozuv ta’mir tugaganini tasdiqlamaydi.

Serverni tekshirish uchun uch qadam 1. nvidia-smi -L ni bajaring va kerakli GPU UUID’ini saqlang. Keyin nvidia-smi -q -i GPU_UUID -d ROW_REMAPPER buyrug‘ida GPU_UUID o‘rniga shu UUID’ni qo‘ying. Buyruq faqat holatni o‘qiydi. 2. Vaqt, Pending, Remapping Failure Occurred va Bank Remap Availability Histogram’ni qayd eting. Oxirgisi model uchun bo‘sh VRAM’ni emas, banklardagi zaxira qatorlar miqdorini ko‘rsatadi. Pending: Yes bo‘lsa, kelishilgan texnik xizmat uchun ma’lumotni administratorga bering. 3. Texnik xizmatdan so‘ng aynan shu GPU’da tekshiruvni takrorlang. Pending endi Yes emasligini tekshiring; u saqlansa yoki failure flag’i bo‘lsa, loglarni muhandisga bering. Faqat inference yana ishga tushgani uchun insidentni yopmang.

Cheklov: bu darhol reset qilish ko‘rsatmasi emas. U ishlayotgan vazifalarga ta’sir qiladi va platformaga bog‘liq; yuklamani to‘xtatish va tiklash reglament bo‘yicha bajariladi. N/A muammo yo‘qligini emas, maydon mavjud emasligini bildiradi. Row Remapper tekshiruvi to‘liq diagnostika o‘rnini bosmaydi.

Loyiha sayti: https://verum-ai.uz

Источники / Manbalar · NVIDIA https://docs.nvidia.com/deploy/nvidia-smi/ https://docs.nvidia.com/deploy/a100-gpu-mem-error-mgmt/row-remapping.html

Sun’iy intellekt2/12

Qwen3-ASR: timestamps uchun ikkinchi model kerak

Qwen3-ASR: timestamps uchun ikkinchi model kerak

Qwen (Alibaba Cloud) Qwen3-ASR’ni 29.01.2026 da chiqargan: 0.6B va 1.7B versiyalari nutqni matnga aylantiradi; weights Apache-2.0 ostida mavjud. Bu bugungi yangilik ham, universal chatbot ham emas.

Fakt: rasmiy qwen-asr’da vaqt belgilarini olish uchun alohida Qwen3-ForcedAligner-0.6B kerak. Faqat return_time_stamps=True yetmaydi. Subtitrlar va yozuvdagi so‘zga o‘tish uchun ikki bosqichni rejalang: nutqni tanish → alignment.

Uch qadam 1. Tilni ikkala qo‘llab-quvvatlash ro‘yxatida tekshiring. Rus tili ASR va aligner’da bor; o‘zbek tili ikkalasida ham e’lon qilinmagan. ASR’dagi «30 til» aligner’da ham shuncha degani emas: unda 11 ta. 2. ASR’ni yuklashda forced_aligner="Qwen/Qwen3-ForcedAligner-0.6B", keyin transcribe() ichida return_time_stamps=True ni bering. Bir nechta so‘zning start/end belgilarini yozuv bilan tekshiring. Aligner’ni bevosita chaqirishda 5 daqiqagacha kirish e’lon qilingan; uzun materialni vaqt siljishlarini hisobga olib bo‘ling. 3. Ikkala model bitta GPU’da bo‘lsa, kerakli dtype, batch va audio davomiyligida umumiy eng yuqori VRAM sarfini o‘lchang. batch=1 dan boshlang, o‘lchagach oshiring. ASR weights hajmi to‘liq budjet emas: aligner ham xotira egallaydi.

Cheklov: joriy README bo‘yicha qwen-asr’da streaming faqat vLLM orqali ishlaydi va timestamps qaytarmaydi. Yakuniy subtitrlar uchun alohida offline ishlov kerak; aynan shu streaming API’dan aniq vaqt belgilarini va’da qilmang.

Loyiha sayti: https://verum-ai.uz

Источники / Manbalar · Qwen: https://github.com/QwenLM/Qwen3-ASR https://huggingface.co/Qwen/Qwen3-ASR-0.6B

Sun’iy intellekt3/12

AI funksiya yozdi — eski yozuvlar qayerdan keldi?

AI funksiya yozdi — eski yozuvlar qayerdan keldi?

Fakt: Python’da default argument funksiya ta’riflanganda bir marta hisoblanadi. AI def add(event, events=[]): yozib, ichida events.append(event) ishlatsa, ikkinchi argumentsiz chaqiruvlar bitta umumiy ro‘yxatni o‘zgartiradi. Keyingi so‘rov oldingi yozuvlarni olishi mumkin.

Tekshirish va tuzatish: 1. AI’dan o‘zgaruvchan defaults’ni topishni so‘rang: [], {}, set(). Aniqlashtiring: har chaqiruv bo‘sh konteynerdan boshlansinmi yoki yig‘ish ataylab qilinganmi? 2. Mustaqil chaqiruvlar uchun: def add(event, events=None): if events is None: events = [] events.append(event) return events 3. Bir process’da add("A"), so‘ng add("B") ni bajaring: alohida ["A"] va ["B"] kutiladi, ikkinchi natijada ["A", "B"] emas. Tashqaridan berilgan bo‘sh ro‘yxatni ham tekshiring: aynan o‘sha obyekt saqlanib, unga yozuv qo‘shilishi kerak.

Tayyor prompt: Bu Python-koddagi mutable default arguments’ni tekshir. Chaqiruvlar orasidagi tasodifiy yig‘ilishni bartaraf et, tashqaridan berilgan ro‘yxat o‘zgarishini saqla. Ketma-ket ikki chaqiruv va tashqi bo‘sh ro‘yxat bilan testni bajar. Haqiqiy natijalarni ko‘rsat.

Xato: events = events or [] tashqaridan berilgan bo‘sh ro‘yxatni ham almashtiradi. is None ishlating. Umumiy cache ataylab yaratilgan bo‘lishi mumkin — contract’ni ko‘r-ko‘rona o‘zgartirmang.

GPU konfiguratsiyalari katalogi: https://verum-ai.uz

Источник / Manba · Python: https://docs.python.org/3/tutorial/controlflow.html#default-argument-values

GPU va infratuzilma4/12

CUDA: memcheck xato topdi, CI esa yashilmi?

CUDA: memcheck xato topdi, CI esa yashilmi?

Fakt: NVIDIA Compute Sanitizer’da --error-exitcode parametri odatda 0 ga teng. Ilovaning o‘zi muvaffaqiyatli tugasa, vosita xato topsa ham nol kod qaytarishi mumkin. Faqat exit code’ni tekshiradigan CI bunday nuqsonni o‘tkazib yuboradi.

Nega muhim: o‘z CUDA kernel yoki extension’ingizni tekshirganda xatoni logda ko‘rishning o‘zi yetmaydi — relizni to‘xtatish kerak. memcheck, jumladan, xotira chegarasidan tashqariga va noto‘g‘ri tekislangan manzilga murojaatlarni aniqlaydi.

Uch qadam: 1. Compute Sanitizer kiradigan mos CUDA Toolkit o‘rnatilgan GPU muhitida kichik, qayta bajariladigan test tayyorlang. O‘z CUDA-kodingizni build qilganda -lineinfo qo‘shing: hisobot manba kodi satrlarini ko‘rsata oladi. 2. Linux’da testni aniq nol bo‘lmagan xato kodi bilan bajaring: compute-sanitizer --tool memcheck --error-exitcode 1 ./cuda_test Bu yerda ./cuda_test — sizning test ilovangiz. Natijani saqlang va xatolarni bostirmasdan exit code’ni CI’ga uzating. 3. Ma’lum nuqsoni bor izolyatsiyalangan test misolida CI haqiqatan qizil bo‘lishini tekshiring. Keyin nuqsonni tuzatib, tekshiruvni takrorlang. Bu kodni ham, CI sozlamasini ham tekshiradi.

Tuzoq: xatosiz memcheck data races yoki sinxronlash xatolari yo‘qligini isbotlamaydi: ular uchun racecheck va synccheck bor. Faqat bajarilgan yo‘llar tekshiriladi; sanitizer ostida production throughput’ni o‘lchamang. Bu dastur diagnostikasi, GPU sozligi sertifikati emas.

Loyiha sayti: https://verum-ai.uz

Источник / Manba · NVIDIA: https://docs.nvidia.com/compute-sanitizer/ComputeSanitizer/

Sun’iy intellekt5/12

Qwen3-Omni: ovoz chiqarmaslik ≠ ovoz modulini xotiradan chiqarish

Qwen3-Omni: ovoz chiqarmaslik ≠ ovoz modulini xotiradan chiqarish

Qwen Qwen3-Omni’ni 2025-yil 22-sentabrda chiqargan. Bu bugungi yangilik emas, balki Apache 2.0 ostidagi ochiq Qwen3-Omni-30B-A3B-Instruct modeli uchun foydali sozlama: u matn, rasm, audio va videoni qabul qilib, matn va ovoz bilan javob beradi.

Fakt: Transformers’da return_audio=False shu so‘rov uchun ovozli javobni o‘chiradi. model.disable_talker() esa nutq yaratuvchi Talker va Code2Wav modullarini modeldan olib tashlaydi. Kiruvchi audioni tushunish saqlanadi. Bular tejamkorlikning turli usullari, bir-birini almashtiradigan flag’lar emas.

Uch qadam: 1. Transkripsiya yoki video tahlili servisiga ovozli javob umuman kerakmi, aniqlang. Ba’zida kerak bo‘lsa, modullarni qoldiring va faqat matnli javoblarda return_audio=False belgilang. 2. Har doim faqat matn kerak bo‘lsa, modelni Qwen3OmniMoeForConditionalGeneration orqali yuklagach, bajaring: model.disable_talker() Generatsiyada return_audio=False belgilang. Bu Transformers uchun usul, vLLM buyrug‘i emas. 3. O‘zgarishdan oldin va keyin bir xil qisqa audiofaylni tekshiring: matnli javob saqlanishi kerak. GPU tanlashdan oldin bir xil dtype, batch va kirish uzunligida tensorlar egallagan xotira hamda peak VRAM’ni solishtiring.

Tuzoq: model card taxminan 10 GB tejalishini ko‘rsatadi, ammo bu har qanday quantization va vaznlar joylashuvi uchun kafolat emas. Yuklashdan keyingi chaqiruv yuklash paytida yuz bergan OOM’dan qutqarmaydi. O‘chirilgan Talker’ni bitta return_audio=True bilan qaytarib bo‘lmaydi.

Loyiha sayti: https://verum-ai.uz

Источники / Manbalar · Qwen: https://huggingface.co/Qwen/Qwen3-Omni-30B-A3B-Instruct https://github.com/QwenLM/Qwen3-Omni

Sun’iy intellekt6/12

AI arizalarni sanadimi yoki faqat to‘ldirilgan maydonlarnimi?

AI arizalarni sanadimi yoki faqat to‘ldirilgan maydonlarnimi?

Fakt: SQLite’da COUNT(amount) amount NULL bo‘lmagan satrlarni, COUNT(*) esa guruhdagi barcha satrlarni sanaydi. AI’dan «arizalar soni»ni so‘rasangiz, u bu ko‘rsatkichni summasi kiritilgan satrlar soniga almashtirib qo‘yishi mumkin. Hisobot ish hajmini kam ko‘rsatadi.

Uch qadam: 1. Birlikni belgilang: tickets’dagi bitta satr — bitta ariza. Barcha arizalar, summasi bor satrlar va NULL satrlar sonini alohida so‘rang. 2. Ushbu jadval uchun JOIN’siz bajaring: SELECT COUNT(*) AS total, COUNT(amount) AS filled, COUNT(*)-COUNT(amount) AS missing FROM tickets; 3. amount qiymatlari 100, NULL va 0 bo‘lgan uchta arizada tekshiring. Natija: total=3, filled=2, missing=1. Misol SQLite’da amalda bajarildi. Nol summa ham kiritilgan qiymat hisoblanadi, yetishmayotgan ma’lumot emas.

Tayyor prompt: SQL-hisobotni tekshir: birlik — to‘ldirilgan maydon emas, bitta ariza. Jami satrlar, non-NULL amount va NULL amount sonini ajrat. SQL va 100, NULL, 0 testining haqiqiy natijasini ko‘rsat. Ma’lumotni o‘zgartirma. Bajarmasdan natijani tekshirilgan deb atama.

Tuzoq: COUNT(*) avtomatik ravishda noyob arizalarni emas, WHERE va JOIN’dan keyingi satrlarni sanaydi. JOIN’dan hosil bo‘lgan dublikatlar yakunni oshiradi. SQLite’da bo‘sh satr ham NULL emas; tozalash qoidalarini alohida belgilang.

Loyiha sayti: https://verum-ai.uz

Источник / Manba · SQLite: https://www.sqlite.org/lang_aggfunc.html#count

GPU va infratuzilma7/12

VRAM bo‘sh, ammo ikkinchi process ishga tushmayaptimi?

VRAM bo‘sh, ammo ikkinchi process ishga tushmayaptimi?

Fakt: NVIDIA Compute Mode xotira hajmini emas, CUDA context ochishga ruxsatni boshqaradi. Exclusive Process rejimida GPU’da faqat bitta context bo‘lishi mumkin; Prohibited esa ularga umuman ruxsat bermaydi. Demak, bo‘sh VRAM ikkinchi mustaqil CUDA process’ni ishga tushirish mumkinligini anglatmaydi.

Nega muhim: modelni kichraytirish yoki xotirasi kattaroq GPU ijaraga olishdan oldin, muammo kirish rejimida emasligini tekshiring.

Uch qadam: 1. nvidia-smi -L orqali kerakli GPU’ni tanlang. Quyidagi buyruqlarda 0 o‘rniga uning indeksini yozing. 2. nvidia-smi -q -i 0 natijasidan aynan Compute Mode maydonini toping, GPU Operation Mode emas. So‘ng nvidia-smi -i 0 ko‘rsatgan process’lar jadvalidan qurilmani kim ishlatayotganini tekshiring. 3. Exclusive Process yoqilgan va GPU band bo‘lsa, administrator bilan navbatni yoki boshqa GPU’ni kelishing. Prohibited bo‘lsa, kirish siyosatini aniqlashtiring. Buni quantization tuzatmaydi.

Cheklov: bu ehtimoliy sabablardan birini tekshirish, har qanday CUDA xatosining tashxisi emas. MPS alohida tekshiriladi: bir nechta mijoz MPS serveri orqali ishlashi mumkin. Umumiy serverda rejimni o‘zgartirmang va boshqalarning process’larini to‘xtatmang.

Rasmdagi sxema — konseptual tasvir, GPU tuzilishi emas. Verum AI: https://verum-ai.uz Manba: https://docs.nvidia.com/deploy/nvidia-smi/ https://docs.nvidia.com/deploy/mps/when-to-use-mps.html

Sun’iy intellekt8/12

Ministral 3 14B: uzun skrinshotni bo‘lish yaxshiroq

Ministral 3 14B: uzun skrinshotni bo‘lish yaxshiroq

Mistral AI Ministral 3 oilasini 02.12.2025 da chiqargan. Bu bugungi yangilik emas, Ministral-3-14B-Instruct-2512 uchun amaliy sozlama: Apache 2.0 ostidagi ochiq FP8 weights, kirishda matn va rasmlar, chiqishda matn, 256K tokens gacha context.

Fakt: model card vision uchun tomonlar nisbati taxminan 1:1 bo‘lgan rasmlarni tavsiya qiladi, juda tor yoki kenglarini esa crop qilishni maslahat beradi. Bu tavsiya, boshqa formatlarga qat’iy taqiq emas. Uzun skrinshot yomon o‘qilsa, GPU’ni almashtirishdan oldin kirishni tayyorlashni tekshiring.

Uch qadam: 1. Asl nusxani saqlang. Uzun skrinshotni chetlari biroz ustma-ust tushadigan, kvadratga yaqin qismlarga bo‘ling. Uni cho‘zib kvadrat qilmang: harflar va shakllar buziladi. Bu — ishlab chiquvchi tavsiyasini qo‘llash uchun biz taklif qilgan usul. 2. Qismlarni tartib bilan bering. Qiymat bilan birga qism nomi va maydonning ko‘rinadigan sarlavhasini qaytarishni so‘rang; o‘qilmagan joyni taxmin qilish emas, belgilash kerak. Natijani asl nusxa bilan solishtirib, kesishgan joylardagi dublikatlarni olib tashlang. 3. Asl skrinshot va qismlarni bir xil vazifada solishtiring: xatolar, kechikish, peak VRAM. Runtime, precision, batch va javob limitini bir xil tuting. Bir nechta rasm GPU xotirasini tejashga kafolat bermaydi.

Tuzoq: kesish satrni jadval sarlavhasidan ajratib qo‘yishi mumkin. Kerakli kontekstni qism yonida saqlang. 256K context aniq OCR kafolati ham, istalgan rasmlar to‘plami VRAM’ga sig‘ishi va’dasi ham emas.

Loyiha sayti: https://verum-ai.uz

Источники / Manbalar · Mistral AI: https://huggingface.co/mistralai/Ministral-3-14B-Instruct-2512 https://mistral.ai/news/mistral-3

Sun’iy intellekt9/12

AI sozlamalardan nusxa oldi — nega asl nusxa o‘zgardi?

AI sozlamalardan nusxa oldi — nega asl nusxa o‘zgardi?

Fakt: Python dict.copy() shallow copy yaratadi: tashqi dict yangi, lekin ichki o‘zgaruvchan obyektlar umumiy qoladi. AI «nusxa»dagi ichki sozlamani o‘zgartirsa, asl config va keyingi tajribani buzishi mumkin.

Uch qadam: 1. AI’dan qaysi ichki dict/list o‘zgarishini ko‘rsatishni so‘rang. draft = original umuman nusxa yaratmaydi; original.copy() esa ichki obyektlarni ajratmaydi. 2. Oddiy dict/list va sodda qiymatlardan iborat kichik config uchun alohida qoralama yarating: from copy import deepcopy original = {"limits": {"tokens": 100}} draft = deepcopy(original) draft["limits"]["tokens"] = 200 3. Sozlamalarni qo‘llashdan oldin ikkala tomonni tekshiring: original’da 100 qolishi, draft’da 200 bo‘lishi kerak. Testni original.copy() bilan takrorlang: original ham 200 bo‘ladi. Bu misol Python’da amalda bajarildi.

Tayyor prompt: Ushbu ichma-ich config’ning faqat qoralamasini o‘zgartir. Umumiy havolalarni ko‘rsat va nusxalash usulini tanla. Testni bajar: qoralamaning ichki maydoni o‘zgarsa, asl nusxa o‘zgarmasin. Oldingi va keyingi haqiqiy qiymatlarni ko‘rsat; bajarmasdan test o‘tdi dema.

Cheklov: deepcopy’ni hamma narsaga qo‘llamang: u keragidan ortiq ma’lumotni nusxalashi mumkin, fayllar va sockets esa bu usulda ko‘paytirilmaydi. Katta obyektlarda kerakli tarmoqni aniq nusxalash yaxshiroq. Config nusxasi tashqi API amallarini izolyatsiya qilmaydi.

Loyiha sayti: https://verum-ai.uz

Источник / Manba · Python: https://docs.python.org/3/library/copy.html

GPU va infratuzilma10/12

BAR1 Free — qo‘shimcha VRAM emas

BAR1 Free — qo‘shimcha VRAM emas

Fakt: nvidia-smi’dagi BAR1 bo‘limi GPU xotirasini xaritalash sohasini ko‘rsatadi: u orqali CPU yoki boshqa PCIe qurilmalari framebuffer (FB) xotirasiga murojaat qiladi. Bu LLM weights uchun ikkinchi xotira zaxirasi emas. GPU tanlashda FB Free va BAR1 Free qiymatlarini qo‘shib bo‘lmaydi.

Nega muhim: BAR1’da bo‘sh joy ko‘pligi model sig‘ishini anglatmaydi. Uning kamligi ham o‘z-o‘zidan CUDA OOM sababini isbotlamaydi.

Uch qadam: 1. nvidia-smi -L ni bajaring, kerakli GPU’ni tanlab, UUID’sini nusxalang. Keyin nvidia-smi -q -i GPU_UUID buyrug‘ida GPU_UUID o‘rniga shu qiymatni qo‘ying. Buyruqlar faqat holatni o‘qiydi. 2. Hisobotda FB Memory Usage va BAR1 Memory Usage ni ajrating. Weights sig‘ishini dastlabki baholashda FB’ga qarang; PCIe orqali xotiraga kirishni tekshirishda BAR1’ni alohida hisobga oling. Ularning Total yoki Free qiymatlarini qo‘shmang. 3. Kerakli context va batch bilan haqiqiy inference’ni sinang. Runtime vositalari orqali peak GPU memory’ni qayd eting: weights’dan tashqari KV cache va ishchi buffers ham kerak. Faqat model fayli hajmini emas, bir xil precision va sozlamalarni solishtiring.

Tuzoq: Free qiymatining bir martalik ko‘rinishi eng yuqori yuklamada zaxira borligini kafolatlamaydi. N/A — maydon qo‘llanmasligini bildiradi, sarf nol degani emas. BAR1’ni o‘zgartirish fizik VRAM qo‘shmaydi.

Loyiha sayti: https://verum-ai.uz

Источник / Manba · NVIDIA: https://docs.nvidia.com/deploy/nvidia-smi/

Sun’iy intellekt11/12

GLM-OCR: butun modelni emas, layout’ni CPU’ga o‘tkazing

GLM-OCR: butun modelni emas, layout’ni CPU’ga o‘tkazing

Z.ai’ning GLM-OCR’i — 2026-yildagi 0.9B parametrli multimodal OCR-model: hujjat tasvirlari → matn, jadvallar va formulalar. Weights MIT ostida ochiq. Bu mavjud model tahlili, yangi reliz e’loni emas.

Fakt: self-hosted SDK sahifa hududlarini topish uchun alohida PP-DocLayoutV3’dan foydalanadi. --layout-device cpu flag’i GLM-OCR’ni emas, aynan shu bosqichni CPU’ga o‘tkazadi. Shu tariqa tanib olishni GPU’da qoldirib, GPU’ni layout-modeldan bo‘shatish mumkin.

Uch qadam: 1. Alohida muhitga glmocr[selfhosted] o‘rnating va rasmiy README bo‘yicha GLM-OCR’ni vLLM yoki SGLang orqali ishga tushiring. config.yaml’da pipeline.maas.enabled: false, o‘z OCR service’ingiz manzili va portini belgilang. Bu bulutdagi MaaS emas, lokal pipeline.

2. Sozlangan service uchun bitta sahifani tekshiring: glmocr parse page.png --layout-device cpu Avval jadval va bir nechta ustuni bor, shaxsiy ma’lumotlari olib tashlangan hujjatni oling. Bloklar tartibi va kataklar mazmunini tekshiring.

3. Layout GPU’da ishlagan holat bilan solishtiring: bir xil fayl, BF16, bir xil batch va concurrency. Peak VRAM, CPU yuklamasi va to‘liq ishlov vaqtini o‘lchang. GPU xotirasini tejash CPU bottleneck’ka olib kelishi mumkin; tezlashish kafolatlanmaydi.

Cheklov: 0.9B — butun pipeline xotira budjeti emas, OCR-model hajmi. SDK va layout-komponent Apache 2.0’dan foydalanadi; litsenziyalarni birga tekshiring. Bu inference’ni taqsimlash usuli, fine-tuning xotirasi hisobi emas.

Loyiha sayti: https://verum-ai.uz

Источники / Manbalar · Z.ai: https://github.com/zai-org/GLM-OCR https://huggingface.co/zai-org/GLM-OCR

Sun’iy intellekt12/12

AI Excel’ni o‘qidi — formulalarni qayta hisobladimi?

AI Excel’ni o‘qidi — formulalarni qayta hisobladimi?

Fakt: openpyxl formulalarni hisoblamaydi. data_only=True bo‘lsa, katakni qayta hisoblash o‘rniga saqlangan natijani o‘qiydi. Bu kesh eskirgan yoki umuman yo‘q bo‘lishi mumkin. AI eski yakunlar asosida hisobot tuzishi yoki natija yo‘qligini nol deb qabul qilishi mumkin.

Uch qadam: 1. AI’dan faylni ikki marta o‘qishni so‘rang: formulalar uchun data_only=False, kesh uchun data_only=True. Varaq nomi va katak manzili bo‘yicha moslashtiring. 2. «Varaq → katak → formula → saqlangan qiymat» jadvalini chiqaring. Lokal testda openpyxl 3.1.5 =SUM(1,1) ni yozdi, ammo data_only=True bilan o‘qilganda 2 emas, None qaytdi. Bu nol natija emas, kesh yo‘qligidir. 3. Dolzarb hisobot uchun ishonchli nusxani Excel/LibreOffice’da qayta hisoblang, saqlang va yana o‘qing. Asosiy yakunlarni dastlabki ma’lumot bilan tekshiring. Notanish faylni qayta hisoblash uchun makroslar va tashqi ulanishlarni yoqmang.

Tayyor prompt: Bu XLSX’dagi formulalar va cached values’ni openpyxl orqali tekshir. Varaq, manzil, formula va keshni ko‘rsat. Yo‘q natijani nol bilan almashtirma. Qayta hisoblamasdan keshni dolzarb deb atama. Asl faylni o‘zgartirma.

Tuzoq: son borligi kesh yangiligini isbotlamaydi. data_only=True bilan ochilgan kitobni asl fayl ustiga saqlamang: formulalar o‘qilgan qiymatlar bilan almashtiriladi.

Loyiha sayti: https://verum-ai.uz

Источники / Manbalar · openpyxl: https://openpyxl.readthedocs.io/en/stable/api/openpyxl.reader.excel.html https://openpyxl.readthedocs.io/en/stable/simple_formulae.html