Übersetzungswarteschlange: Batch-Verarbeitungssystem
Dieser Artikel erklärt, wie wir Übersetzungen in eine Warteschlange einreihen und im Batch verarbeiten, um die Nutzung der KI-API zu optimieren.
Das Problem: Übersetzung auf Abruf ist teuer
Die Übersetzung von Inhalten auf Abruf hat Probleme:
-
Langsam: Jede Übersetzung dauert 1-2 Sekunden
-
Teuer: API-Kosten pro Anfrage
-
Redundant: Derselbe Text wird mehrfach übersetzt
-
Blockierend: Der Benutzer wartet auf die Übersetzung
Wir brauchen einen besseren Ansatz.
Die Lösung: Warteschlange und Batch
Warteschlange: Übersetzungsanfragen sammeln
Batch: Mehrere Übersetzungen zusammen verarbeiten
Cache: Ergebnisse zur Wiederverwendung speichern
Zeitplan: Warteschlange regelmäßig verarbeiten (nicht in Echtzeit)
Warteschlangenstruktur
Warteschlangendatei
Speicherort: JSON-Datei auf der Festplatte
Format: Array von Übersetzungsanfragen
Felder:
-
text: Englischer Text, der übersetzt werden soll -
target_lang: Sprachcode (hi, de, fr, usw.) -
context: Wo der Text erscheint (Produkt, Anfrage, Artikel) -
priority: Hoch/normal/niedrig
Zur Warteschlange hinzufügen
Wenn eine Übersetzung fehlt:
queue_translation(text, target_lang, context="product")
Deduplizierung: Prüfen, ob bereits in der Warteschlange
Validierung: Ungültige Werte ablehnen
Batch-Verarbeitung
Skript
Speicherort: scripts/web/process_translation_queue.py
Zeitplan: Läuft alle 6 Stunden via Cron
Sperrdatei: Verhindert gleichzeitige Ausführungen
Prozessablauf
1. Warteschlange laden: Alle ausstehenden Anfragen lesen
2. Nach Sprache gruppieren: Anfragen in derselben Sprache bündeln
3. Deduplizieren: Duplikate innerhalb des Batches entfernen
4. Cache prüfen: Bereits übersetzte Texte überspringen
5. Batch übersetzen: An DeepSeek API senden
6. Ergebnisse parsen: Übersetzungen aus der Antwort extrahieren
7. In Cache speichern: In Phrasentabellen speichern
8. Warteschlange leeren: Verarbeitete Anfragen entfernen
Batch-Übersetzung
API-Aufruf
Modell: DeepSeek-V3 (über Together.ai)
System-Prompt: Gecacht (gleich für alle Batches in einer Sprache)
Benutzer-Prompt: Variabel (batch-spezifisch)
Format: Nummerierte Liste
Beispiel:
Translate these 10 texts:
1. Mini PC
2. Thin Client
3. Compact Desktop
...
Antwort:
1. मिनी पीसी
2. थिन क्लाइंट
3. कॉम्पैक्ट डेस्कटॉप
...
Parsing
Übersetzungen nach Zeilennummer extrahieren:
-
Zahlenpräfix entfernen (
1.,2., usw.) -
Anhand der Position den Originaltexten zuordnen
-
Validieren, dass die Anzahl übereinstimmt
Fehlerbehandlung
API-Fehler: Wiederholen mit Fallback-API
Parsing-Fehler: Originaltexte zurückgeben
Teilerfolg: Erfolgreiche Übersetzungen speichern, Fehlgeschlagene erneut in die Warteschlange
Caching-Strategie
Phrasentabellen
Speicherort: JSON-Dateien pro Sprache
Format: {"English": "Translation"}
Laden: Einmal beim Start geladen
Vorteil: Schnelle Suchvorgänge, keine API-Aufrufe
Cache-Trefferquote
Erster Durchlauf: Niedrig (alles neu)
Nachfolgende Durchläufe: Hoch (die meisten Texte gecacht)
Vorteil: Reduzierte API-Kosten
Erhaltungsregeln
Während der Übersetzung bewahren wir:
Markennamen: Thinvent®, Intel®, AMD®
HTML-Tags: <p>, <br>, <strong>
URLs: https://www.thinvent.in
SKUs: Treo-N100-8-256
Zahlen: 8GB, 256GB, 4 Kerne
Implementierung: Regex-Muster im System-Prompt
Spracherkennung
Vor der Übersetzung prüfen, ob bereits übersetzt:
Methode: Zeichensatzanalyse
Hindi: Devanagari-Schrift
Chinesisch: CJK-Zeichen
Arabisch: Arabische Schrift
Vorteil: Unnötige Übersetzungen überspringen
Prioritätsbehandlung
Hohe Priorität: Produktnamen, Funktionen (zuerst verarbeiten)
Normale Priorität: Beschreibungen, Artikel (zweitens verarbeiten)
Niedrige Priorität: Alte Inhalte, selten angesehen (zuletzt verarbeiten)
Vorteil: Wichtige Inhalte zuerst übersetzt
Planung
Cron-Job
Häufigkeit: Alle 6 Stunden
Befehl: python3 scripts/web/process_translation_queue.py
Sperrdatei: /tmp/process_translation_queue.lock
Vorteil: Automatische Verarbeitung, kein manueller Eingriff
Wöchentliche Aufgaben
Artikel: Neue Artikel wöchentlich übersetzen
Babel-Strings: Template-Übersetzungen wöchentlich aktualisieren
Skript: scripts/web/translate_articles_weekly.sh
Überwachung
Warteschlangengröße
Ausstehende Anfragen verfolgen:
-
Gesamtzahl der Anfragen
-
Anfragen pro Sprache
-
Alter der ältesten Anfrage
Warnung: Wenn die Warteschlange zu groß wird
Übersetzungsstatistiken
Verarbeitung verfolgen:
-
Übersetzungen pro Batch
-
API-Erfolgsrate
-
Cache-Trefferquote
-
Verarbeitungszeit
Kostenverfolgung
API-Nutzung überwachen:
-
Anfragen pro Tag
-
Tokens pro Anfrage
-
Kosten pro Sprache
Referenzen
Verwandte Artikel
-
Übersetzungssystem - Hybride Drei-Technologie-Lösung
-
KI-Inhaltsgenerierung - DeepSeek-Integration
-
Spracherkennung - Benutzersprachpräferenz
Zusammenfassung
Die Übersetzungswarteschlange ermöglicht effiziente Batch-Verarbeitung:
Warteschlange:
-
Übersetzungsanfragen sammeln
-
Innerhalb des Batches deduplizieren
-
Prioritätsbehandlung
-
Validierung und Filterung
Batch-Verarbeitung:
-
Nach Sprache gruppieren
-
An DeepSeek API senden
-
Nummerierte Antworten parsen
-
In Phrasentabellen speichern
Caching:
-
Cache vor der Übersetzung prüfen
-
Hohe Cache-Trefferquote
-
Reduzierte API-Kosten
Planung:
-
Alle 6 Stunden via Cron
-
Sperrdatei verhindert gleichzeitige Ausführungen
-
Wöchentliche Artikelübersetzungen
Erhaltung:
-
Markennamen
-
HTML-Tags
-
URLs und SKUs
Dieser Ansatz reduziert API-Kosten und verbessert die Übersetzungsqualität durch Batching und Caching.