ట్రాన్స్లేషన్ క్యూ: బ్యాచ్ ప్రాసెసింగ్ సిస్టమ్

ఈ వ్యాసం మనం ఎలా ట్రాన్స్లేషన్లను క్యూ చేసి బ్యాచ్-ప్రాసెస్ చేస్తామో, 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 గంటలకు క్రోన్ ద్వారా నడుస్తుంది

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

ప్రాసెస్ ఫ్లో

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 అక్షరాలు

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

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

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

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

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

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

ప్రయోజనం: ముఖ్యమైన కంటెంట్ ముందుగా ట్రాన్స్లేట్ చేయబడుతుంది

షెడ్యూలింగ్

క్రోన్ జాబ్

ఫ్రీక్వెన్సీ: ప్రతి 6 గంటలకు

కమాండ్: python3 scripts/web/process_translation_queue.py

లాక్ ఫైల్: /tmp/process_translation_queue.lock

ప్రయోజనం: ఆటోమేటిక్ ప్రాసెసింగ్, మాన్యువల్ ఇంటర్వెన్షన్ లేదు

వీక్లీ టాస్క్స్

వ్యాసాలు: కొత్త వ్యాసాలను వీక్లీగా ట్రాన్స్లేట్ చేయండి

బాబెల్ స్ట్రింగ్స్: వీక్లీగా టెంప్లేట్ ట్రాన్స్లేషన్లను అప్డేట్ చేయండి

స్క్రిప్ట్: scripts/web/translate_articles_weekly.sh

మానిటరింగ్

క్యూ సైజ్

పెండింగ్ అభ్యర్థనలను ట్రాక్ చేయండి:

  • మొత్తం అభ్యర్థనలు

  • భాషకు అభ్యర్థనలు

  • పాత అభ్యర్థన వయస్సు

అలర్ట్: క్యూ చాలా పెద్దదిగా పెరిగితే

ట్రాన్స్లేషన్ స్టాట్స్

ప్రాసెసింగ్ను ట్రాక్ చేయండి:

  • బ్యాచ్కు ట్రాన్స్లేషన్లు

  • API విజయ రేటు

  • కాష్ హిట్ రేటు

  • ప్రాసెసింగ్ సమయం

కాస్ట్ ట్రాకింగ్

API వినియోగాన్ని మానిటర్ చేయండి:

  • రోజుకు అభ్యర్థనలు

  • అభ్యర్థనకు టోకెన్లు

  • భాషకు ఖర్చు

రిఫరెన్సెస్

సంబంధిత వ్యాసాలు

సారాంశం

ట్రాన్స్లేషన్ క్యూ సమర్థవంతమైన బ్యాచ్ ప్రాసెసింగ్ను సాధ్యం చేస్తుంది:

క్యూ:

  • ✅ ట్రాన్స్లేషన్ అభ్యర్థనలను సేకరించండి

  • ✅ బ్యాచ్ లోపల డీడ్యూప్లికేట్ చేయండి

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

  • ✅ వాలిడేషన్ మరియు ఫిల్టరింగ్

బ్యాచ్ ప్రాసెసింగ్:

  • ✅ భాష ద్వారా గ్రూప్ చేయండి

  • ✅ DeepSeek APIకి పంపండి

  • ✅ నంబర్ చేయబడిన ప్రతిస్పందనలను పార్స్ చేయండి

  • ✅ ఫ్రేజ్ టేబుల్స్లో సేవ్ చేయండి

క్యాషింగ్:

  • ✅ ట్రాన్స్లేట్ చేయడానికి ముందు కాష్ను తనిఖీ చేయండి

  • ✅ ఎక్కువ కాష్ హిట్ రేటు

  • ✅ తగ్గిన API ఖర్చులు

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

-