Jelajahi Sumber

修复 PPO 训练无法导入 PPOConfig/PPOTrainer 的问题

TRL 新版将 PPOConfig/PPOTrainer 移到 trl.experimental.ppo,
旧版仍在 trl 顶层。用 try/except 兼容两种导入路径。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
lxylxy123321 1 hari lalu
induk
melakukan
659fceaef8
1 mengubah file dengan 5 tambahan dan 1 penghapusan
  1. 5 1
      backend/app/engines/text_engine.py

+ 5 - 1
backend/app/engines/text_engine.py

@@ -305,7 +305,11 @@ class TextEngine(BaseEngine):
             from copy import deepcopy
 
             import torch
-            from trl import PPOConfig, PPOTrainer
+            # 兼容新版 TRL(PPO 移到了 experimental 子模块)和旧版 TRL
+            try:
+                from trl.experimental.ppo import PPOConfig, PPOTrainer
+            except ImportError:
+                from trl import PPOConfig, PPOTrainer
 
             ppo_epochs = training_args.get("ppo_epochs", 4)
             vf_coef = training_args.get("vf_coef", 0.1)