مرکزی مواد پر جائیں
اے آئی ٹیوٹوریلز

BookLeme ٹیوٹوریل: ایک کتاب کو قابلِ تنصیب اور قابلِ تصدیق Agent Skill میں کمپائل کریں

یہ ٹیوٹوریل BookLeme کو انسٹال اور استعمال کرنے کا طریقہ بتاتا ہے، تاکہ کتابوں کے فریم ورک، طریقۂ کار اور کام کے طریقوں کو منظم علمی پیکیج یا قابلِ اجرا رویّاتی Skill میں کمپائل کیا جا سکے، نیز صنف کی روٹنگ، آؤٹ پٹ کی توثیق، تعطل کے بعد دوبارہ اجرا اور کاپی رائٹ کی جانچ مکمل کی جا سکے۔

BookLeme ٹیوٹوریل: کتاب کو قابلِ تنصیب اور قابلِ تصدیق Agent Skill میں کمپائل کریں

BookLeme کیا ہے

BookLeme، جس کا چینی نام “读了么” ہے، ایک ایسا ٹول چین ہے جو کتابوں کو Agent Skill میں کمپائل کرتا ہے۔ اس کی توجہ عام خلاصہ تیار کرنے پر نہیں، بلکہ کتاب میں موجود کام کرنے کے طریقوں، مثلاً سوالات کی ترتیب، فیصلہ کن شرائط، شواہد کے اصول، عمل کی حالتوں اور عدم اطلاق کی حدود کو اخذ کرنے پر ہے، پھر انہیں ایسے قابلِ تنصیب، قابلِ استعمال اور قابلِ تصدیق نتائج میں منظم کرتا ہے۔

یہ منصوبہ کتابوں کی پروسیسنگ کو کمپائل ٹائم اور رن ٹائم میں تقسیم کرتا ہے: کمپائل کے وقت اصل کتاب پڑھی اور پروسیس کی جاتی ہے، جبکہ رن ٹائم میں صرف ضرورت کے مطابق تیار کردہ علمی حصے لوڈ کیے جاتے ہیں۔ اس طرح ہر بار Skill استعمال کرتے وقت پوری کتاب دوبارہ پڑھنے سے بچا جا سکتا ہے۔

نوٹ: “خلاصے کے بجائے ساخت اخذ کرنا” منصوبے کا اختیار کردہ انجینئرنگ ڈیزائن ہے، لیکن README میں اسے ایسی مفروضہ قرار دیا گیا ہے جس کی منصوبے نے ابھی تصدیق نہیں کی، نہ کہ ثابت شدہ نتیجہ۔

BookLeme کیا تیار کرتا ہے

BookLeme دو جنریشن انجن فراہم کرتا ہے۔ دونوں اخذ اور توثیق کے مراحل کی درمیانی نمائندگی مشترک رکھتے ہیں اور صرف رینڈرنگ کے مرحلے میں الگ ہوتے ہیں، اس لیے دونوں اقسام کے نتائج بیک وقت تیار کرتے وقت کتاب کو دو مرتبہ پروسیس کرنے کی ضرورت نہیں ہوتی۔

علمی پیکیج knowledge_pack

علمی پیکیج ایک قابلِ مطالعہ ساختہ علم بیس ہے، جس میں بنیادی طور پر Topic Index روٹنگ ٹیبل، ضرورت کے مطابق لوڈ ہونے والے فریم ورک حصے، فیصلہ جاتی فوری حوالہ اور ماخذ کی فہرست شامل ہوتی ہے۔ یہ ایسے سوالات کے لیے موزوں ہے جیسے “کتاب میں موجود کسی فریم ورک کو کیسے استعمال کیا جائے؟”

رویّاتی Skill behavior_skill

