DeepL - Probleme bei LLM Next Gen modell 'model_type=latency_optimized'

Hallo Zusammen,

der Step DeepL Translate funktionierte immer sehr gut.

Jetzt hat aber wohl DeepL eine neue API-Generation (LLM Next Gen modell) online genommen.

Diese vervollständigt den Text als Satz und erweitert ihn somit mit „und“ oder setzt Kommas zwischen Aufzählungen.

Dies aber nicht erwünscht und man muss es jetzt wohl ausstellen.
Eine Anpasdung der Konfigurationen wie folgt, hat nicht geholfen:

  • V2 source_lang: autodetect Deutsch (German). Das ist die wichtigste Änderung.
    Weil DeepL bei autodetect (also ohne gesetzte Quellsprache) immer das Next-Gen-LLM verwendet – für die Spracherkennung. Nur wenn die Quellsprache fest gesetzt ist, darf DeepL das klassische Modell nehmen, das wörtlich übersetzt statt umzuschreiben.

  • V5 preserve_formatting: no yes. Damit respektiert DeepL die Formatierung statt sie zu korrigieren.

  • V4 split_sentences: yes no. Bei Produkttiteln sinnvoll – so behandelt DeepL den Titel als eine Einheit und zerlegt ihn nicht in „Sätze“ (das ist mit ein Grund für die eingefügten Kommas und das „and“).

Nun wird noch empfohlen der API-URL ein Parameter hinzufügen. Ob das klappt weiß ich nicht, aber zumindest ist es im Step nicht konfigrierbar.

mit diesen Parameter ‚‚model_type=latency_optimized‘‘ das klassische Modell aufrufen kann und nicht das LLM Next Gen modell.

Synesty-Support - könntet ihr das testen und den Step anpassen?

Oder habt Ihr eine andere Option, dies zubewerkstelligen?

Viele Grüße
noIT-Henry

Hallo Henry,

du kannst den model_type jetzt im Step DeepLTranslate einstellen.
In unserem Test hat das Model latency_optimized keine Kommas in den Aufzählungen hinzugefügt, wie es in den beiden quality_optimized Modi passiert.

Viele Grüße
Felix

Moin Felix,

vielen Dank für Eure Bemühungen und das Feedback. *top

Allerdings habe ich nach der Umstellung des „model_type“ auf „latency_optimized“ keine Änderungen der Übersetzungen feststellen können.

Könntet Ihr mal bitte diesen Text hier testen:
„Original BMW 3er 4er Felgen 19 Zoll F30 F31 F32 F33 F36 Gran Coupe Sommerräder Styling 704 M 8097244 8097245 schwarz glanzgedreht“

Es wäre auch nett wenn Du mir die andere Konfiguration mal zukommen lassen könntest. Nicht das ein bestimmter Fall wieder alles kippt.

Und welche Werte haben die 3 Auswahlfelder? So …
quality_optimized = vs3__option-0
prefer_quality_optimized = vs3__option-1
latency_optimized = vs3__option-2

Falls ich sie mit einem FlowExecutingStep übergeben möchte

Viele Grüße und Danke
noIT-Henry

PS: Oder hat der Step DeepL-Translate oder die DeepL-API-Schnittstelle ein Cache? * nur eine Idee

Hallo Henry,

also entweder wurde etwas bei DeepL geändert oder wir haben uns verschaut.
Bei unserem Test und deinem Beispiel werden nun auch Kommas hinzugefügt.

Es gibt allerdings eine Lösung: Wir haben dem Step ein neues Feld style_id hinzugefügt.
Damit können in DeepL erstellte Regeln referenziert werden. Erstell dir in DeepL unter „Stilregeln“ eine neue API Liste, Zielsprache: Englisch & Liste erstellen Über eine vordefinierte Liste.

Danach kannst du eine eigene Regel erstellen: „Keep the original punctuation and never add commas or other punctuation that is not present in the source text.“

Die style_id welche im Step eingefügt (oder via FlowExecutingStep übergeben) werden muss, findest du in der URL nach /custom-rules/ z. B. 7ff9bfd6-cd85-4190-8503-d6215a321519.
Für jede Sprache müsstest du eine weitere Liste erstellen.

Hier eine Stepvorschau mit deinem Beispiel, deinen Einstellungen aus dem Screenshot und der eingefügten Regel:

Und welche Werte haben die 3 Auswahlfelder? So …

Die die auch in den Labels stehen, also
quality_optimized = quality_optimized
prefer_quality_optimized = prefer_quality_optimized
latency_optimized = latency_optimized

Viele Grüße
Felix

Moin Felix,

