अनुवाद कतार: बैच प्रोसेसिंग सिस्टम

यह लेख बताता है कि हम 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 उपयोग की निगरानी करें:

  • प्रति दिन अनुरोध

  • प्रति अनुरोध टोकन

  • प्रति भाषा लागत

संदर्भ

संबंधित लेख

सारांश

अनुवाद कतार कुशल बैच प्रसंस्करण को सक्षम बनाती है:

कतार:

  • अनुवाद अनुरोध एकत्र करें

  • बैच के भीतर डुप्लिकेट हटाएं

  • प्राथमिकता प्रबंधन

  • सत्यापन और फ़िल्टरिंग

बैच प्रसंस्करण:

  • भाषा के अनुसार समूहित करें

  • DeepSeek API को भेजें

  • क्रमांकित प्रतिक्रियाएं पार्स करें

  • वाक्यांश तालिकाओं में सहेजें

कैशिंग:

  • अनुवाद से पहले कैश जाँचें

  • उच्च कैश हिट दर

  • कम API लागत

शेड्यूलिंग:

  • क्रॉन के माध्यम से हर 6 घंटे

  • लॉक फ़ाइल समवर्ती रन को रोकती है

  • साप्ताहिक लेख अनुवाद

संरक्षण:

  • ब्रांड नाम

  • HTML टैग

  • URLs और SKUs

यह दृष्टिकोण बैचिंग और कैशिंग के माध्यम से API लागत कम करता है और अनुवाद गुणवत्ता में सुधार करता है।


← दस्तावेज़ीकरण सूची पर वापस जाएं