رویّاتی Skill مکمل عمل چلانے کے لیے استعمال ہوتی ہے، اور اس میں کردار کی تعریف، سخت پابندیاں، اسٹیٹ مشین، نامزد آؤٹ پٹ معاہدہ، غلط طرزِ عمل اور جذباتی حفاظتی اصول شامل ہو سکتے ہیں۔ یہ صرف علم تلاش کرنے کے بجائے کوچنگ مکالمے جیسے کثیر مرحلہ کام انجام دینے کے لیے موزوں ہے۔

بنیادی خصوصیات

  • دو انجنوں کی خودکار روٹنگ: 12 متعین صنفی خصوصیات کی بنیاد پر علم پیکیج یا رویّاتی Skill منتخب کرتا ہے، اور انجن کو دستی طور پر بھی متعین کیا جا سکتا ہے۔
  • قابلِ توسیع صنفی پلگ اِن: نئی صنف شامل کرتے وقت صارف کے پلگ اِن فولڈر میں صرف ایک Python فائل شامل کی جا سکتی ہے؛ بنیادی پائپ لائن میں ترمیم ضروری نہیں۔
  • لفظ بہ لفظ وفاداری کی دوبارہ جانچ: اقتباس اصل متن کا عین ذیلی سلسلہ ہونا چاہیے اور متعدد قابلِ پیمائش اشاریوں سے جانچا جاتا ہے۔
  • کاپی رائٹ کی سخت رکاوٹ: تنصیب اور اشاعت سے پہلے متعین کاپی رائٹ جانچ چلائی جاتی ہے؛ تیسرے فریق کی کتابوں سے تیار کردہ Skill بطورِ ڈیفالٹ نجی رہتی ہے۔
  • رن ٹائم میں صفر تیسرے فریق کی انحصاریت: بنیادی نفاذ صرف Python کی معیاری لائبریری استعمال کرتا ہے۔
  • مرحلہ جاتی idempotence: پائپ لائن SHA-256 استعمال کرتے ہوئے دوبارہ اجرا کی حمایت کرتی ہے؛ کسی مرحلے کا نتیجہ حذف کرنے کے بعد صرف متعلقہ مرحلہ دوبارہ چلانا کافی ہوتا ہے۔

تنصیب اور ماحول کی تیاری

BookLeme کے لیے Python 3.9 یا اس سے زیادہ کا ورژن درکار ہے۔ ریپوزٹری کلون کرنے کے بعد اسے Python ماڈیول انٹری پوائنٹ کے ذریعے براہِ راست چلایا جا سکتا ہے؛ تیسرے فریق کی رن ٹائم انحصاریت پہلے نصب کرنے کی ضرورت نہیں۔

git clone https://github.com/bookleme/bookleme.git
cd bookleme
python3 -m bookleme --version

اگر کمانڈ ورژن کی معلومات دکھا سکے تو بنیادی ماحول قابلِ استعمال ہے۔ ریپوزٹری PDF، EPUB، DOCX، Markdown، HTML، RTF اور MOBI جیسے ان پٹ فارمیٹس کی حمایت کا اعلان کرتی ہے؛ ذیل میں منصوبے کے ساتھ فراہم کردہ Markdown مصنوعی کتابی مسودے سے مکمل عمل دکھایا گیا ہے۔

پہلی کمپائلیشن: کتابی مسودے سے Skill تیار کرنا

run ذیلی کمانڈ چلائیں، --input کے ذریعے کتابی مسودہ اور --title کے ذریعے عنوان مقرر کریں:

python3 -m bookleme run \
  --input evals/cases/synthetic/coach_book.md \
  --title "میری پہلی کتاب"

بطورِ ڈیفالٹ BookLeme کتابی مسودے کی صنفی خصوصیات کا تجزیہ کرتا ہے اور خودکار طور پر موزوں جنریشن انجن منتخب کرتا ہے۔ کمپائلیشن کے مراحل میں ان پٹ رجسٹریشن، متن کا اخراج، چینی متن کی تقسیم، صنفی روٹنگ، جوہری صلاحیتوں کا اخراج، وفاداری کی توثیق، رینڈرنگ، جامع توثیق، تنصیب اور اسموک ایویلیوایشن شامل ہیں۔

