فشل Discourse AI في ترجمة عدد كبير من المشاركات والمواضيع

مرحباً،

لقد قمت بتمكين Discourse AI على منتدى مجتمعنا وبدأت في ملء البيانات التاريخية بلغات متعددة. تم ترجمة حوالي 60٪ من المشاركات والمواضيع، ولكن خلال هذه العملية، أواجه الكثير من الأخطاء في وحدة التحكم (ai_translation_verbose_logs ممكّن) وتوقف ملء البيانات التاريخية الآن إلى حد كبير:

DiscourseAi::Translation: فشل في ترجمة الموضوع 563 إلى de: فشل التحقق من الصحة: ​​لا يمكن أن يكون العنوان فارغًا، ولا يمكن أن يكون العنوان الرائع فارغًا /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.3/

DiscourseAi::Translation: فشل في ترجمة المشاركة 582 إلى pl_PL: فشل التحقق من الصحة: ​​لا يمكن أن يكون النص الخام فارغًا، ولا يمكن أن يكون النص المطبوخ فارغًا /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.3/lib/a

الشيء الغريب في الأمر هو:

  • تبدو المشاركات والمواضيع المذكورة طبيعية جدًا، ولديها أنواع مختلفة من العناوين والنصوص، بسيطة ومعقدة. تم ترجمة مواضيع مماثلة بنجاح.
  • في المحاولة الثانية أو الثالثة، غالبًا ما يتم ترجمتها بنجاح.
  • أستخدم شخصية مخصصة للمشاركات، ولكن هذا يحدث مع شخصية مترجم المشاركات المضمنة وكذلك مع شخصية ترجمة عناوين المواضيع المضمنة.
  • يحدث هذا على جميع النماذج التي اختبرتها: Gemini-2.5-flash (بدون تفكير)، Gemini-2.5-flash (مع تفكير)، GPT5، و GPT5-mini.
  • يحدث هذا على جميع اللغات بنفس القدر (en، es، pt، de، pl_PL، fr، nl).

هل من الممكن تسجيل المطالبات الكاملة واستجابات النموذج لتصحيح هذا الأمر بشكل أكبر؟

أنا أختبر نفس المطالبات يدويًا على جميع هذه النماذج وهي تستجيب دائمًا بنجاح.

لقد وجدت ai_api_audit_logs وأعتقد أنني وجدت المشكلة.

عند إرسال الترجمة، توجد دالة get_max_tokens التي تعين الحد الأقصى للرموز بناءً على طول النص.

المشكلة هي أن معظمها يُستهلك بواسطة الاستدلال. انظر إلى سجل التدقيق هذا، تم تعيين الحد إلى 1000، واستهلك الاستدلال كامل 1000 قبل أن يبدأ حتى في إنشاء المخرجات.

يجب أن يكون الحد الخاص بنماذج الاستدلال أعلى بكثير.

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},"finish_reason":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]

أنا ببساطة لا أوصي باستخدام أي نوع من نماذج التفكير لمهام الترجمة.

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

إعجابَين (2)

تجربتي عكس ذلك تمامًا. لدي مجموعة من التعليمات التي أريد اتباعها وتتطلب فهم السياق، والتي يتم تجاهلها من قبل النماذج غير المفكرة، أو تطبيقها في مواقف خاطئة. لقد قمت للتو بترجمة تطبيق كامل بهذه الطريقة - أكثر من 3000 سلسلة نصية، مع نماذج التفكير التي تعطي نتائج أفضل بكثير.

لقد قللت جهد التفكير إلى منخفض بناءً على نتائجي وحصلت على جميع الترجمات. لكنني أعتقد أن تحديد عدد الرموز المميزة للمخرجات بهذه الطريقة يؤدي إلى نتائج عكسية، حيث لا يُمنع استخدام نماذج التفكير في الترجمات، ولا يعرف المستخدم سبب فشلها.

يمكن أن يكون الحل بسيطًا مثل مضاعفة الرقم 2 مرة أخرى إذا تم تمكين التفكير في LLM. أو عرض مضاعف كخيار تكوين.

إعجابَين (2)

كان علينا تحديد الحد الأقصى للرموز المميزة لأن استخدامنا للمخرجات المهيكلة يعني أن العديد من النماذج الأصغر يمكن أن تنزلق بسهولة إلى حلقات لا نهائية أثناء الترجمات.

أعتقد أن الإصدار الأحدث من واجهة برمجة تطبيقات استجابات OpenAI يطبق الحد الأقصى للرموز المميزة دون حساب رموز التفكير، مما يحل هذه المشكلة.

أنا أجرب أحدث إصدار من GPT-5. لقد رأيت نفس المشكلة بالضبط مع Gemini 2.5 Pro و 2.5 Flash. لماذا لا تزيد الحد قليلاً؟

لقد أنفقت الكثير على محاولات فاشلة، والتي لم أكن لأعرف عنها شيئًا لو لم أقم بتمكين تسجيل التصحيح، ثم اضطررت إلى البحث في مستكشف البيانات للعثور على السجلات. كل هذا أثناء استخدامي لإنشاء نموذج محدد مسبقًا.

لقد قمت بتعطيل البث وجعل الأمر أفضل بكثير (ولا يزال يفكر)

إعجاب واحد (1)

لقد قمنا للتو بدمج تحديث يمنحك حق الوصول إلى إعداد جديد ai_translation_max_tokens_multiplier والذي يكون افتراضياً 1.
يجب أن تكون قادرًا على زيادة هذا الرقم إلى أي رقم تريده للتعامل مع الحد الذي تراه.

تم إغلاق هذا الموضوع تلقائيًا بعد 3 أيام. لم يعد يُسمح بالردود الجديدة.