மொழிபெயர்ப்பு வரிசை: தொகுதி செயலாக்க அமைப்பு
இந்தக் கட்டுரை AI API பயன்பாட்டை மேம்படுத்த மொழிபெயர்ப்புகளை எவ்வாறு வரிசைப்படுத்தி தொகுதியாக செயலாக்குகிறோம் என்பதை விளக்குகிறது.
சிக்கல்: தேவைக்கேற்ப மொழிபெயர்ப்பு விலை உயர்ந்தது
தேவைக்கேற்ப உள்ளடக்கத்தை மொழிபெயர்ப்பதில் சிக்கல்கள் உள்ளன:
-
மெதுவானது: ஒவ்வொரு மொழிபெயர்ப்பும் 1-2 விநாடிகள் எடுக்கும்
-
விலை உயர்ந்தது: ஒரு கோரிக்கைக்கு API செலவுகள்
-
மீண்டும் மீண்டும்: ஒரே உரை பல முறை மொழிபெயர்க்கப்படுகிறது
-
தடுப்பது: பயனர் மொழிபெயர்ப்புக்காக காத்திருக்கிறார்
நமக்கு சிறந்த அணுகுமுறை தேவை.
தீர்வு: வரிசை மற்றும் தொகுதி
வரிசை: மொழிபெயர்ப்பு கோரிக்கைகளை சேகரிக்கவும்
தொகுதி: பல மொழிபெயர்ப்புகளை ஒன்றாக செயலாக்கவும்
தற்காலிக சேமிப்பு: மீண்டும் பயன்படுத்த முடிவுகளை சேமிக்கவும்
அட்டவணை: வரிசையை அவ்வப்போது செயலாக்கவும் (நிகழ்நேரத்தில் அல்ல)
வரிசை அமைப்பு
வரிசை கோப்பு
இருப்பிடம்: வட்டில் JSON கோப்பு
வடிவம்: மொழிபெயர்ப்பு கோரிக்கைகளின் வரிசை
புலங்கள்:
-
text: மொழிபெயர்க்க வேண்டிய ஆங்கில உரை -
target_lang: மொழி குறியீடு (hi, de, fr, போன்றவை) -
context: உரை எங்கு தோன்றுகிறது (product, query, article) -
priority: அதிகம்/சாதாரணம்/குறைவு
வரிசையில் சேர்த்தல்
மொழிபெயர்ப்பு இல்லாதபோது:
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 கோர்கள்
செயலாக்கம்: சிஸ்டம் ப்ராம்ப்ட்டில் Regex வடிவங்கள்
மொழி கண்டறிதல்
மொழிபெயர்ப்பதற்கு முன், ஏற்கனவே மொழிபெயர்க்கப்பட்டதா என சரிபார்க்கவும்:
முறை: எழுத்து தொகுப்பு பகுப்பாய்வு
இந்தி: தேவநாகரி எழுத்துமுறை
சீனம்: CJK எழுத்துகள்
அரபி: அரபி எழுத்துமுறை
நன்மை: தேவையற்ற மொழிபெயர்ப்புகளைத் தவிர்க்கவும்
முன்னுரிமை கையாளுதல்
அதிக முன்னுரிமை: தயாரிப்பு பெயர்கள், அம்சங்கள் (முதலில் செயலாக்கவும்)
சாதாரண முன்னுரிமை: விளக்கங்கள், கட்டுரைகள் (இரண்டாவதாக செயலாக்கவும்)
குறைந்த முன்னுரிமை: பழைய உள்ளடக்கம், அரிதாக பார்க்கப்படுவது (கடைசியாக செயலாக்கவும்)
நன்மை: முக்கியமான உள்ளடக்கம் முதலில் மொழிபெயர்க்கப்படுகிறது
அட்டவணைப்படுத்துதல்
Cron வேலை
அதிர்வெண்: ஒவ்வொரு 6 மணி நேரத்திற்கும்
கட்டளை: python3 scripts/web/process_translation_queue.py
பூட்டு கோப்பு: /tmp/process_translation_queue.lock
நன்மை: தானியங்கி செயலாக்கம், கைமுறை தலையீடு இல்லை
வாராந்திர பணிகள்
கட்டுரைகள்: புதிய கட்டுரைகளை வாரந்தோறும் மொழிபெயர்க்கவும்
Babel சரங்கள்: டெம்ப்ளேட் மொழிபெயர்ப்புகளை வாரந்தோறும் புதுப்பிக்கவும்
ஸ்கிரிப்ட்: scripts/web/translate_articles_weekly.sh
கண்காணிப்பு
வரிசை அளவு
நிலுவையில் உள்ள கோரிக்கைகளை கண்காணிக்கவும்:
-
மொத்த கோரிக்கைகள்
-
ஒரு மொழிக்கு கோரிக்கைகள்
-
பழமையான கோரிக்கையின் வயது
எச்சரிக்கை: வரிசை மிகப் பெரியதாக வளர்ந்தால்
மொழிபெயர்ப்பு புள்ளிவிவரங்கள்
செயலாக்கத்தை கண்காணிக்கவும்:
-
ஒரு தொகுதிக்கு மொழிபெயர்ப்புகள்
-
API வெற்றி விகிதம்
-
தற்காலிக சேமிப்பு இடிப்பு விகிதம்
-
செயலாக்க நேரம்
செலவு கண்காணிப்பு
API பயன்பாட்டை கண்காணிக்கவும்:
-
ஒரு நாளைக்கு கோரிக்கைகள்
-
ஒரு கோரிக்கைக்கு டோக்கன்கள்
-
ஒரு மொழிக்கு செலவு
குறிப்புகள்
தொடர்புடைய கட்டுரைகள்
-
மொழிபெயர்ப்பு அமைப்பு - மூன்று-தொழில்நுட்ப கலப்பினம்
-
உள்ளடக்கம் AI உருவாக்கம் - DeepSeek ஒருங்கிணைப்பு
-
மொழி கண்டறிதல் - பயனர் மொழி விருப்பம்
சுருக்கம்
மொழிபெயர்ப்பு வரிசை திறமையான தொகுதி செயலாக்கத்தை இயக்குகிறது:
வரிசை:
-
மொழிபெயர்ப்பு கோரிக்கைகளை சேகரிக்கவும்
-
தொகுதிக்குள் நகல் நீக்கு
-
முன்னுரிமை கையாளுதல்
-
சரிபார்ப்பு மற்றும் வடிகட்டுதல்
தொகுதி செயலாக்கம்:
-
மொழி வாரியாக தொகுக்கவும்
-
DeepSeek API-க்கு அனுப்பவும்
-
எண்ணிடப்பட்ட பதில்களை பாகுபடுத்தவும்
-
சொற்றொடர் அட்டவணைகளில் சேமிக்கவும்
தற்காலிக சேமிப்பு:
-
மொழிபெயர்ப்பதற்கு முன் தற்காலிக சேமிப்பை சரிபார்க்கவும்
-
அதிக தற்காலிக சேமிப்பு இடிப்பு விகிதம்
-
குறைக்கப்பட்ட API செலவுகள்
அட்டவணைப்படுத்துதல்:
-
cron வழியாக ஒவ்வொரு 6 மணி நேரத்திற்கும்
-
பூட்டு கோப்பு ஒரே நேரத்தில் இயங்குவதைத் தடுக்கிறது
-
வாராந்திர கட்டுரை மொழிபெயர்ப்புகள்
பாதுகாப்பு:
-
பிராண்ட் பெயர்கள்
-
HTML குறிச்சொற்கள்
-
URL-கள் மற்றும் SKU-கள்
இந்த அணுகுமுறை தொகுத்தல் மற்றும் தற்காலிக சேமிப்பு மூலம் API செலவுகளை குறைத்து மொழிபெயர்ப்பு தரத்தை மேம்படுத்துகிறது.