تجویز: پہلی بار استعمال کرتے ہوئے ریپوزٹری کے فراہم کردہ مصنوعی ٹیسٹ مسودے کو ترجیح دیں۔ تیسرے فریق کی کتابوں کو پروسیس کرنے سے پہلے یقینی بنائیں کہ آپ کے پاس متعلقہ استعمال کے حقوق ہیں اور تیار کردہ نتائج کی تقسیم کی پابندیوں کو سمجھتے ہیں۔

جنریشن انجن منتخب کرنا

آؤٹ پٹ کی قسم کو کنٹرول کرنے کے لیے --engine استعمال کریں:

python3 -m bookleme run \
  --input evals/cases/synthetic/coach_book.md \
  --title "کوچنگ مکالمے کی مثال" \
  --engine behavior_skill

قابلِ استعمال اقدار یہ ہیں:

  • auto:روٹر کو خودکار انتخاب کرنے دیں۔
  • knowledge_pack:صرف ساختہ علمی پیکیج تیار کریں۔
  • behavior_skill:صرف قابلِ اجرا رویّاتی Skill تیار کریں۔
  • both:دونوں اقسام کے نتائج بیک وقت تیار کریں۔

اگر روٹنگ بند کرکے دونوں انجنوں سے مکمل آؤٹ پٹ حاصل کرنا ہو تو --no-router استعمال کریں:

python3 -m bookleme run \
  --input evals/cases/synthetic/coach_book.md \
  --title "دو انجنوں کی مثال" \
  --no-router

صنفی پلگ اِن متعین کرنا

صنفی پلگ اِن نتائج کی اسٹیٹ مشین، آؤٹ پٹ معاہدہ، سخت پابندیوں اور اظہار کے طریقے کا تعین کرتا ہے۔ فی الحال نافذ شدہ پلگ اِن میں شامل ہیں:

  • coach_dialogue:کوچ یا خود کلامی کے لیے، سوال و جواب کی اسٹیٹ مشین، جذباتی حفاظتی اصول، مداخلت اور گفتگو جاری رکھنے کی حمایت کے ساتھ۔
  • knowledge_reference:فریم ورک کے فوری حوالہ کے لیے، Topic Index کے ذریعے مواد روٹ کرتا ہے؛ کتاب میں فراہم نہ کی گئی معلومات کا سامنا ہونے پر انکار کرنا ضروری ہے۔

professional_analysis اور decision_checklist ابھی بعد کے M4 روڈمیپ کا حصہ ہیں؛ انہیں فی الحال مکمل شدہ خصوصیات نہیں سمجھنا چاہیے۔

--genre کے ذریعے نافذ شدہ پلگ اِن کو زبردستی منتخب کیا جا سکتا ہے:

python3 -m bookleme run \
  --input evals/cases/synthetic/coach_book.md \
  --title "زندگی کے ڈیزائن کا مکالمہ" \
  --engine behavior_skill \
  --genre coach_dialogue

تیار کردہ نتائج کی توثیق

جنریشن مکمل ہونے کے بعد نتائج جانچنے کے لیے منصوبے کی فراہم کردہ توثیقی کمانڈ استعمال کریں۔ README میں examples/coach کو مثال کے طور پر استعمال کیا گیا ہے:

python3 -m bookleme validate examples/coach

یہ مرحلہ سرکاری توثیق کار، ذاتی lint اور کاپی رائٹ کی سخت رکاوٹ چلاتا ہے۔ BookLeme وفاداری کو قابلِ جانچ اشاریوں میں تقسیم کرتا ہے، جن میں اقتباس پارسنگ کی شرح، لفظ بہ لفظ خلاف ورزی کی شرح، منفی مثال پر انکار کی شرح، ٹرگر الفاظ کی درستگی کی شرح، نتائج کی تعمیل کی شرح، shingle اوورلیپ کی حد اور کوریج شامل ہیں۔

