ಅನುವಾದ ಸರತಿ: ಬ್ಯಾಚ್ ಪ್ರಕ್ರಿಯೆ ವ್ಯವಸ್ಥೆ
ಈ ಲೇಖನವು 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
ವೇಳಾಪಟ್ಟಿ: 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 cores
ಅನುಷ್ಠಾನ: ಸಿಸ್ಟಂ ಪ್ರಾಂಪ್ಟ್ನಲ್ಲಿ 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 ಬಳಕೆಯನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಿ:
-
ದಿನಕ್ಕೆ ವಿನಂತಿಗಳು
-
ಪ್ರತಿ ವಿನಂತಿಗೆ ಟೋಕನ್ಗಳು
-
ಪ್ರತಿ ಭಾಷೆಗೆ ವೆಚ್ಚ
ಉಲ್ಲೇಖಗಳು
ಸಂಬಂಧಿತ ಲೇಖನಗಳು
-
Translation System - Three-technology hybrid
-
Content AI Generation - DeepSeek integration
-
Language Detection - User language preference
ಸಾರಾಂಶ
ಅನುವಾದ ಸರತಿಯು ಸಮರ್ಥ ಬ್ಯಾಚ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ:
ಸರತಿ:
-
ಅನುವಾದ ವಿನಂತಿಗಳನ್ನು ಸಂಗ್ರಹಿಸಿ
-
ಬ್ಯಾಚ್ನೊಳಗೆ ನಕಲು ತೆಗೆಯಿರಿ
-
ಆದ್ಯತೆ ನಿರ್ವಹಣೆ
-
ಮೌಲ್ಯೀಕರಣ ಮತ್ತು ಫಿಲ್ಟರಿಂಗ್
ಬ್ಯಾಚ್ ಪ್ರಕ್ರಿಯೆ:
-
ಭಾಷೆಯಿಂದ ಗುಂಪು ಮಾಡಿ
-
DeepSeek API ಗೆ ಕಳುಹಿಸಿ
-
ಸಂಖ್ಯೆಯ ಪ್ರತಿಕ್ರಿಯೆಗಳನ್ನು ವಿಶ್ಲೇಷಿಸಿ
-
ಪದಗುಚ್ಛ ಕೋಷ್ಟಕಗಳಿಗೆ ಉಳಿಸಿ
ಕ್ಯಾಶಿಂಗ್:
-
ಅನುವಾದಿಸುವ ಮೊದಲು ಕ್ಯಾಶ್ ಪರಿಶೀಲಿಸಿ
-
ಹೆಚ್ಚಿನ ಕ್ಯಾಶ್ ಹಿಟ್ ದರ
-
ಕಡಿಮೆಯಾದ API ವೆಚ್ಚಗಳು
ವೇಳಾಪಟ್ಟಿ:
-
cron ಮೂಲಕ ಪ್ರತಿ 6 ಗಂಟೆಗಳಿಗೊಮ್ಮೆ
-
ಲಾಕ್ ಫೈಲ್ ಏಕಕಾಲಿಕ ಚಾಲನೆಗಳನ್ನು ತಡೆಯುತ್ತದೆ
-
ಸಾಪ್ತಾಹಿಕ ಲೇಖನ ಅನುವಾದಗಳು
ಸಂರಕ್ಷಣೆ:
-
ಬ್ರ್ಯಾಂಡ್ ಹೆಸರುಗಳು
-
HTML ಟ್ಯಾಗ್ಗಳು
-
URL ಗಳು ಮತ್ತು SKU ಗಳು
ಈ ವಿಧಾನವು ಬ್ಯಾಚಿಂಗ್ ಮತ್ತು ಕ್ಯಾಶಿಂಗ್ ಮೂಲಕ API ವೆಚ್ಚಗಳನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಅನುವಾದ ಗುಣಮಟ್ಟವನ್ನು ಸುಧಾರಿಸುತ್ತದೆ.