Coda di Traduzione: Sistema di Elaborazione in Batch
Questo articolo spiega come accodiamo ed elaboriamo le traduzioni in batch per ottimizzare l'uso delle API AI.
Il Problema: La Traduzione On-Demand è Costosa
Tradurre contenuti on-demand presenta problemi:
-
Lento: Ogni traduzione richiede 1-2 secondi
-
Costoso: Costi API per richiesta
-
Ridondante: Lo stesso testo tradotto più volte
-
Bloccante: L'utente aspetta la traduzione
Abbiamo bisogno di un approccio migliore.
La Soluzione: Coda e Batch
Coda: Raccogli le richieste di traduzione
Batch: Elabora più traduzioni insieme
Cache: Memorizza i risultati per il riutilizzo
Pianificazione: Elabora la coda periodicamente (non in tempo reale)
Struttura della Coda
File della Coda
Posizione: File JSON su disco
Formato: Array di richieste di traduzione
Campi:
-
text: Testo in inglese da tradurre -
target_lang: Codice lingua (hi, de, fr, ecc.) -
context: Dove appare il testo (prodotto, query, articolo) -
priority: Alta/normale/bassa
Aggiunta alla Coda
Quando manca una traduzione:
queue_translation(text, target_lang, context="product")
Deduplicazione: Controlla se già in coda
Validazione: Rifiuta valori non validi
Elaborazione in Batch
Script
Posizione: scripts/web/process_translation_queue.py
Pianificazione: Esegue ogni 6 ore via cron
File di lock: Previene esecuzioni concorrenti
Flusso di Processo
1. Carica la coda: Leggi tutte le richieste in sospeso
2. Raggruppa per lingua: Raggruppa le richieste della stessa lingua
3. Deduplica: Rimuovi i duplicati all'interno del batch
4. Controlla la cache: Salta i testi già tradotti
5. Traduci il batch: Invia all'API DeepSeek
6. Analizza i risultati: Estrai le traduzioni dalla risposta
7. Salva nella cache: Memorizza nelle tabelle delle frasi
8. Svuota la coda: Rimuovi le richieste elaborate
Traduzione in Batch
Chiamata API
Modello: DeepSeek-V3 (via Together.ai)
Prompt di sistema: Memorizzato in cache (stesso per tutti i batch in una lingua)
Prompt utente: Variabile (specifico per batch)
Formato: Lista numerata
Esempio:
Traduci questi 10 testi:
1. Mini PC
2. Thin Client
3. Compact Desktop
...
Risposta:
1. मिनी पीसी
2. थिन क्लाइंट
3. कॉम्पैक्ट डेस्कटॉप
...
Analisi
Estrai le traduzioni per numero di riga:
-
Rimuovi il prefisso numerico (
1.,2., ecc.) -
Abbina ai testi originali per posizione
-
Valida che il conteggio corrisponda
Gestione degli Errori
Fallimento API: Riprova con API di riserva
Fallimento analisi: Restituisci i testi originali
Successo parziale: Salva le traduzioni riuscite, rimetti in coda i fallimenti
Strategia di Memorizzazione in Cache
Tabelle delle Frasi
Posizione: File JSON per lingua
Formato: {"Inglese": "Traduzione"}
Caricamento: Caricati una volta all'avvio
Vantaggio: Ricerche veloci, nessuna chiamata API
Tasso di Successo della Cache
Prima esecuzione: Basso (tutto è nuovo)
Esecuzioni successive: Alto (la maggior parte dei testi è in cache)
Vantaggio: Costi API ridotti
Regole di Preservazione
Durante la traduzione, preserviamo:
Nomi di marchio: Thinvent®, Intel®, AMD®
Tag HTML: <p>, <br>, <strong>
URL: https://www.thinvent.in
SKU: Treo-N100-8-256
Numeri: 8GB, 256GB, 4 core
Implementazione: Pattern regex nel prompt di sistema
Rilevamento della Lingua
Prima di tradurre, controlla se già tradotto:
Metodo: Analisi del set di caratteri
Hindi: Scrittura Devanagari
Cinese: Caratteri CJK
Arabo: Scrittura araba
Vantaggio: Salta traduzioni non necessarie
Gestione della Priorità
Priorità alta: Nomi prodotti, caratteristiche (elabora per primo)
Priorità normale: Descrizioni, articoli (elabora per secondo)
Priorità bassa: Contenuti vecchi, raramente visualizzati (elabora per ultimo)
Vantaggio: Contenuti importanti tradotti per primi
Pianificazione
Cron Job
Frequenza: Ogni 6 ore
Comando: python3 scripts/web/process_translation_queue.py
File di lock: /tmp/process_translation_queue.lock
Vantaggio: Elaborazione automatica, nessun intervento manuale
Attività Settimanali
Articoli: Traduci nuovi articoli settimanalmente
Stringhe Babel: Aggiorna le traduzioni dei template settimanalmente
Script: scripts/web/translate_articles_weekly.sh
Monitoraggio
Dimensione della Coda
Traccia le richieste in sospeso:
-
Totale richieste
-
Richieste per lingua
-
Età della richiesta più vecchia
Allerta: Se la coda diventa troppo grande
Statistiche di Traduzione
Traccia l'elaborazione:
-
Traduzioni per batch
-
Tasso di successo API
-
Tasso di successo cache
-
Tempo di elaborazione
Tracciamento dei Costi
Monitora l'uso delle API:
-
Richieste al giorno
-
Token per richiesta
-
Costo per lingua
Riferimenti
Articoli Correlati
-
Sistema di Traduzione - Ibrido a tre tecnologie
-
Generazione Contenuti AI - Integrazione DeepSeek
-
Rilevamento Lingua - Preferenza lingua utente
Riepilogo
La coda di traduzione abilita un'elaborazione efficiente in batch:
Coda:
-
✅ Raccoglie le richieste di traduzione
-
✅ Deduplica all'interno del batch
-
✅ Gestione della priorità
-
✅ Validazione e filtraggio
Elaborazione in batch:
-
✅ Raggruppa per lingua
-
✅ Invia all'API DeepSeek
-
✅ Analizza le risposte numerate
-
✅ Salva nelle tabelle delle frasi
Memorizzazione in cache:
-
✅ Controlla la cache prima di tradurre
-
✅ Alto tasso di successo della cache
-
✅ Costi API ridotti
Pianificazione:
-
✅ Ogni 6 ore via cron
-
✅ Il file di lock previene esecuzioni concorrenti
-
✅ Traduzioni settimanali articoli
Preservazione:
-
✅ Nomi di marchio
-
✅ Tag HTML
-
✅ URL e SKU
Questo approccio riduce i costi delle API e migliora la qualità della traduzione attraverso l'elaborazione in batch e la memorizzazione in cache.