Update handler.py
Browse files- handler.py +29 -0
handler.py
CHANGED
|
@@ -224,6 +224,35 @@ class EndpointHandler:
|
|
| 224 |
)
|
| 225 |
self.model.eval()
|
| 226 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 227 |
# Model worker'dan: multimodal check
|
| 228 |
self.is_multimodal = 'llava' in self.model_name.lower() or 'pulse' in self.model_name.lower()
|
| 229 |
|
|
|
|
| 224 |
)
|
| 225 |
self.model.eval()
|
| 226 |
|
| 227 |
+
def _patch_forward(obj, label="model"):
|
| 228 |
+
try:
|
| 229 |
+
if not hasattr(obj, "forward"):
|
| 230 |
+
return False
|
| 231 |
+
orig_forward = obj.forward
|
| 232 |
+
|
| 233 |
+
def patched_forward(*args, **kwargs):
|
| 234 |
+
# Sessizce düşürülecek yeni anahtarlar
|
| 235 |
+
kwargs.pop("cache_position", None)
|
| 236 |
+
kwargs.pop("input_positions", None)
|
| 237 |
+
return orig_forward(*args, **kwargs)
|
| 238 |
+
|
| 239 |
+
obj.forward = patched_forward
|
| 240 |
+
print(f"[hotfix] Patched forward on {label}")
|
| 241 |
+
return True
|
| 242 |
+
except Exception as e:
|
| 243 |
+
print(f"[warn] forward patch failed on {label}: {e}")
|
| 244 |
+
return False
|
| 245 |
+
|
| 246 |
+
# Ana modelde dene
|
| 247 |
+
_patch_forward(self.model, "self.model")
|
| 248 |
+
|
| 249 |
+
# Bazı sürümlerde forward zinciri iç modüle de gider
|
| 250 |
+
if hasattr(self.model, "model"):
|
| 251 |
+
_patch_forward(self.model.model, "self.model.model")
|
| 252 |
+
if hasattr(self.model, "base_model"):
|
| 253 |
+
_patch_forward(self.model.base_model, "self.model.base_model")
|
| 254 |
+
# =======================================================================
|
| 255 |
+
|
| 256 |
# Model worker'dan: multimodal check
|
| 257 |
self.is_multimodal = 'llava' in self.model_name.lower() or 'pulse' in self.model_name.lower()
|
| 258 |
|