منصوبہ groundedness ہیورسٹک اشاریہ بھی محفوظ رکھتا ہے، لیکن README واضح کرتا ہے کہ LLM judge ابھی شامل نہیں کیا گیا؛ اس لیے یہ قدر فی الحال صرف رپورٹ کی جاتی ہے اور سخت رکاوٹ کے طور پر استعمال نہیں ہوتی۔

رجعتی ٹیسٹ چلانا

بنیادی کوڈ، پلگ اِن یا ٹیمپلیٹ میں ترمیم کے بعد مکمل ٹیسٹ چلائیں:

python3 -m unittest discover -s tests -v

اگر پلگ اِن تیار کر رہے ہوں تو اسٹیٹ schema بھی جانچا جا سکتا ہے اور پلگ اِن فائل کی الگ سے توثیق بھی کی جا سکتی ہے:

python3 -m bookleme schema --state
python3 -m bookleme plugin validate bookleme/plugins/builtin/coach_dialogue.py

نتائج نصب کرنا اور استعمال کے حقوق کا اعلان

بطورِ ڈیفالٹ، جنریشن کمانڈ نتائج کو Skill کے اصل ماخذ میں نہیں لکھتی۔ تنصیب کے لیے واضح طور پر --install شامل کریں۔ اسی وقت --user-rights کے ذریعے ان پٹ مواد کے حقوق کی حالت بیان کی جا سکتی ہے:

python3 -m bookleme run \
  --input path/to/book.md \
  --title "اندرونی علمی Skill" \
  --engine both \
  --install \
  --user-rights owned

--user-rights کے لیے یہ اقدار دستیاب ہیں:

  • owned:صارف مواد کے حقوق کا مالک ہے۔
  • licensed:متعلقہ اجازت حاصل ہے۔
  • public_domain:مواد عوامی ملکیت میں ہے۔
  • unknown:حقوق کی حالت نامعلوم ہے۔

حقوق کا اعلان قانونی فیصلے کا متبادل نہیں۔ MIT لائسنس صرف BookLeme کنورٹر کے کوڈ اور Skill کی تعریفوں کا احاطہ کرتا ہے، ان پٹ کتاب کا نہیں، اور نہ ہی یہ خودکار طور پر صارف کو مشتق نتائج تقسیم کرنے کا حق دیتا ہے۔

کاپی رائٹ کی سخت رکاوٹ کو سمجھنا

BookLeme کے نتائج کی حیثیت ساختہ مشتق نوٹس کی ہے، اصل متن کی نقل کی نہیں۔ منصوبے نے کاپی رائٹ کی چھ سخت رکاوٹیں مقرر کی ہیں؛ کسی ایک کے ناکام ہونے پر تنصیب یا اشاعت روک دی جائے گی:

  1. ایک اقتباس 150 الفاظ سے زیادہ نہ ہو اور اسے ان پٹ کے اصل متن تک لفظ بہ لفظ واپس ٹریس کیا جا سکے۔
  2. مجموعی اقتباسی تناسب 0.03 سے زیادہ نہ ہو۔
  3. مسلسل نقل شدہ مواد 150 الفاظ سے زیادہ نہ ہو۔
  4. 13 الفاظ والے shingle کا اوورلیپ 0.10 سے زیادہ نہ ہو۔
  5. نتائج میں مکمل متن یا اصل حصے شامل نہ ہوں۔
  6. contains_original_text کی قدر false ہونی چاہیے۔

تیسرے فریق کی کتابوں سے تیار کردہ Skill بطورِ ڈیفالٹ نجی ہوتی ہے اور اسے تقسیم نہیں کیا جا سکتا۔ اگر واقعی عوامی تقسیم کے حقوق حاصل ہوں، تب بھی دوہری تصدیق کے پیرامیٹر واضح طور پر فراہم کرنا ضروری ہے:

--public --confirm-public PUBLISH

