منصوبے کے بارے میں

## یہ کیا ہے ChatGPT سب ٹائٹل مترجم ایک ترجمہ یوٹیلیٹی ہے جو OpenAI ChatGPT API (یا کسی بھی OpenAI-مطابق چیٹ کمپلیشن اینڈ پوائنٹ، بشمول مقامی Ollama انسٹنس) کے گرد بنائی گئی ہے۔ اس کی توجہ لائن پر مبنی ترجمہ پر ہے، خاص طور پر SRT سب ٹائٹلز، جہاں ان پٹ اور آؤٹ پٹ لائنوں کے درمیان مماثلت برقرار رکھنا سب ٹائٹل ٹائمنگ کو محفوظ رکھنے کے لیے اہم ہے۔ ## یہ کیسے کام کرتا ہے SRT انڈیکس اور ٹائم اسٹیمپ کو ماڈل کو بھیجنے سے پہلے ہٹا یا آسان کیا جاتا ہے تاکہ ٹوکن کا استعمال کم ہو۔ لائنوں کو ایک ہی پرامپٹ میں بیچوں میں گروپ کیا جاتا ہے، جس سے فی انٹری بار بار اوور ہیڈ ختم ہوتا ہے اور بغیر ضرورت سے زیادہ ٹوکن استعمال کے من مانی لمبی فائلوں کا ترجمہ ممکن ہوتا ہے۔ ڈیفالٹ سسٹم ہدایت ایک کم سے کم `Translate to <language>` ہے۔ پانچ ساختی موڈز `--structured` کے ذریعے منتخب کیے جا سکتے ہیں: - `array` (ڈیفالٹ): لائنوں کو JSON صف کے طور پر بھیجا جاتا ہے اور ماڈل مماثل صف واپس کرتا ہے۔ - `object`: ماخذ لائنز رسپانس اسکیما میں کلید بن جاتی ہیں، اس لیے کوئی واضح صارف پیغام نہیں بھیجا جاتا۔ - `timestamp`: ٹائمنگ کو متن کے ساتھ ایک کمپیکٹ Toon فارمیٹ میں محفوظ کیا جاتا ہے جس میں بیچ آفسیٹ اور فی انٹری آفسیٹ/لمبائی ملی سیکنڈ میں ہوتی ہے؛ ماڈل ملحقہ اندراجات کو ضم کر سکتا ہے۔ دوبارہ کوشش صرف اس وقت ہوتی ہے جب آؤٹ پٹ ٹائم اسپین کی حدود ان پٹ سے مماثل نہ ہوں۔ - `agent`: ایجنٹ سب کمانڈ کا ڈیفالٹ آپشنز کے ساتھ مترادف۔ - `none`: ساختی آؤٹ پٹ کے بغیر لیگیسی موڈ۔ ## خصوصیات - ویب UI (GitHub Pages پر میزبان) اور کمانڈ لائن - ساختی آؤٹ پٹ سپورٹ، دونوں انٹرفیس میں ڈیفالٹ طور پر فعال - پرامپٹ کیشنگ سپورٹ، `-c, --context` (صرف کمانڈ لائن) سے کنٹرول کیا جاتا ہے - کسی بھی OpenAI API مطابق فراہم کنندہ کے ساتھ کام کرتا ہے، مثلاً مقامی Ollama - لائن پر مبنی بیچنگ جس میں خودکار بیچ سائز سیاق و سباق ٹوکن بجٹ سے اخذ کیا جاتا ہے - اختیاری OpenAI موڈریشن چیک (`--use-moderator`، صرف کمانڈ لائن) تاکہ ممکنہ انکار پر ٹوکن ضائع نہ ہوں - اسٹریمنگ پروسیس آؤٹ پٹ - فی منٹ درخواست کی شرح محدود کرنا - پیش رفت بحالی (صرف کمانڈ لائن) - اسٹریمنگ کے دوران تکرار لوپ کا پتہ لگانا (`--guard-repetition`) ## ایجنٹ موڈ `agent` سب کمانڈ ترجمہ سے پہلے کئی پاس چلاتا ہے: ایک جائزہ پاس فائل کا نمونہ لے کر مواد، دورانیہ، صنف/لہجہ اور کردار کے ناموں کی شناخت کرتا ہے اور ماخذ زبان کا پتہ لگاتا ہے؛ ایک منصوبہ بندی پاس فائل کو ٹوکن-محدود ونڈوز میں اسکین کرتا ہے، بیچ خلاصے تیار کرتا ہے جو ایک بہتر ترجمہ ہدایت میں شامل کیے جاتے ہیں؛ ترجمہ پاس پھر اس افزودہ ہدایت کا استعمال کرتا ہے اور پہلے بیچ کے بعد ہدف زبان کی تصدیق کرتا ہے۔ اختیارات میں `--no-refine`، `--no-fitting` اور `--context-summary` شامل ہیں۔ ## سیٹ اپ اور استعمال Node.js >= 20 درکار ہے۔ کلون کرنے کے بعد، `npm install` چلائیں، `cli/translator.mjs` کو قابل عمل بنائیں، `.env.example` کو `.env` میں کاپی کریں اور API کلید شامل کریں۔ عام استعمال میں `cli/translator.mjs --input subtitles.srt --from Japanese --to English`، `--plain-text` کے ذریعے سادہ متن ان پٹ، اور `--system-instruction` کے ذریعے حسب ضرورت ہدایات شامل ہیں۔ ماڈل، درجہ حرارت، top_p، جرمانے اور logit bias معیاری OpenAI پیرامیٹرز کے ذریعے ترتیب دیے جا سکتے ہیں۔