ટ્રાન્સલેશન ક્યૂ: બેચ પ્રોસેસિંગ સિસ્ટમ
આ લેખ સમજાવે છે કે અમે AI API યુઝ ઓપ્ટિમાઇઝ કરવા માટે ટ્રાન્સલેશન કેવી રીતે ક્યૂ કરીએ છીએ અને બેચ-પ્રોસેસ કરીએ છીએ.
સમસ્યા: ઓન-ડિમાન્ડ ટ્રાન્સલેશન ખર્ચાળ છે
કન્ટેન્ટનું ઓન-ડિમાન્ડ ટ્રાન્સલેશન કરવામાં નીચેની સમસ્યાઓ છે:
-
ધીમું: દરેક ટ્રાન્સલેશન 1-2 સેકન્ડ લે છે
-
ખર્ચાળ: API કોસ્ટ પ્રતિ રિક્વેસ્ટ
-
નકામું: સમાન ટેક્સ્ટનું બહુવાર ટ્રાન્સલેશન
-
બ્લોકિંગ: યુઝર ટ્રાન્સલેશન માટે રાહ જુએ છે
અમને વધુ સારો અભિગમ જોઈએ છે.
સોલ્યુશન: ક્યૂ અને બેચ
ક્યૂ: ટ્રાન્સલેશન રિક્વેસ્ટ્સ એકત્રિત કરો
બેચ: એકસાથે બહુવિધ ટ્રાન્સલેશન પ્રોસેસ કરો
કેશ: પરિણામો રિયુઝ માટે સ્ટોર કરો
શેડ્યૂલ: ક્યૂને સમયાંતરે પ્રોસેસ કરો (રિઅલ-ટાઇમ નહીં)
ક્યૂ સ્ટ્રક્ચર
ક્યૂ ફાઇલ
લોકેશન: ડિસ્ક પર JSON ફાઇલ
ફોર્મેટ: ટ્રાન્સલેશન રિક્વેસ્ટ્સની એરે
ફીલ્ડ્સ:
-
text: ટ્રાન્સલેટ કરવાનો અંગ્રેજી ટેક્સ્ટ -
target_lang: લેંગ્વેજ કોડ (hi, de, fr, વગેરે) -
context: ટેક્સ્ટ ક્યાં દેખાય છે (પ્રોડક્ટ, ક્વેરી, આર્ટિકલ) -
priority: હાઈ/નોર્મલ/લો
ક્યૂમાં ઉમેરવું
જ્યારે ટ્રાન્સલેશન ગુમ હોય:
queue_translation(text, target_lang, context="product")
ડિડ્યુપ્લિકેશન: તપાસો કે પહેલેથી ક્યૂમાં છે કે નહીં
વેલિડેશન: ગાર્બેજ વેલ્યુઝને રિજેક્ટ કરો
બેચ પ્રોસેસિંગ
સ્ક્રિપ્ટ
લોકેશન: scripts/web/process_translation_queue.py
શેડ્યૂલ: હર 6 કલાકે cron દ્વારા ચાલે છે
લૉક ફાઇલ: કન્કરન્ટ રન અટકાવે છે
પ્રોસેસ ફ્લો
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 કેરેક્ટર્સ
અરબી: અરબી લિપિ
ફાયદો: અનાવશ્યક ટ્રાન્સલેશન સ્કિપ કરો
પ્રાયોરિટી હેન્ડલિંગ
હાઈ પ્રાયોરિટી: પ્રોડક્ટ નામ, ફીચર્સ (પ્રથમ પ્રોસેસ)
નોર્મલ પ્રાયોરિટી: વર્ણનો, આર્ટિકલ્સ (બીજા પ્રોસેસ)
લો પ્રાયોરિટી: જૂનું કન્ટેન્ટ, ભાગ્યે જ જોવાતું (છેલ્લે પ્રોસેસ)
ફાયદો: મહત્વપૂર્ણ કન્ટેન્ટ પહેલા ટ્રાન્સલેટ થાય
શેડ્યૂલિંગ
Cron જોબ
ફ્રીક્વન્સી: હર 6 કલાકે
કમાન્ડ: python3 scripts/web/process_translation_queue.py
લૉક ફાઇલ: /tmp/process_translation_queue.lock
ફાયદો: ઓટોમેટિક પ્રોસેસિંગ, કોઈ મેન્યુઅલ ઇન્ટરવેન્શન નહીં
સાપ્તાહિક કાર્યો
આર્ટિકલ્સ: નવા આર્ટિકલ્સ સાપ્તાહિક ટ્રાન્સલેટ કરો
બેબલ સ્ટ્રિંગ્સ: ટેમ્પલેટ ટ્રાન્સલેશન સાપ્તાહિક અપડેટ કરો
સ્ક્રિપ્ટ: scripts/web/translate_articles_weekly.sh
મોનિટરિંગ
ક્યૂ સાઇઝ
પેન્ડિંગ રિક્વેસ્ટ્સ ટ્રૅક કરો:
-
કુલ રિક્વેસ્ટ્સ
-
ભાષા પ્રતિ રિક્વેસ્ટ્સ
-
સૌથી જૂની રિક્વેસ્ટની ઉંમર
અલર્ટ: જો ક્યૂ ખૂબ મોટી થાય
ટ્રાન્સલેશન આંકડા
પ્રોસેસિંગ ટ્રૅક કરો:
-
બેચ પ્રતિ ટ્રાન્સલેશન
-
API સક્સેસ રેટ
-
કેશ હિટ રેટ
-
પ્રોસેસિંગ સમય
કોસ્ટ ટ્રૅકિંગ
API યુઝ મોનિટર કરો:
-
દિવસ પ્રતિ રિક્વેસ્ટ્સ
-
રિક્વેસ્ટ પ્રતિ ટોકન્સ
-
ભાષા પ્રતિ કિંમત
સંદર્ભો
સંબંધિત લેખો
-
ટ્રાન્સલેશન સિસ્ટમ - ત્રણ-ટેકનોલોજી હાઇબ્રિડ
-
કન્ટેન્ટ AI જનરેશન - DeepSeek ઇન્ટિગ્રેશન
-
લેંગ્વેજ ડિટેક્શન - યુઝર ભાષા પસંદગી
સારાંશ
ટ્રાન્સલેશન ક્યૂ કાર્યક્ષમ બેચ પ્રોસેસિંગ સક્ષમ કરે છે:
ક્યૂ:
-
✅ ટ્રાન્સલેશન રિક્વેસ્ટ્સ એકત્રિત કરો
-
✅ બેચની અંદર ડિડ્યુપ્લિકેટ કરો
-
✅ પ્રાયોરિટી હેન્ડલિંગ
-
✅ વેલિડેશન અને ફિલ્ટરિંગ
બેચ પ્રોસેસિંગ:
-
✅ ભાષા દ્વારા ગ્રુપ કરો
-
✅ DeepSeek API પર મોકલો
-
✅ નંબર્ડ રિસ્પોન્સ પાર્સ કરો
-
✅ ફ્રેઝ ટેબલમાં સેવ કરો
કેશિંગ:
-
✅ ટ્રાન્સલેટ કરતા પહેલા કેશ તપાસો
-
✅ ઉચ્ચ કેશ હિટ રેટ
-
✅ ઘટાડેલી API કિંમત
શેડ્યૂલિંગ:
-
✅ હર 6 કલાકે cron દ્વારા
-
✅ લૉક ફાઇલ કન્કરન્ટ રન અટકાવે છે
-
✅ સાપ્તાહિક આર્ટિકલ ટ્રાન્સલેશન
પ્રિઝર્વેશન:
-
✅ બ્રાન્ડ નામો
-
✅ HTML ટેગ્સ
-
✅ URLs અને SKUs
આ અભિગમ બેચિ