راهنما
کیفیت و انتشار
همهٔ تغییرها از بررسیهای یکسانی میگذرند که نتیجهشان عمومی است، و هر نسخه پیش از انتشار وارسی میشود.
در هر تغییر
- بکاند: قالببندی و lint با Ruff، بررسی سختگیرانهٔ نوعها با mypy و آزمونهای pytest با پوشش شاخهای دستکم ۸۵ درصد.
- فرانتاند: بازبینی امنیتی وابستگیها، آزمونهای واحد، build همراه با بررسی نوعها، و آزمونهای مرورگر و نصب برنامه با Playwright.
- هر دو روی لینوکس، ویندوز و مک اجرا میشوند.
- آزمون سرتاسری: تجزیهٔ واقعی فایل، embedding، Qdrant، رتبهبندی و پاسخ جریانی، با یک مدل جایگزین. دستکم در ۷ پرسش از ۸ پرسش فارسیِ بازنویسیشده، اولین ارجاع باید به قسمت مربوط به همان پرسش باشد.
- روی رایانهٔ خودتان، همهٔ آزمونهای بکاند بدون ردشدن هیچ آزمونی و بدون Docker اجرا میشوند: با PARSRAG_E2E=1 آزمونهای سرتاسری روی یک Qdrant درونحافظهای اجرا میشوند، مگر اینکه QDRANT_HOST به یک سرور اشاره کند.
- بستهبندی: image داکر ساخته میشود و import برنامه درون آن آزمایش میشود.
زنجیرهٔ تأمین
- بازبینی وابستگیها در Pull Requestها و بررسی آسیبپذیری بستههای Python.
- فهرست اجزای نرمافزار (SBOM) ساخته و image اسکن میشود. یافتههای پرخطر یا بحرانی که راهحل دارند، build را متوقف میکنند.
- ابزار Dependabot هر هفته بهروزرسانی وابستگیها را پیشنهاد میکند.
بهبودهای اندازهگیریشده در نسخهٔ 1.0
بهبودهای اندازهگیریشده در نسخهٔ 1.1
- پرسشهای چندبخشی: ۵ پاسخ از ۶ پاسخی که بخشی از پرسش را جا انداخته بودند کامل شدند و هیچ پرسشی بدتر نشد.
- خواندن همزمان تصویرها: گزارشی با ۹۶ تصویر بهجای ۱۲۱ ثانیه در ۳۳ ثانیه پردازش شد و متن بهدستآمده تغییری نکرد. ایندکس کل همان گزارش از حدود ۴٫۵ دقیقه به حدود ۳ دقیقه رسید.
- خواندن اسکرینشاتها با OCR: تعداد واقعیتهای خواندهشده از ۳۳ به ۳۷ از ۴۰ رسید، به بهای حدود یکسوم زمان بیشتر برای هر تصویر.
- مدلهای فکرکننده: روی GPU ششگیگابایتی با qwen3.5:4b، بهجای پاسخ خالی پس از ۵۹ ثانیه، پاسخی با ارجاع در ۷ ثانیه به دست آمد.
این اندازهگیریها روی مجموعهسندهایی انجام شده که منتشر نشدهاند. بنابراین از روی مخزن عمومی نمیتوان آنها را بازتولید کرد.