अनुवाद कतार: बैच प्रसंस्करण प्रणाली
यह लेख बताता है कि हम एआई एपीआई उपयोग को अनुकूलित करने के लिए अनुवादों को कैसे कतारबद्ध और बैच-प्रोसेस करते हैं।
समस्या: ऑन-डिमांड अनुवाद महंगा है
सामग्री का ऑन-डिमांड अनुवाद करने में समस्याएं हैं:
-
धीमा: प्रत्येक अनुवाद में 1-2 सेकंड लगते हैं
-
महंगा: प्रति अनुरोध एपीआई लागत
-
अनावश्यक: एक ही पाठ का बार-बार अनुवाद
-
ब्लॉकिंग: उपयोगकर्ता अनुवाद की प्रतीक्षा करता है
हमें एक बेहतर दृष्टिकोण की आवश्यकता है।
समाधान: कतार और बैच
कतार: अनुवाद अनुरोध एकत्र करें
बैच: एक साथ कई अनुवाद प्रक्रिया करें
कैश: पुन: उपयोग के लिए परिणाम संग्रहीत करें
शेड्यूल: कतार को समय-समय पर प्रक्रिया करें (रीयल-टाइम नहीं)
कतार संरचना
कतार फ़ाइल
स्थान: डिस्क पर JSON फ़ाइल
प्रारूप: अनुवाद अनुरोधों की सरणी
फ़ील्ड:
-
text: अनुवाद के लिए अंग्रेजी पाठ -
target_lang: भाषा कोड (hi, de, fr, आदि) -
context: पाठ कहाँ प्रकट होता है (उत्पाद, क्वेरी, लेख) -
priority: उच्च/सामान्य/निम्न
कतार में जोड़ना
जब अनुवाद गायब हो:
queue_translation(text, target_lang, context="product")
डीडुप्लिकेशन: जांचें कि क्या पहले से कतारबद्ध है
सत्यापन: अवैध मान अस्वीकार करें
बैच प्रसंस्करण
स्क्रिप्ट
स्थान: scripts/web/process_translation_queue.py
शेड्यूल: क्रॉन के माध्यम से हर 6 घंटे में चलती है
लॉक फ़ाइल: एक साथ चलने से रोकती है
प्रक्रिया प्रवाह
1. कतार लोड करें: सभी लंबित अनुरोध पढ़ें
2. भाषा के अनुसार समूहित करें: समान-भाषा के अनुरोधों को बैच करें
3. डीडुप्लिकेट करें: बैच के भीतर डुप्लिकेट हटाएं
4. कैश जांचें: पहले से अनुवादित पाठों को छोड़ दें
5. बैच अनुवाद करें: DeepSeek API को भेजें
6. परिणाम पार्स करें: प्रतिक्रिया से अनुवाद निकालें
7. कैश में सहेजें: वाक्यांश तालिकाओं में संग्रहीत करें
8. कतार साफ़ करें: प्रसंस्कृत अनुरोध हटाएं
बैच अनुवाद
एपीआई कॉल
मॉडल: DeepSeek-V3 (Together.ai के माध्यम से)
सिस्टम प्रॉम्प्ट: कैश्ड (भाषा में सभी बैचों के लिए समान)
यूजर प्रॉम्प्ट: परिवर्तनशील (बैच-विशिष्ट)
प्रारूप: क्रमांकित सूची
उदाहरण:
इन 10 पाठों का अनुवाद करें:
1. Mini PC
2. Thin Client
3. Compact Desktop
...
प्रतिक्रिया:
1. मिनी पीसी
2. थिन क्लाइंट
3. कॉम्पैक्ट डेस्कटॉप
...
पार्सिंग
लाइन नंबर द्वारा अनुवाद निकालें:
-
संख्या उपसर्ग हटाएं (
1.,2., आदि) -
स्थिति के अनुसार मूल पाठों से मिलान करें
-
जांचें कि गणना मेल खाती है
त्रुटि प्रबंधन
एपीआई विफलता: फॉलबैक एपीआई के साथ पुन: प्रयास करें
पार्स विफलता: मूल पाठ वापस करें
आंशिक सफलता: सफल अनुवाद सहेजें, विफलताओं को पुन: कतारबद्ध करें
कैशिंग रणनीति
वाक्यांश तालिकाएँ
स्थान: प्रति भाषा JSON फ़ाइलें
प्रारूप: {"English": "Translation"}
लोडिंग: स्टार्टअप पर एक बार लोड होती हैं
लाभ: त्वरित लुकअप, कोई एपीआई कॉल नहीं
कैश हिट दर
पहला रन: कम (सब कुछ नया)
बाद के रन: उच्च (अधिकांश पाठ कैश्ड)
लाभ: एपीआई लागत कम हुई
संरक्षण नियम
अनुवाद के दौरान, हम संरक्षित करते हैं:
ब्रांड नाम: Thinvent®, Intel®, AMD®
HTML टैग: <p>, <br>, <strong>
URL: https://www.thinvent.in
SKU: Treo-N100-8-256
संख्याएँ: 8GB, 256GB, 4 cores
कार्यान्वयन: सिस्टम प्रॉम्प्ट में रेगेक्स पैटर्न
भाषा पहचान
अनुवाद करने से पहले, जांचें कि क्या पहले से अनुवादित है:
विधि: वर्ण सेट विश्लेषण
हिंदी: देवनागरी लिपि
चीनी: CJK वर्ण
अरबी: अरबी लिपि
लाभ: अनावश्यक अनुवाद छोड़ें
प्राथमिकता प्रबंधन
उच्च प्राथमिकता: उत्पाद नाम, विशेषताएँ (पहले प्रक्रिया करें)
सामान्य प्राथमिकता: विवरण, लेख (दूसरे प्रक्रिया करें)
निम्न प्राथमिकता: पुरानी सामग्री, शायद ही देखी गई (अंत में प्रक्रिया करें)
लाभ: महत्वपूर्ण सामग्री पहले अनुवादित
शेड्यूलिंग
क्रॉन जॉब
आवृत्ति: हर 6 घंटे
कमांड: python3 scripts/web/process_translation_queue.py
लॉक फ़ाइल: /tmp/process_translation_queue.lock
लाभ: स्वचालित प्रसंस्करण, कोई मैन्युअल हस्तक्षेप नहीं
साप्ताहिक कार्य
लेख: नए लेखों का साप्ताहिक अनुवाद करें
बेबल स्ट्रिंग्स: टेम्प्लेट अनुवाद साप्ताहिक अपडेट करें
स्क्रिप्ट: scripts/web/translate_articles_weekly.sh
निगरानी
कतार आकार
लंबित अनुरोध ट्रैक करें:
-
कुल अनुरोध
-
प्रति भाषा अनुरोध
-
सबसे पुराने अनुरोध की आयु
अलर्ट: यदि कतार बहुत बड़ी हो जाए
अनुवाद आँकड़े
प्रसंस्करण ट्रैक करें:
-
प्रति बैच अनुवाद
-
एपीआई सफलता दर
-
कैश हिट दर
-
प्रसंस्करण समय
लागत ट्रैकिंग
एपीआई उपयोग की निगरानी करें:
-
प्रति दिन अनुरोध
-
प्रति अनुरोध टोकन
-
प्रति भाषा लागत
संदर्भ
संबंधित लेख
-
अनुवाद प्रणाली - तीन-प्रौद्योगिकी संकर
-
सामग्री एआई जनरेशन - DeepSeek एकीकरण
-
भाषा पहचान - उपयोगकर्ता भाषा प्राथमिकता
सारांश
अनुवाद कतार कुशल बैच प्रसंस्करण सक्षम करती है:
कतार:
-
✅ अनुवाद अनुरोध एकत्र करें
-
✅ बैच के भीतर डीडुप्लिकेट करें
-
✅ प्राथमिकता प्रबंधन
-
✅ सत्यापन और फ़िल्टरिंग
बैच प्रसंस्करण:
-
✅ भाषा के अनुसार समूहित करें
-
✅ DeepSeek API को भेजें
-
✅ क्रमांकित प्रतिक्रियाएँ पार्स करें
-
✅ वाक्यांश तालिकाओं में सहेजें
कैशिंग:
-
✅ अनुवाद से पहले कैश जांचें
-
✅ उच्च कैश हिट दर
-
✅ कम एपीआई लागत
शेड्यूलिंग:
-
✅ क्रॉन के माध्यम से हर 6 घंटे
-
✅ लॉक फ़ाइल एक साथ चलने से रोकती है
-
✅ साप्ताहिक लेख अनुवाद
संरक्षण:
-
✅ ब्रांड नाम
-
✅ HTML टैग
-
✅ URL और SKU
यह दृष्टिकोण बैचिंग और कैशिंग के माध्यम से एपीआई लागत कम करता है और अनुवाद गुणवत्ता में सुधार करता है।