عوامی پیرامیٹر انجینئرنگ کی تصدیقی رکاوٹ ہے، کاپی رائٹ کی اجازت نہیں۔ استعمال کنندہ کو اجازت کی حدود، قابلِ اطلاق قوانین اور ان پٹ مواد کے حقوق کی حالت کی خود تصدیق کرنا ہوگی۔

اعلیٰ تکنیک: مرحلہ جاتی idempotence کے ذریعے دوبارہ اجرا

BookLeme کی S0 تا S9 پائپ لائن مرحلہ جاتی idempotence ڈیزائن استعمال کرتی ہے اور موجودہ نتائج کی شناخت کے لیے SHA-256 استعمال کرتی ہے۔ طویل دستاویز کی پروسیسنگ غیر متوقع طور پر رک جائے تو مکمل ہو چکے مراحل کے نتائج محفوظ رکھے جا سکتے ہیں؛ اگر صرف کسی ایک مرحلے کا آؤٹ پٹ حذف کیا جائے تو ٹول اسی مرحلے کو دوبارہ چلائے گا، پوری کتاب کو دوبارہ پروسیس نہیں کرے گا۔

یہ ڈیزائن پلگ اِن یا رینڈرنگ منطق کی ڈیبگنگ کے لیے بھی موزوں ہے۔ چونکہ دونوں انجن ابتدائی اخراج، تقسیم، صلاحیتوں کے اخراج اور وفاداری کی توثیق کے نتائج مشترک رکھتے ہیں، اس لیے رینڈرنگ پرت میں ترمیم کرتے وقت کتابی مسودے کو دوبارہ پڑھنے کی ضرورت نہیں۔

اعلیٰ تکنیک: اپنی مرضی کا صنفی پلگ اِن تیار کرنا

اپنی مرضی کے پلگ اِن bookleme/plugins/user/<genre_id>.py میں رکھے جانے چاہییں۔ منصوبہ تقاضا کرتا ہے کہ پلگ اِن اہم فیلڈز کا اعلان کرے؛ ضروری فیلڈز غائب ہونے پر لوڈنگ مسترد کر دی جائے گی۔

  • state_machine:عمل کی حالتوں اور منتقلیوں کی تعریف کرتا ہے۔
  • output_contract:نتائج کے لیے لازمی آؤٹ پٹ کی تعریف کرتا ہے۔
  • hard_constraints:ناقابلِ خلاف ورزی قواعد کی تعریف کرتا ہے۔
  • anti_patterns:ان غلط رویّوں کی فہرست دیتا ہے جن سے بچنا چاہیے۔
  • voice_calibration:لہجے، خطاب، ممنوع الفاظ اور نتائج کی نسبت کی تعریف کرتا ہے۔
  • copyright_profile:کاپی رائٹ کنٹرول سے متعلق ترتیب بیان کرتا ہے۔
  • trigger_words:3 سے 5 چینی ٹرگر الفاظ فراہم کرتا ہے۔
  • eval_prompts:جائزے کے پرامپٹس فراہم کرتا ہے، جن میں کم از کم ایک منفی مثال شامل ہو۔

پلگ اِن لکھنے سے پہلے پلگ اِن کی وضاحت پڑھنے کی سفارش کی جاتی ہے؛ مکمل ہونے کے بعد plugin validate سے توثیق کریں۔ پلگ اِن کے ذریعے وفاداری کی جانچ، کاپی رائٹ کی سخت رکاوٹ یا منفی مثال پر انکار کی شرط کو نظرانداز نہ کریں۔

