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