diff --git a/docs/advanced_features/rfork.md b/docs/advanced_features/rfork.md index 5e01aa111216..e4b513328ecf 100644 --- a/docs/advanced_features/rfork.md +++ b/docs/advanced_features/rfork.md @@ -9,11 +9,12 @@ To learn more details about R-Fork, please check ** dict: + cache = getattr(self, "_mx_config_cache", None) + if cache is not None: + return cache + if self.modelexpress_config is None: + result = {} + elif isinstance(self.modelexpress_config, str): + result = json.loads(self.modelexpress_config) + else: + result = self.modelexpress_config + object.__setattr__(self, "_mx_config_cache", result) + return result + + @property + def modelexpress_url(self) -> Optional[str]: + return self._parsed_modelexpress_config.get("url") + + @property + def modelexpress_model_name(self) -> Optional[str]: + return self._parsed_modelexpress_config.get("model_name") + + @property + def modelexpress_source(self) -> bool: + return self._parsed_modelexpress_config.get("source", False) + def remote_instance_weight_loader_use_transfer_engine(self): # Use TransferEngine as seed backend. if self.remote_instance_weight_loader_start_seed_via_transfer_engine: return True + # ModelExpress source mode also needs TransferEngine init. + if self.modelexpress_source: + return True # Use TransferEngine as client backend. elif ( self.load_format == "remote_instance" - and self.remote_instance_weight_loader_backend == "transfer_engine" + and self.remote_instance_weight_loader_backend + in ("transfer_engine", "modelexpress") ): return True else: