Moving from theory to a tangible, working system that turns AI mistakes into high-quality training data. میں ، ہم نے AI کی ترقی کے مداخلت کے بارے میں بات کی، جس میں ایک وعدہ کرنے والا 85٪ پروٹوٹائپ اور پیداوار کے لئے تیار 99٪ کے نظام کے درمیان ناپسندیدہ کمی ہے. اس سلسلے کا پہلا حصہ آج، ہم اپنے ہاتھوں کو چمکنے اور ایک سادہ، کام کرنے والی ویب ایپلی کیشن کی تعمیر کرنے جا رہے ہیں جو ایک ڈیٹا flywheel کے بنیادی لنک کو ظاہر کرتا ہے. اس مضمون کے اختتام تک، آپ نے ایک AI کی غلطی کو درست کیا ہے اور آپ کے کام سے ایک کامل، اچھی طرح سے تنصیب تیار ڈیٹا سیٹ پیدا کیا ہے. ہم اس کا استعمال کریں گے ہمارے Open-Source Framework کی ایک مثال یہ مثال خود پر مبنی ہے، Docker یا Redis جیسے بیرونی خدمات کی ضرورت نہیں ہے، اور یہ ثابت کرتا ہے کہ مرکزی نمونہ کتنا طاقتور ہوسکتا ہے. correction_deck_quickstart فائنل فائنل اسکرین: A Flawed Invoice AI تصور کریں کہ ہم نے فرائض سے ساختہ اعداد و شمار نکالنے کے لئے ایک ای ای کی تعمیر کی ہے. ہم اسے ایک فرائض کی تصویر فراہم کرتے ہیں، اور ہم چاہتے ہیں کہ یہ ایک صاف JSON اشیاء کی واپسی کریں. اس کے پہلے پاس پر، AI ایک اچھا کام کرتا ہے، لیکن یہ کامل نہیں ہے. یہ اس غلطی پیدا کرتا ہے: { "supplier_name": "Lone Star Provisins Inc.", // <-- TYPO! "invoice_number": "785670", "invoice_date": "2025-08-20", "inventory_items": [ { "item_name": "TAVERN HAM WH", "total_quantity": 15.82, "total_unit": "LB", "total_cost": 87.80 }, { "item_name": "ONIONS YELLOW JBO", "total_quantity": 5, // <-- WRONG QUANTITY! Should be 50. "total_unit": "LB", "total_cost": 35.50 } ] } ہمارا مقصد ایک نظام بنانا ہے جو ایک انسان کو آسانی سے ان دو غلطیوں کو ٹھیک کرنے کی اجازت دیتا ہے اور، اہم طور پر، ان اصلاحات کو دوبارہ تربیت کے لئے پکڑتا ہے. ہمارے Flywheel کے تین بنیادی اجزاء اس کو تعمیر کرنے کے لئے، ہماری Foundry فریم ورک تین سادہ لیکن طاقتور Python اختلاطات پر منحصر ہے: یہ ایک ڈیٹا بیس ماڈل ہے جو AI کے لئے کام کی ایک واحد یونٹ کی نمائندگی کرتا ہے. یہ input_data (اعداد و شمار کی تصویر)، initial_ai_output (اوپر غلط JSON) اور ایک جگہ ہے جس میں ایک انسان نے اسے ٹھیک کیا ہے تو corrected_output کو ذخیرہ کرنے کے لئے. CorrectionRecord: یہ سونے کا ٹکٹ ہے. جب ایک انسان اپنے اصلاحات کو محفوظ کرتا ہے، تو ہم صرف کام کو اپ ڈیٹ نہیں کرتے. ہم ایک منفرد، خود پر مبنی CorrectionRecord پیدا کرتے ہیں. یہ ریکارڈ فٹنگ کے لئے مقصد کی بنیاد پر بنایا گیا ہے. یہ اصل input کی ایک صاف کاپی، AI کی برا کوشش، اور انسان کی "زمین کی حقیقت" اصلاحات کو ذخیرہ کرتا ہے. یہ ایک کامل، پرانی تربیت کے مثال ہے. CorrectionHandler: یہ کاروباری منطق ہے. یہ ایک سادہ کلاس ہے جو عمل کو منظم کرتا ہے: یہ ویب UI سے بھیجے گئے فارم ڈیٹا لے جاتا ہے، اس کی تصدیق کرتا ہے، کام کو اپ ڈیٹ کرتا ہے، CorrectionRecord پیدا کرتا ہے، اور تمام ریکارڈز کو ایک تربیت فائل میں برآمد کرنے کا کام کرتا ہے. یہ تین ٹکڑے ایک دوسرے کے ساتھ کام کرتے ہیں اور ہمارے flywheel کی پٹھان بناتے ہیں. Let's Build It: ایکشن میں Quickstart اگر آپ اس کی پیروی کر رہے ہیں تو، کلن کریں navigate کے لئے ڈائریکٹر، اور انسٹال dependences. ڈائریکٹر Repository examples/correction_deck_quickstart مرحلہ 1: Quickstart سکرپٹ چلائیں آپ کے ٹرمینل سے، صرف چلائیں: python quickstart.py آپ کو ایک پیغام دیکھیں گے کہ ایک مقامی ویب سرور پر شروع کیا گیا ہے . http://localhost:8000 --- Foundry Quickstart Server running at http://localhost:8000 --- --- Open the URL in your browser to use the Correction Deck. --- --- Press Ctrl+C to stop the server and complete the flywheel. --- مرحلہ 2: Correction Deck UI کا استعمال کریں آپ کے براؤزر میں اس URL کو کھولیں. آپ کو ایک سادہ Correction Deck UI دیکھیں گے. بائیں طرف منبع اکاؤنٹ کی تصویر ہے. دائیں طرف ایک ویب فارم ہے جو AI کی غلطیوں کے ساتھ پہلے سے ہی بھرا ہوا ہے. آپ کا کام یہ ہے کہ چرچ میں انسان بنیں. ان دو اصلاحات کریں: Lone Star Provisins Inc. کو Lone Star Provisions Inc. میں تبدیل کریں رقم کو ٹھیک کریں: 5 سے 50 تک ONIONS YELLOW JBO کے لئے مقدار کو تبدیل کریں. کلک کریں Save Correction. مرحلہ 3: Flywheel مکمل کریں اب، اپنے ٹرمینل پر واپس جائیں اور سرور کو دباؤ سے روکیں سکرپٹ خود کار طریقے سے flywheel کے آخری مرحلے کو روکتا ہے: آپ کے کام کو برآمد. Ctrl+C --- Server stopped. --- --- Exporting approved corrections to fine-tuning format... --- --- Data successfully exported to 'corrected_data.jsonl' --- --- QUICKSTART COMPLETE --- آپ نے یہ کیا.آپ نے صرف ڈیٹا flywheel کا ایک مکمل دور مکمل کیا. The Payoff: کامل تربیت فائل کھولیں آپ کو ایک نیا فائل مل جائے گا: یہ آپ کے کام کا حقیقی نتیجہ ہے، جو ایک جدید AI ماڈل کو بہتر بنانے کے لئے مکمل طور پر پکڑ لیا اور فارمیٹ کیا گیا ہے. examples/correction_deck_quickstart corrected_data.jsonl ہم اندر کی طرف دیکھیں. یہ ساختہ JSON کی ایک ہی لائن ہے: {"contents": [{"role": "user", "parts": [{"fileData": {"mimeType": "image/jpeg", "fileUri": "/static/example_invoice.jpeg"}}, {"text": "Extract the key business data from the provided input."}]}, {"role": "model", "parts": [{"text": "{\"supplier_name\": \"Lone Star Provisions Inc.\", \"invoice_number\": \"785670\", \"invoice_date\": \"2025-08-20\", \"inventory_items\": [{\"item_name\": \"TAVERN HAM WH\", \"total_quantity\": 15.82, \"total_unit\": \"LB\", \"total_cost\": 87.8}, {\"item_name\": \"ONIONS YELLOW JBO\", \"total_quantity\": 50.0, \"total_unit\": \"LB\", \"total_cost\": 35.5}]}"}]}]}``` یہ پیچیدہ لگ سکتا ہے، لیکن یہ وہ بات چیت فارمیٹ ہے جو گوگل کے جیمینو اور OpenAI کے GPT سیریز جیسے ماڈل fin-tuning کے لئے توقع کرتے ہیں. "Role": "user": یہ مشورہ ہے. یہ داخلہ تصویر (fileUri) اور ہدایات ہم نے AI کو دیا ہے. "Role": "model": یہ کامل جواب ہے. یہ آپ کی اصلاحات کے ساتھ JSON سیریز شامل ہے. ہم نے کامیاب طور پر انسانی کوشش کے چند سیکنڈ کو ایک اعلی معیار، مشین پڑھنے کے لئے تربیت کے مثال میں تبدیل کر دیا ہے. اب، 100 اصلاحات کے لئے ایسا کرنے کی تصور کریں. یا 1000. آپ اب صرف غلطیوں کو درست نہیں کر رہے ہیں؛ آپ فعال طور پر اور مؤثر طریقے سے ایک ڈیٹا سیٹ کی تعمیر کر رہے ہیں جو آپ کے ماڈل کے اگلے ورژن میں اس پوری قسم کی غلطیوں کو ختم کرے گا. Next کیا ہے؟ ہم نے flywheel کے بنیادی لنک ثابت کیا ہے: Correct -> Capture -> Format for Training. یہ ایک طاقتور آغاز ہے، لیکن یہ ایک آن لائن عمل ہے. ہم اس بات کا انتظار کر رہے تھے کہ AI اس کے بیٹری کو ختم کرے، اور پھر ہم نے اس کے کام کو درست کیا. لیکن اگر ہم زیادہ انٹرایکٹک ہوسکتے ہیں تو کیا ہو سکتا ہے؟ اگر ایک پائپ لائن چل رہا ہوسکتا ہے، کچھ نہیں سمجھتا ہے، اور ذہنی طور پر خود کو ایک انسانی سے حقیقی وقت میں مدد کے لئے پوچھنے کے لئے روکنے کے لئے؟ اس سلسلے میں اگلے مضمون میں، ہم بالکل اس کی تعمیر کریں گے.ہم ایک طاقتور، انسان-in-the-roop پائپ لائن کی تعمیر کریں گے جو جانتا ہے کہ جب یہ مشکل میں ہے اور واضحات کے لئے پوچھنے سے خوفزدہ نہیں ہے.