Discourse AI übersetzt eine große Anzahl von Beiträgen und Themen nicht

Hallo,

Ich habe Discourse AI in unserem Community-Forum aktiviert und mit der Rückfüllung in mehrere Sprachen begonnen. Ungefähr 60 % der Beiträge und Themen sind übersetzt, aber dabei erhalte ich viele Fehler in der Konsole (ai_translation_verbose_logs ist aktiviert) und die Rückfüllung ist nun größtenteils ins Stocken geraten:

DiscourseAi::Translation: Failed to translate topic 563 to de: Validation failed: Title can't be blank, Fancy title can't be blank /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.3/

DiscourseAi::Translation: Failed to translate post 582 to pl_PL: Validation failed: Raw can't be blank, Cooked can't be blank /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.3/lib/a

Das Seltsame daran ist:

  • Die erwähnten Beiträge und Themen sehen ziemlich normal aus, sie haben unterschiedliche Titel und Körper, sowohl einfache als auch komplexe. Ähnliche wurden erfolgreich übersetzt.
  • Bei einem zweiten oder dritten Versuch werden sie oft erfolgreich übersetzt.
  • Ich verwende eine benutzerdefinierte Persona für Beiträge, aber dies geschieht sowohl mit einer integrierten Persona für Beitragsübersetzungen als auch mit der integrierten Persona für Themenüberschriften.
  • Es tritt bei allen getesteten Modellen auf: Gemini-2.5-flash (nicht denkend), Gemini-2.5-flash (denkend), GPT5 und GPT5-mini.
  • Es tritt bei allen Lokalisierungen gleichermaßen auf (en, es, pt, de, pl_PL, fr, nl).

Ist es möglich, die vollständigen Prompts und Modellantworten zu protokollieren, um dies weiter zu debuggen?

Ich teste dieselben Prompts manuell bei all diesen Modellen und sie antworten immer erfolgreich.

Ich habe ai_api_audit_logs gefunden und glaube, ich habe das Problem gefunden.

Wenn eine Übersetzung gesendet wird, gibt es eine Funktion get_max_tokens, die die maximale Anzahl von Tokens basierend auf der Textlänge zuweist.

Das Problem ist, dass sie hauptsächlich für die Argumentation verwendet wird. Sehen Sie sich dieses Audit-Protokoll an: Das Limit wurde auf 1000 gesetzt, und die Argumentation hat die gesamten 1000 verbraucht, bevor sie überhaupt mit der Generierung von Ausgaben begonnen hat.

Das Limit für Argumentationsmodelle sollte viel höher sein.

data: {"id":"chatcmpl-CQ7XU4Ep16RClb7OZQAxOXN9JWgIG","object":"chat.completion.chunk","created":1760341544,"model":"gpt-5-2025-08-07","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null}}],"usage":null,"obfuscation":"dPNNK7ojEf"}

data: {"id":"chatcmpl-CQ7XU4Ep16RClb7OZQAxOXN9JWgIG","object":"chat.completion.chunk","created":1760341544,"model":"gpt-5-2025-08-07","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{},"finish_reason":"length"}],"usage":null,"obfuscation":"dM2r"}

data: {"id":"chatcmpl-CQ7XU4Ep16RClb7OZQAxOXN9JWgIG","object":"chat.completion.chunk","created":1760341544,"model":"gpt-5-2025-08-07","service_tier":"default","system_fingerprint":null,"choices":[],"usage":{"prompt_tokens":1075,"completion_tokens":1000,"total_tokens":2075,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":1000,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"j4"}

data: [DONE]

Ich empfehle einfach nicht, irgendeine Art von Denkmodellen für Übersetzungsaufgaben zu verwenden.

https://www.reddit.com/r/LocalLLaMA/comments/1g7y74t/adding_a_thinking_turn_to_extend_llms_reasoning/

2 „Gefällt mir“

Meine Erfahrung ist genau das Gegenteil. Ich habe eine Reihe von Anweisungen, die befolgt werden sollen und ein Verständnis des Kontexts erfordern, die entweder von nicht-denkenden Modellen ignoriert oder in falschen Situationen angewendet werden. Ich habe gerade eine ganze Anwendung auf diese Weise übersetzt – über 3000 Zeichenketten, wobei Denkmodelle viel bessere Ergebnisse lieferten.

Ich habe den Denkaufwand aufgrund meiner Erkenntnisse auf low reduziert und alle Übersetzungen erhalten. Aber ich glaube, die Ausgabe-Tokens so zu begrenzen, ist kontraproduktiv, da Denkmodelle nicht von der Verwendung bei Übersetzungen ausgeschlossen sind und der Benutzer keine Ahnung hat, warum es fehlschlägt.

Die Lösung könnte so einfach sein, wie die Multiplikation mit 2, wenn das LLM das Denken aktiviert hat. Oder die Bereitstellung eines Multiplikators als Konfigurationsoption.

2 „Gefällt mir“

Wir mussten max_tokens begrenzen, da unsere Nutzung strukturierter Ausgaben dazu führte, dass viele kleinere Modelle bei Übersetzungen leicht in Endlosschleifen geraten konnten.

Ich glaube, die neuere Version der OpenAI Responses API wendet max_tokens an, ohne die Denk-Token zu zählen, was dieses Problem löst.

Ich probiere gerade das neueste GPT-5 aus. Ich habe genau das gleiche Problem mit Gemini 2.5 Pro und 2.5 Flash gesehen. Warum nicht einfach das Limit ein wenig erhöhen?

Ich habe ziemlich viel für fehlgeschlagene Versuche ausgegeben, von denen ich nichts gewusst hätte, wenn ich das Debug-Logging nicht aktiviert hätte, und musste dann im Data Explorer herumstöbern, um die Protokolle zu finden. Und das alles, während ich einen vordefinierten Modell-Ersteller verwendet habe.

Ich habe das Streaming deaktiviert und es hat es viel besser gemacht (und tut es immer noch, wenn ich darüber nachdenke)

1 „Gefällt mir“

Wir haben gerade ein Update zusammengeführt, das Ihnen Zugriff auf eine neue Einstellung ai_translation_max_tokens_multiplier gibt, die standardmäßig auf 1 gesetzt ist.

Sie sollten dies auf jede beliebige Zahl erhöhen können, um das von Ihnen festgestellte Limit zu bewältigen.

Dieses Thema wurde nach 3 Tagen automatisch geschlossen. Neue Antworten sind nicht mehr möglich.