stop losing the pages that matter most to a stray backslash
مدلِ vision در متنِ ریاضی LaTeX مینویسد (\frac، \sqrt، \vec) و بکاسلشِ تنها در JSON نامعتبر است، پس json.loads کلِ صفحه را دور میریخت — دقیقاً صفحههای پرفرمول، یعنی باارزشترینها. روی حسابان یازدهم/دوازدهم چهار صفحه هرچه تلاش شد «خطادار» ماندند تا همینجا پیدا شد. ⚠️ نسخهی اولِ تعمیر خودش تله داشت: \f، \t، \b، \r و \n از نظرِ JSON معتبرند، پس «سالم» رد میشدند و \frac به formfeed+«rac» و \theta به tab+«heta» تبدیل میشد — خرابیِ بیصدا بهجای خطای بلند. قاعدهی تفکیک: دستورِ LaTeX همیشه با حرفِ ASCII ادامه مییابد، ولی escapeِ واقعی با رقم، فارسی یا پایانِ رشته. کنارش: پایههای یازدهم و دوازدهم به persona و تشخیصِ پایه اضافه شدند («دوازدهم» پیش از «دهم» بررسی میشود چون زیررشتهاش را دارد)، سقفِ max_tokens از ۳۰۰۰ به ۶۰۰۰ رفت چون قاعدهی self-contained خروجی را بلندتر کرده، و حسابان یازدهم و دوازدهم با نگاشتِ فصلبهصفحه ثبت شدند. «حسابان» به MATH_SUBJECTS اضافه شد: بدونِ آن retrieval این کتابها را «درسِ متنی» میدید و بهجای chapter روی lesson_number فیلتر میکرد — بیهیچ خطایی همیشه صفر نتیجه. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -286,8 +286,87 @@ MATH_7 = Textbook(
|
||||
),
|
||||
)
|
||||
|
||||
# ── حسابان ─────────────────────────────────────────────────────────────
|
||||
# «حسابان» کتابِ رشتهی ریاضیفیزیک است، نه «ریاضی» عمومی. subject عمداً
|
||||
# «حسابان» است تا collection جدا بماند: همنامیِ آن با «ریاضی یازدهم»
|
||||
# (کتابِ تجربی) دو کتابِ متفاوت را سرِ یک collection میانداخت.
|
||||
# ⚠️ هر subjectِ تازهی ریاضیوار باید به known_collections.MATH_SUBJECTS هم
|
||||
# اضافه شود، وگرنه retrieval آن را «درسِ متنی» میبیند و بهجای `chapter`
|
||||
# روی `lesson_number` فیلتر میکند — یعنی بیسروصدا هیچوقت چیزی برنمیگرداند.
|
||||
#
|
||||
# بازهها از فهرستِ خودِ کتاب (PDF صفحهی ۵) درآمدهاند و page_offset با
|
||||
# تطبیقِ صفحهی ۱ کتاب روی صفحهی ۷ PDF تأیید شده است.
|
||||
CALCULUS_11 = Textbook(
|
||||
subject='حسابان', grade='یازدهم', grade_label='یازدهم',
|
||||
filename='حسابان یازدهم.pdf', page_offset=6,
|
||||
chapters=_ch(
|
||||
(1, 'فصل ۱: جبر و معادله', 1, 36, (
|
||||
(1, 'مجموع جملههای دنبالههای حسابی و هندسی', 2),
|
||||
(2, 'معادلههای درجه دوم', 7),
|
||||
(3, 'معادلههای گویا و گنگ', 17),
|
||||
(4, 'قدر مطلق و ویژگیهای آن', 23),
|
||||
(5, 'آشنایی با هندسه تحلیلی', 29),
|
||||
)),
|
||||
(2, 'فصل ۲: تابع', 37, 70, (
|
||||
(1, 'آشنایی بیشتر با تابع', 38),
|
||||
(2, 'انواع توابع', 44),
|
||||
(3, 'وارون تابع', 54),
|
||||
(4, 'اعمال روی توابع', 63),
|
||||
)),
|
||||
(3, 'فصل ۳: توابع نمایی و لگاریتمی', 71, 90, (
|
||||
(1, 'تابع نمایی', 72),
|
||||
(2, 'تابع لگاریتمی و لگاریتم', 80),
|
||||
(3, 'ویژگیهای لگاریتم و حل معادلههای لگاریتمی', 86),
|
||||
)),
|
||||
(4, 'فصل ۴: مثلثات', 91, 112, (
|
||||
(1, 'رادیان', 92),
|
||||
(2, 'نسبتهای مثلثاتی برخی زوایا', 98),
|
||||
(3, 'توابع مثلثاتی', 105),
|
||||
(4, 'روابط مثلثاتی مجموع و تفاضل زوایا', 110),
|
||||
)),
|
||||
(5, 'فصل ۵: حد و پیوستگی', 113, 151, (
|
||||
(1, 'مفهوم حد و فرایندهای حدی', 114),
|
||||
(2, 'حدهای یکطرفه (حد چپ و حد راست)', 123),
|
||||
(3, 'قضایای حد', 130),
|
||||
(4, 'محاسبه حد توابع کسری', 141),
|
||||
(5, 'پیوستگی', 145),
|
||||
)),
|
||||
),
|
||||
)
|
||||
|
||||
CALCULUS_12 = Textbook(
|
||||
subject='حسابان', grade='دوازدهم', grade_label='دوازدهم',
|
||||
filename='حسابان دوازدهم.pdf', page_offset=6,
|
||||
chapters=_ch(
|
||||
(1, 'فصل ۱: تابع', 1, 22, (
|
||||
(1, 'تبدیل نمودار توابع', 2),
|
||||
(2, 'تابع درجه سوم، توابع یکنوا و بخشپذیری و تقسیم', 13),
|
||||
)),
|
||||
(2, 'فصل ۲: مثلثات', 23, 44, (
|
||||
(1, 'تناوب و تانژانت', 24),
|
||||
(2, 'معادلههای مثلثاتی', 35),
|
||||
)),
|
||||
(3, 'فصل ۳: حدهای نامتناهی ـ حد در بینهایت', 45, 70, (
|
||||
(1, 'حدهای نامتناهی', 46),
|
||||
(2, 'حد در بینهایت', 59),
|
||||
)),
|
||||
(4, 'فصل ۴: مشتق', 71, 110, (
|
||||
(1, 'آشنایی با مفهوم مشتق', 72),
|
||||
(2, 'مشتقپذیری و پیوستگی', 84),
|
||||
(3, 'آهنگ متوسط تغییر و آهنگ لحظهای تغییر', 102),
|
||||
)),
|
||||
(5, 'فصل ۵: کاربردهای مشتق', 111, 146, (
|
||||
(1, 'اکسترممهای یک تابع و توابع صعودی و نزولی', 112),
|
||||
(2, 'جهت تقعر نمودار یک تابع و نقطهی عطف آن', 127),
|
||||
(3, 'رسم نمودار تابع', 137),
|
||||
)),
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
TEXTBOOKS: dict[str, Textbook] = {
|
||||
b.key: b for b in (MATH_3, MATH_6, MATH_7, MATH_8, MATH_9, MATH_10)
|
||||
b.key: b for b in (MATH_3, MATH_6, MATH_7, MATH_8, MATH_9, MATH_10,
|
||||
CALCULUS_11, CALCULUS_12)
|
||||
}
|
||||
|
||||
# کتابهایی که واقعاً فایلِ PDF دارند و `rag_ingest_book` رویشان کار میکند.
|
||||
|
||||
Reference in New Issue
Block a user