വിവർത്തന ക്യൂ: ബാച്ച് പ്രോസസ്സിംഗ് സിസ്റ്റം
ഈ ലേഖനം എങ്ങനെയാണ് ഞങ്ങൾ വിവർത്തന അഭ്യർത്ഥനകൾ ക്യൂ ചെയ്ത് ബാച്ച്-പ്രോസസ്സ് ചെയ്യുന്നത്, 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. ബാച്ച് വിവർത്തനം: ഡീപ്സീക്ക് API-യിലേക്ക് അയയ്ക്കുക
6. ഫലങ്ങൾ പാഴ്സ് ചെയ്യുക: പ്രതികരണത്തിൽ നിന്ന് വിവർത്തനങ്ങൾ എക്സ്ട്രാക്റ്റ് ചെയ്യുക
7. കാഷെയിൽ സംഭരിക്കുക: ഫ്രേസ് ടേബിളുകളിൽ സംഭരിക്കുക
8. ക്യൂ മായ്ക്കുക: പ്രോസസ്സ് ചെയ്ത അഭ്യർത്ഥനകൾ നീക്കം ചെയ്യുക
ബാച്ച് വിവർത്തനം
API കോൾ
മോഡൽ: ഡീപ്സീക്ക്-വി3 (ടുഗെതർ.ഐ വഴി)
സിസ്റ്റം പ്രോംപ്റ്റ്: കാഷെ ചെയ്തത് (ഭാഷയിലെ എല്ലാ ബാച്ചുകൾക്കും സമാനം)
യൂസർ പ്രോംപ്റ്റ്: വേരിയബിൾ (ബാച്ച്-സ്പെസിഫിക്)
ഫോർമാറ്റ്: നമ്പർ ചെയ്ത ലിസ്റ്റ്
ഉദാഹരണം:
ഈ 10 വാചകങ്ങൾ വിവർത്തനം ചെയ്യുക:
1. Mini PC
2. Thin Client
3. Compact Desktop
...
പ്രതികരണം:
1. മിനി പിസി
2. തിൻ ക്ലയന്റ്
3. കോംപാക്റ്റ് ഡെസ്ക്ടോപ്പ്
...
പാർസിംഗ്
വരി നമ്പർ അനുസരിച്ച് വിവർത്തനങ്ങൾ എക്സ്ട്രാക്റ്റ് ചെയ്യുക:
-
നമ്പർ പ്രിഫിക്സ് (
1.,2., മുതലായവ) നീക്കം ചെയ്യുക -
സ്ഥാനം അനുസരിച്ച് യഥാർത്ഥ വാചകങ്ങളുമായി പൊരുത്തപ്പെടുത്തുക
-
എണ്ണം പൊരുത്തപ്പെടുന്നുണ്ടോയെന്ന് സാധൂകരിക്കുക
പിശക് കൈകാര്യം ചെയ്യൽ
API പരാജയം: ഫോൾബാക്ക് API ഉപയോഗിച്ച് വീണ്ടും ശ്രമിക്കുക
പാർസ് പരാജയം: യഥാർത്ഥ വാചകങ്ങൾ തിരികെ നൽകുക
ഭാഗിക വിജയം: വിജയിച്ച വിവർത്തനങ്ങൾ സംഭരിക്കുക, പരാജയപ്പെട്ടവ വീണ്ടും ക്യൂ ചെയ്യുക
കാഷെ തന്ത്രം
ഫ്രേസ് ടേബിളുകൾ
സ്ഥാനം: ഭാഷയ്ക്ക് ഒന്ന് JSON ഫയലുകൾ
ഫോർമാറ്റ്: {"English": "Translation"}
ലോഡിംഗ്: സ്റ്റാർട്ടപ്പിൽ ഒരു തവണ ലോഡ് ചെയ്തത്
നേട്ടം: വേഗത്തിലുള്ള ലുക്കപ്പുകൾ, API കോളുകളില്ല
കാഷെ ഹിറ്റ് റേറ്റ്
ആദ്യ റൺ: കുറവ് (എല്ലാം പുതിയത്)
തുടർന്നുള്ള റണുകൾ: ഉയർന്നത് (മിക്ക വാചകങ്ങളും കാഷെ ചെയ്തത്)
നേട്ടം: API ചെലവ് കുറഞ്ഞു
സംരക്ഷണ നിയമങ്ങൾ
വിവർത്തന സമയത്ത്, ഞങ്ങൾ സംരക്ഷിക്കുന്നു:
ബ്രാൻഡ് പേരുകൾ: ഥിൻവെന്റ്®, ഇന്റൽ®, എഎംഡി®
HTML ടാഗുകൾ: <p>, <br>, <strong>
URL-കൾ: https://www.thinvent.in
SKU-കൾ: ട്രിയോ-എൻ100-8-256
നമ്പറുകൾ: 8ജിബി, 256ജിബി, 4 കോർ
ഇംപ്ലിമെന്റേഷൻ: സിസ്റ്റം പ്രോംപ്റ്റിലെ റെജെക്സ് പാറ്റേണുകൾ
ഭാഷാ കണ്ടെത്തൽ
വിവർത്തനം ചെയ്യുന്നതിന് മുമ്പ്, ഇതിനകം വിവർത്തനം ചെയ്തിട്ടുണ്ടോയെന്ന് പരിശോധിക്കുക:
രീതി: കാരക്ടർ സെറ്റ് അനാലിസിസ്
ഹിന്ദി: ദേവനാഗരി ലിപി
ചൈനീസ്: CJK കാരക്ടറുകൾ
അറബി: അറബി ലിപി
നേട്ടം: ആവശ്യമില്ലാത്ത വിവർത്തനങ്ങൾ ഒഴിവാക്കുക
പ്രയോജ്യത കൈകാര്യം ചെയ്യൽ
ഉയർന്ന പ്രയോജ്യത: ഉൽപ്പന്ന പേരുകൾ, സവിശേഷതകൾ (ആദ്യം പ്രോസസ്സ് ചെയ്യുക)
സാധാരണ പ്രയോജ്യത: വിവരണങ്ങൾ, ലേഖനങ്ങൾ (രണ്ടാമതായി പ്രോസസ്സ് ചെയ്യുക)
കുറഞ്ഞ പ്രയോജ്യത: പഴയ ഉള്ളടക്കം, അപൂർവ്വമായി കാണുന്നവ (അവസാനം പ്രോസസ്സ് ചെയ്യുക)
നേട്ടം: പ്രധാനപ്പെട്ട ഉള്ളടക്കം ആദ്യം വിവർത്തനം ചെയ്യുന്നു
ഷെഡ്യൂളിംഗ്
ക്രോൺ ജോലി
ആവൃത്തി: ഓരോ 6 മണിക്കൂറിലും
കമാൻഡ്: python3 scripts/web/process_translation_queue.py
ലോക്ക് ഫയൽ: /tmp/process_translation_queue.lock
നേട്ടം: സ്വയം പ്രവർത്തിക്കുന്ന പ്രോസസ്സിംഗ്, മാനുവൽ ഇടപെടൽ ആവശ്യമില്ല
ആഴ്ചവട്ട ജോലികൾ
ലേഖനങ്ങൾ: പുതിയ ലേഖനങ്ങൾ ആഴ്ചയിൽ ഒരിക്കൽ വിവർത്തനം ചെയ്യുക
ബേബൽ സ്ട്രിംഗുകൾ: ടെംപ്ലേറ്റ് വിവർത്തനങ്ങൾ ആഴ്ചയിൽ ഒരിക്കൽ അപ്ഡേറ്റ് ചെയ്യുക
സ്ക്രിപ്റ്റ്: scripts/web/translate_articles_weekly.sh
നിരീക്ഷണം
ക്യൂ വലിപ്പം
തീരാത്ത അഭ്യർത്ഥനകൾ ട്രാക്ക് ചെയ്യുക:
-
ആകെ അഭ്യർത്ഥനകൾ
-
ഭാഷയ്ക്ക് ഒന്ന് അഭ്യർത്ഥനകൾ
-
പഴയ അഭ്യർത്ഥനയുടെ പ്രായം
അലേർട്ട്: ക്യൂ വളരെ വലുതാണെങ്കിൽ
വിവർത്തന സ്ഥിതിവിവരക്കണക്കുകൾ
പ്രോസസ്സിംഗ് ട്രാക്ക് ചെയ്യുക:
-
ബാച്ചിന് ഒന്ന് വിവർത്തനങ്ങൾ
-
API വിജയ നിരക്ക്
-
കാഷെ ഹിറ്റ് റേറ്റ്
-
പ്രോസസ്സിംഗ് സമയം
ചെലവ് ട്രാക്കിംഗ്
API ഉപയോഗം നിരീക്ഷിക്കുക:
-
ദിവസത്തിൽ ഒന്ന് അഭ്യർത്ഥനകൾ
-
അഭ്യർത്ഥനയ്ക്ക് ഒന്ന് ടോക്കണുകൾ
-
ഭാഷയ്ക്ക് ഒന്ന് ചെലവ്
പരാമർശങ്ങൾ
ബന്ധപ്പെട്ട ലേഖനങ്ങൾ
-
വിവർത്തന സിസ്റ്റം - മൂന്ന്-ടെക്നോളജി ഹൈബ്രിഡ്