S0–S9 پائپ لائن کیسے کام کرتی ہے

  1. S0–S2: ان پٹ کا اندراج، قطعی استخراج، معمول پر لانا اور چینی متن کی تقسیم؛ مقررہ انگریزی Chapter نشانات پر انحصار نہیں کیا جاتا۔
  2. S3: 12 خصوصیات کی بنیاد پر صنف کی سمت بندی؛ ابہام کی صورت میں خودکار طور پر دوہرا انجن منتخب کیا جا سکتا ہے۔
  3. S4: بنیادی صلاحیتوں کا استخراج؛ قطعی extractor اور اختیاری OpenAI-compatible LLM extractor استعمال کیے جا سکتے ہیں، جبکہ تشکیل موجود نہ ہونے پر خودکار واپسی ہوتی ہے۔
  4. S5: اقتباسات کی لفظ بہ لفظ جانچ، claim ledger کی دیکھ بھال، اور وفاداری کے اشاریوں کا حساب۔
  5. S6: پلگ اِن کے مطابق knowledge package یا behavioral Skill کی رینڈرنگ؛ یہی وہ مقام ہے جہاں دوہرے انجن واقعی الگ راستوں پر جاتے ہیں۔
  6. S7–S9: جامع جانچ، idempotent تنصیب اور smoke evaluation کا نفاذ۔

S3 اور S4 دونوں S2 کے نتائج کو ان پٹ کے طور پر لیتے ہیں اور متوازی طور پر کام کر سکتے ہیں۔ دونوں انجن S1، S2، S4 اور S5 کی درمیانی نمائندگی مشترک طور پر استعمال کرتے ہیں، تاکہ بار بار پڑھنے اور استخراج سے بچا جا سکے۔

عملی تجاویز

  • حقیقی کتابوں پر کام کرنے سے پہلے کمانڈز سے واقفیت کے لیے پروجیکٹ کے ساتھ فراہم کردہ مصنوعی کتابی مسودہ استعمال کریں۔
  • جب پیداوار کی قسم واضح نہ ہو تو --engine auto استعمال کریں؛ دونوں نتائج کا بیک وقت موازنہ درکار ہو تو both یا --no-router استعمال کریں۔
  • پلگ اِن یا template میں ہر ترمیم کے بعد output validation اور unit tests چلائیں۔
  • کتاب میں فراہم نہ کی گئی معلومات کے لیے انکار کی صلاحیت برقرار رکھیں؛ ماڈل کے عمومی علم سے ماخذ کی کمی پوری نہ کریں۔
  • کتاب کا اصل متن، سرورق یا اسکین شدہ صفحات repository میں commit نہ کریں، اور نہ ہی بطورِ پیش فرض نجی رکھی گئی تیسری پارٹی کی کتابی outputs کو براہِ راست عام کریں۔
  • وفاداری کی دستاویز اور کاپی رائٹ کی دستاویز پڑھیں تاکہ اشاریوں اور اشاعت کی حدود سے واقف ہو سکیں۔

موجودہ حدود

BookLeme اس وقت M0–M3 مرحلے میں ہے۔ coach_dialogue اور knowledge_reference نافذ ہو چکے ہیں، لیکن پیشہ ورانہ تجزیے اور فیصلہ جاتی فہرست کے پلگ اِن آئندہ کے roadmap میں شامل ہیں۔ LLM judge ابھی منسلک نہیں کیا گیا، اس لیے متعلقہ بعض اشاریے اب بھی null ہیں۔ استعمال کے وقت نافذ شدہ، عملی طور پر آزمودہ اور ابھی تصدیق طلب صلاحیتوں میں فرق رکھنا چاہیے۔

اختتامیہ

BookLeme “کتاب پڑھنے” کو ایک قابلِ جانچ انجینئرنگ pipeline میں بدلتا ہے: پہلے استخراج اور تقسیم، پھر صلاحیتوں کا استخراج اور وفاداری کی جانچ، اور آخر میں knowledge package یا behavioral Skill کی رینڈرنگ۔ پہلی compilation مکمل ہونے کے بعد مشورہ ہے کہ validation، testing، حقوق کے اعلانات اور copyright checks کو مستقل عمل کا حصہ بنایا جائے، تاکہ کتاب کے طریقوں کو دوبارہ استعمال کرتے ہوئے ماخذ کی حدود اور قابلِ تصدیق ہونے کی خصوصیت برقرار رہے۔