വിവർത്തന ക്യൂ: ബാച്ച് പ്രോസസ്സിംഗ് സിസ്റ്റം

ഈ ലേഖനം എങ്ങനെയാണ് ഞങ്ങൾ വിവർത്തന അഭ്യർത്ഥനകൾ ക്യൂ ചെയ്ത് ബാച്ച്-പ്രോസസ്സ് ചെയ്യുന്നത്, 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 ഉപയോഗം നിരീക്ഷിക്കുക:

  • ദിവസത്തിൽ ഒന്ന് അഭ്യർത്ഥനകൾ

  • അഭ്യർത്ഥനയ്ക്ക് ഒന്ന് ടോക്കണുകൾ

  • ഭാഷയ്ക്ക് ഒന്ന് ചെലവ്

പരാമർശങ്ങൾ

ബന്ധപ്പെട്ട ലേഖനങ്ങൾ