منصوبے کے بارے میں
Antiserum اپنی تعریف ٹریننگ ڈیٹا کے لیے ایک اینٹی وائرس کے طور پر کرتا ہے: ایک مقامی اسکینر جو ٹیکسٹ ڈیٹا سیٹس میں ممکنہ زہر (poison) کی نشاندہی کرتا ہے، اور تصدیق شدہ دستخطوں (signatures) کی ایک مشترکہ فیڈ فراہم کرتا ہے۔ ریپوزٹری ہی اصل پروڈکٹ ہے۔ اس میں کوئی لاگ ان یا ہوسٹڈ اسکیننگ سروس نہیں ہے۔ عوامی دستاویزات GitHub Pages سے فراہم کی جاتی ہیں، لیکن سائٹ صرف CLI کی دستاویزات فراہم کرتی ہے اور یہ کسی کورپرا (corpora) کو اسکین، پرکھنے یا ہوسٹ نہیں کرتی۔
اس پروجیکٹ کا مقصد پری ٹریننگ کے ایک سوال کا جواب دینا ہے: کیا ڈیٹا سیٹ سیکھنے کے لیے محفوظ ہے؟ اس تناظر میں، محفوظ ہونے کا مطلب ہے کہ مکس میں کوئی چھپے ہوئے ٹرگرز، مربوط لیبل فلپس، ڈپلیکیٹ ڈمپس، یا دیگر پلانٹڈ قطاریں موجود نہ ہوں جو تب تک صاف نظر آئیں جب تک کہ ماڈل انہیں یاد نہ کر لے۔ یہ ٹول Python 3.10+ پر مبنی ہے اور اسے PyPI سے pip install antiserum کے ذریعے انسٹال کیا جاتا ہے، جو antiserum کمانڈ فراہم کرتا ہے۔ مقامی اسکین نیٹ ورک کا استعمال نہیں کرتا، API کیز نہیں مانگتا، اور نہ ہی ڈیٹا سیٹس ڈاؤن لوڈ کرتا ہے۔ یہ JSONL، CSV، JSON، سادہ ٹیکسٹ، gzip-کمپریسڈ ورینٹس، اور مقامی Hugging Face کیش یا ڈاؤن لوڈ کردہ ڈیٹا سیٹ راستوں کو اسکین کر سکتا ہے۔ Arrow اور Parquet shards کے لیے ایک اختیاری اضافی ضرورت ہوتی ہے۔
اسکینر کی تین تہیں ہیں۔ فطری تہہ (innate layer) مقامی مشین پر چلتی ہے اور اس میں نایاب n-grams، لیبل فلپس، نیئر کاپی ڈمپس، Jaccard سے آگے پیرا فریز فیملیز، لمبائی اور اینٹروپی اسپائیکس، سگنیچر فیڈ ہٹس، چھپے ہوئے Unicode کنٹرولز، اور مکسڈ اسکرپٹ ٹوکنز کی جانچ شامل ہے۔ اڈاپٹیو تہہ (adaptive layer) ایک شائع شدہ ربرک ہے جہاں ایک انسان یا ایجنٹ کسی جھنڈے (flag) کو زہر، جنک، یا غلط الارم کے طور پر نشان زد کر سکتا ہے۔ میموری تہہ (memory layer) دستخطوں کی ایک مقامی فیڈ اور ایک ریفرنس کورپس پر مشتمل ہے۔ تاریخ شدہ پیک ریلیزز کو چینج لاگ میں ٹریک کیا جاتا ہے، اور ایک اسکین ایک رسید (receipt) لکھتا ہے جس میں ڈیٹا سیٹ ہیش، اسکینر ورژن، پیک شناخت، جھنڈے، اور تصدیق شدہ ہٹس شامل ہوتے ہیں۔
دستاویزی چیکس میں trigger n-grams، لیبل فلپس، ڈپلیکیٹ انجیکٹ، پیرا فریز اوور ویٹ، سٹیٹ آؤٹ لایرز، سگنیچر ہٹ، انسٹرکشن اوور رائیڈ، چھپا ہوا Unicode، اور مکسڈ اسکرپٹ شامل ہیں۔ کچھ چیکس کو ہمیشہ انسانی تصدیق کی ضرورت ہوتی ہے، جبکہ دیگر میں پہلے مرحلے پر جنک یا غلط الارم کی درجہ بندی ہو سکتی ہے۔ صارفین صرف منتخب چیکس چلا سکتے ہیں یا کچھ کو چھوڑ سکتے ہیں، اور رسید ریکارڈ کرتی ہے کہ کون سے چیکس چلے تاکہ کسی بھی omission کی شناخت ہو سکے۔
اسکیننگ کا رویہ جان بوجھ کر مقامی اور محدود رکھا گیا ہے۔ ڈیفالٹ حد 25,000 قطاریں یا 128 MiB سورس فائلز ہے۔ ایک بڑا ڈمپ اس حد پر رک جاتا ہے، رسید میں کٹاؤ (truncation) ریکارڈ کرتا ہے، اور میموری ختم ہونے کے بجائے exit 3 کے ساتھ باہر نکل جاتا ہے۔ ایک allow-truncated آپشن جان بوجھ کر لیے گئے نمونے کے لیے exit 0 برقرار رکھ سکتا ہے، جبکہ رسید اب بھی کٹاؤ کی نشاندہی کرے گی۔ ایگزٹ کوڈز ایک مکمل اسکین (بغیر کسی فیلنگ فلیگز کے)، فیل-آن تھریش ہولڈ پر یا اس سے اوپر کے جھنڈوں، استعمال یا I/O غلطیوں، اور کٹاؤ کے درمیان فرق کرتے ہیں۔ Fail-on کسی بھی (any)، ہائی (high)، یا کبھی نہیں (never) ہو سکتا ہے۔ ایک ہی فولڈر بائٹس اور جھنڈوں کے لیے رسیدیں ڈیٹرمینسٹک ہوتی ہیں، اور ایک diff کمانڈ بغیر دوبارہ اسکین کیے محفوظ شدہ بیس لائن رسید کا نئے کے ساتھ موازنہ کر سکتی ہے۔ ٹول مقامی طور پر JSON، SARIF، HTML، CSV، اور Markdown رپورٹس فراہم کر سکتا ہے۔
کنفیگریشن ایک مقامی antiserum.toml فائل میں رکھی جا سکتی ہے، جس میں جھنڈے فائل کی سیٹنگز کو اوور رائیڈ کر سکتے ہیں۔ ایک allowlist.jsonl فائل معلوم غلط الارمز کو دبا سکتی ہے، اور رسید اب بھی الاؤ لسٹ راستے اور ہیش کو ریکارڈ کرتی ہے تاکہ دبانے کا عمل خاموشی سے نہ ہو سکے۔ تصدیق کا ورک فلو جھنڈوں کے فیصلے، باقیات کو طے کرنے، مقامی الاؤ لسٹ میں غلط الارمز شامل کرنے، اور ایک سگنیچر لائن اور پل ریکویسٹ باڈی تجویز کرنے کے لیے کمانڈز کا استعمال کرتا ہے۔ تصدیق شدہ زہر ایک عوامی دستخط بن جاتا ہے جسے مستقبل کے اسکینز میچ کر سکتے ہیں۔
ریپوزٹری میں دو منٹ کے ڈیمو کے لیے ایک ٹوائے کورپس اور چند سو پودوں اور ایک صاف اکثریت کے ساتھ ایک ریفرنس کورپس شامل ہے۔ make reproduce کمانڈ ریفرنس مکس کو اسکین کرتی ہے اور اگر کوئی پلانٹڈ قطار چھوٹ جائے تو nonzero کے ساتھ باہر نکلتی ہے۔ ٹیسٹ میں لنٹنگ، pytest کوریج، فیلڈ ہنٹ فکسچرز، اور تھریش ہولڈز کے خلاف فی چیک تشخیص شامل ہے۔ ایک GitHub Action کالر رنر پر CLI چلا سکتا ہے، رسید اور SARIF آرٹفیکٹس پیدا کر سکتا ہے، اور اختیاری طور پر کوڈ اسکیننگ کے لیے SARIF اپ لوڈ کر سکتا ہے۔ CI مثالیں دکھاتی ہیں کہ رسید کے جھنڈوں یا شدت کی بنیاد پر جاب کو کیسے فیل کیا جائے۔
README دائرہ کار کے بارے میں واضح ہے۔ Antiserum رن ٹائم پرامپٹ فائر وال، ماڈل فائل یا پکل مالویئر اسکینر، ڈیٹا کوالٹی یا لیبل ایرر ٹول، ویٹ لیول بیک ڈور انورٹر، یا امیج پوائزن جنریٹر نہیں ہے۔ موجودہ ورژن میں یہ صرف ٹیکسٹ ڈیٹا سیٹ اسکیننگ کے لیے ہے۔ ایماندارانہ کوریج، تھریٹ ماڈل، فیلڈ ہنٹ نوٹس، اور پوزیشننگ ریپوزٹری میں دستاویزی ہیں۔ پروجیکٹ MIT لائسنس کے تحت ہے اور اسے ہفتہ 11-12 کی صورتحال کے طور پر پیش کیا گیا ہے جس میں ایک فعال CLI، چیکس، کنفرم لوپ، ٹوائے ڈیمو، ریفرنس کورپس، فیڈ، اور رسید موجود ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.