மொழிபெயர்ப்பு வரிசை: தொகுதி செயலாக்க அமைப்பு

இந்தக் கட்டுரை 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 பயன்பாட்டை கண்காணிக்கவும்:

  • ஒரு நாளைக்கு கோரிக்கைகள்

  • ஒரு கோரிக்கைக்கு டோக்கன்கள்

  • ஒரு மொழிக்கு செலவு

குறிப்புகள்

தொடர்புடைய கட்டுரைகள்

சுருக்கம்

மொழிபெயர்ப்பு வரிசை திறமையான தொகுதி செயலாக்கத்தை இயக்குகிறது:

வரிசை:

  • மொழிபெயர்ப்பு கோரிக்கைகளை சேகரிக்கவும்

  • தொகுதிக்குள் நகல் நீக்கு

  • முன்னுரிமை கையாளுதல்

  • சரிபார்ப்பு மற்றும் வடிகட்டுதல்

தொகுதி செயலாக்கம்:

  • மொழி வாரியாக தொகுக்கவும்

  • DeepSeek API-க்கு அனுப்பவும்

  • எண்ணிடப்பட்ட பதில்களை பாகுபடுத்தவும்

  • சொற்றொடர் அட்டவணைகளில் சேமிக்கவும்

தற்காலிக சேமிப்பு:

  • மொழிபெயர்ப்பதற்கு முன் தற்காலிக சேமிப்பை சரிபார்க்கவும்

  • அதிக தற்காலிக சேமிப்பு இடிப்பு விகிதம்

  • குறைக்கப்பட்ட API செலவுகள்

அட்டவணைப்படுத்துதல்:

  • cron வழியாக ஒவ்வொரு 6 மணி நேரத்திற்கும்

  • பூட்டு கோப்பு ஒரே நேரத்தில் இயங்குவதைத் தடுக்கிறது

  • வாராந்திர கட்டுரை மொழிபெயர்ப்புகள்

பாதுகாப்பு:

  • பிராண்ட் பெயர்கள்

  • HTML குறிச்சொற்கள்

  • URL-கள் மற்றும் SKU-கள்

இந்த அணுகுமுறை தொகுத்தல் மற்றும் தற்காலிக சேமிப்பு மூலம் API செலவுகளை குறைத்து மொழிபெயர்ப்பு தரத்தை மேம்படுத்துகிறது.


← ஆவணக் குறியீட்டுக்குத் திரும்பு