ટ્રાન્સલેશન ક્યૂ: બેચ પ્રોસેસિંગ સિસ્ટમ

આ લેખ સમજાવે છે કે અમે 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 યુઝ મોનિટર કરો:

  • દિવસ પ્રતિ રિક્વેસ્ટ્સ

  • રિક્વેસ્ટ પ્રતિ ટોકન્સ

  • ભાષા પ્રતિ કિંમત

સંદર્ભો

સંબંધિત લેખો

સારાંશ

ટ્રાન્સલેશન ક્યૂ કાર્યક્ષમ બેચ પ્રોસેસિંગ સક્ષમ કરે છે:

ક્યૂ:

  • ✅ ટ્રાન્સલેશન રિક્વેસ્ટ્સ એકત્રિત કરો

  • ✅ બેચની અંદર ડિડ્યુપ્લિકેટ કરો

  • ✅ પ્રાયોરિટી હેન્ડલિંગ

  • ✅ વેલિડેશન અને ફિલ્ટરિંગ

બેચ પ્રોસેસિંગ:

  • ✅ ભાષા દ્વારા ગ્રુપ કરો

  • ✅ DeepSeek API પર મોકલો

  • ✅ નંબર્ડ રિસ્પોન્સ પાર્સ કરો

  • ✅ ફ્રેઝ ટેબલમાં સેવ કરો

કેશિંગ:

  • ✅ ટ્રાન્સલેટ કરતા પહેલા કેશ તપાસો

  • ✅ ઉચ્ચ કેશ હિટ રેટ

  • ✅ ઘટાડેલી API કિંમત

શેડ્યૂલિંગ:

  • ✅ હર 6 કલાકે cron દ્વારા

  • ✅ લૉક ફાઇલ કન્કરન્ટ રન અટકાવે છે

  • ✅ સાપ્તાહિક આર્ટિકલ ટ્રાન્સલેશન

પ્રિઝર્વેશન:

  • ✅ બ્રાન્ડ નામો

  • ✅ HTML ટેગ્સ

  • ✅ URLs અને SKUs

આ અભિગમ બેચિ