ಅನುವಾದ ಸರತಿ: ಬ್ಯಾಚ್ ಪ್ರಕ್ರಿಯೆ ವ್ಯವಸ್ಥೆ

ಈ ಲೇಖನವು 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 ಬಳಕೆಯನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಿ:

  • ದಿನಕ್ಕೆ ವಿನಂತಿಗಳು

  • ಪ್ರತಿ ವಿನಂತಿಗೆ ಟೋಕನ್ಗಳು

  • ಪ್ರತಿ ಭಾಷೆಗೆ ವೆಚ್ಚ

ಉಲ್ಲೇಖಗಳು

ಸಂಬಂಧಿತ ಲೇಖನಗಳು

ಸಾರಾಂಶ

ಅನುವಾದ ಸರತಿಯು ಸಮರ್ಥ ಬ್ಯಾಚ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ:

ಸರತಿ:

  • ಅನುವಾದ ವಿನಂತಿಗಳನ್ನು ಸಂಗ್ರಹಿಸಿ

  • ಬ್ಯಾಚ್ನೊಳಗೆ ನಕಲು ತೆಗೆಯಿರಿ

  • ಆದ್ಯತೆ ನಿರ್ವಹಣೆ

  • ಮೌಲ್ಯೀಕರಣ ಮತ್ತು ಫಿಲ್ಟರಿಂಗ್

ಬ್ಯಾಚ್ ಪ್ರಕ್ರಿಯೆ:

  • ಭಾಷೆಯಿಂದ ಗುಂಪು ಮಾಡಿ

  • DeepSeek API ಗೆ ಕಳುಹಿಸಿ

  • ಸಂಖ್ಯೆಯ ಪ್ರತಿಕ್ರಿಯೆಗಳನ್ನು ವಿಶ್ಲೇಷಿಸಿ

  • ಪದಗುಚ್ಛ ಕೋಷ್ಟಕಗಳಿಗೆ ಉಳಿಸಿ

ಕ್ಯಾಶಿಂಗ್:

  • ಅನುವಾದಿಸುವ ಮೊದಲು ಕ್ಯಾಶ್ ಪರಿಶೀಲಿಸಿ

  • ಹೆಚ್ಚಿನ ಕ್ಯಾಶ್ ಹಿಟ್ ದರ

  • ಕಡಿಮೆಯಾದ API ವೆಚ್ಚಗಳು

ವೇಳಾಪಟ್ಟಿ:

  • cron ಮೂಲಕ ಪ್ರತಿ 6 ಗಂಟೆಗಳಿಗೊಮ್ಮೆ

  • ಲಾಕ್ ಫೈಲ್ ಏಕಕಾಲಿಕ ಚಾಲನೆಗಳನ್ನು ತಡೆಯುತ್ತದೆ

  • ಸಾಪ್ತಾಹಿಕ ಲೇಖನ ಅನುವಾದಗಳು

ಸಂರಕ್ಷಣೆ:

  • ಬ್ರ್ಯಾಂಡ್ ಹೆಸರುಗಳು

  • HTML ಟ್ಯಾಗ್ಗಳು

  • URL ಗಳು ಮತ್ತು SKU ಗಳು

ಈ ವಿಧಾನವು ಬ್ಯಾಚಿಂಗ್ ಮತ್ತು ಕ್ಯಾಶಿಂಗ್ ಮೂಲಕ API ವೆಚ್ಚಗಳನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಅನುವಾದ ಗುಣಮಟ್ಟವನ್ನು ಸುಧಾರಿಸುತ್ತದೆ.


← ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ಸೂಚ್ಯಂಕಕ್ಕೆ ಹಿಂತಿರುಗಿ