అనువాద క్యూ: బ్యాచ్ ప్రాసెసింగ్ సిస్టమ్

ఈ వ్యాసం 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

షెడ్యూల్: cron ద్వారా ప్రతి 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>

URLలు: https://www.thinvent.in

SKUలు: Treo-N100-8-256

నంబర్లు: 8GB, 256GB, 4 cores

ఇంప్లిమెంటేషన్: సిస్టమ్ ప్రాంప్ట్‌లో రెగెక్స్ ప్యాటర్న్‌లు

భాష గుర్తింపు

అనువదించే ముందు, ఇప్పటికే అనువదించబడిందో లేదో తనిఖీ చేయండి:

పద్ధతి: క్యారెక్టర్ సెట్ విశ్లేషణ

హిందీ: దేవనాగరి లిపి

చైనీస్: CJK అక్షరాలు

అరబిక్: అరబిక్ లిపి

ప్రయోజనం: అనవసరమైన అనువాదాలను దాటవేయండి

ప్రయారిటీ హ్యాండ్లింగ్

హై ప్రయారిటీ: ప్రొడక్ట్ పేర్లు, ఫీచర్లు (మొదట ప్రాసెస్ చేయండి)

సాధారణ ప్రయారిటీ: వివరణలు, వ్యాసాలు (రెండవది ప్రాసెస్ చేయండి)

లో ప్రయారిటీ: పాత కంటెంట్, అరుదుగా చూసేవి (చివరిగా ప్రాసెస్ చేయండి)

ప్రయోజనం: ముఖ్యమైన కంటెంట్ మొదట అనువదించబడుతుంది

షెడ్యూలింగ్

Cron జాబ్

ఫ్రీక్వెన్సీ: ప్రతి 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 ఖర్చులు

షెడ్యూలింగ్:

  • cron ద్వారా ప్రతి 6 గంటలకు

  • లాక్ ఫైల్ ఏకకాలిక రన్‌లను నిరోధిస్తుంది

  • వారపు వ్యాస అనువాదాలు

ప్రిజర్వేషన్:

  • బ్రాండ్ పేర్లు

  • HTML ట్యాగ్‌లు

  • URLలు మరియు SKUలు

ఈ విధానం బ్యాచింగ్ మరియు క్యాషింగ్ ద్వారా API ఖర్చులను తగ్గిస్తుంది మరియు అనువాద నాణ్యతను మెరుగుపరుస్తుంది.


← డాక్యుమెంటేషన్ ఇండెక్స్‌కు తిరిగి వెళ్లండి