oh man da macht die KI von DeepL ja mehr Aufwand und Arbeit als sie uns abnehmen kann.

Ich hab das mit den Stilregeln umgesetzt und die Kommas werden NICHT mehr gesetzt.
Allerdings wollte ich auch die Bindewörter „und“ „oder“ nicht gesetzt haben. Dies klappt so Semi.

Auch habe ich beim XML das Problem, dass bei einem Element es klappt und klappt es nicht.

Irgendwie ist es nicht zufriedenstellend, aber mal sehen was sich da noch tut.

Am schönsten wäre es gewesen, wenn ich einfach die KI deaktivieren kann udn DeepL so wie vorher übersetzt.

DANKE aber für deine Unterstützung.

Viele Grüße
noIT-Henry

Moin @synesty-Felix

da ihr hier ja schon Anpassungen gemacht habt, mal die Frage.
Übergebt Ihr auch die „tag_handling_version“ ?

Da wird unterscheiden in v1 und v2


Muss man zwingend die tag_handling_version mit angeben?

Nein, zwingend erforderlich ist sie nicht, aber extrem ratsam.

Wenn Sie tag_handling_version weglassen, nutzt DeepL automatisch die alte Version v1.

Warum Sie v2 trotzdem immer angeben sollten:

  • Bessere Übersetzung: Version v2 verarbeitet XML-Strukturen deutlich intelligenter und stabiler.
  • Weniger Fehler: Version v1 neigt bei komplexen XML-Verschachtelungen dazu, Tags falsch zu schließen oder Textteile zu verschlucken, wodurch Ihre Stilregeln erst recht ignoriert werden könnten.

Fügen Sie daher am besten immer "tag_handling_version": "v2" zu Ihren XML-Requests hinzu.


Und zum 2. nachgefragt
„custom_instructions“ hat keine Auswirkung, da wir ja mit style_id arbeiten. Oder kann man auch beides übergeben?
Parameter-Typ: style_id vs. custom_instructions

Prüfen Sie, wie Sie die Regel an die API übergeben. Es gibt zwei Wege:

  • Über die API-Struktur (style_id): Wenn Sie die Stilregel im Web-Interface angelegt haben, müssen Sie die dazugehörige style_id im API-Request mitsenden.
  • Direkt im Request (custom_instructions): Sie können den englischen Prompt auch direkt als Text-Array im API-Parameter custom_instructions übergeben. [1, 2]

Vielen Dank für eure Unterstützung
noIT-Henry

Hi Henry,

bis jetzt wurde die tag_handling_version nicht übergeben, die Auswahl wurde nun hinzugefügt.
Die custom_instructions kannst du nun auch mit angeben. Es ist auch möglich eine style_id zu hinterlegen und dazu custom_instructions zu verwenden.

Viele Grüße
Felix

Moin @synesty-Felix

besten Dank für die Anpassungen und es klappt auch erstmal bis zu diesem Fall.

Wenn ein „&“ - Zeichen im XML ist erhalte ich danach folgenden Fehler:
HTTP status: 400 (Bad Request), Response Content: {„tag_handling_version“:„v2“,„message“:„Tag handling parsing failed, please check input.\n\n’not well-formed (invalid token): line 1, column 124’ (at Line: 1, Column: 117)“}

Ist das ein DeepL- Problem oder eines vom Step?

Wenn ich vorher aus & = & ersetze kommt kein Fehler, aber das UND-Zeichen wird entfernt! Dies könnte ja wieder ein Prompt verursachen.

Viele Grüße
noIT-Henry

Hi Henry,

das „&“ - Zeichen muss in deiner XML escaped werden, ansonsten versucht der Parser von DeepL es als Entität einzulesen, wodurch es zu dem Fehler kommt.

Dafür hast du folgende Möglichkeiten:

  1. Du übermittelst anstatt „&“ das Zeichen „&“ in deinem Text.
  2. Du baust in den Feldern, welche „&“ - Zeichen im Text enthalten können, CDATA Blöcke ein.

Beispiele:

  1. <BESCHREIBUNG>Dein Text &amp; noch ein Text</BESCHREIBUNG>
  2. <BESCHREIBUNG><![CDATA[Dein Text & noch ein Text]]></BESCHREIBUNG>

So erkennt der DeepL XML Parser, dass das „&“ - Zeichen nicht als Entität eingelesen werden soll. Es gibt noch weitere Zeichen, die escaped werden müssten, wenn sie im Text vorkommen. Diese werden auch von CDATA gehandled:

  • < zu &lt;
  • > zu &gt;
  • " zu &quot;

Viele Grüße
Felix