def upload_model(self, model_dir, max_retries=1): # type: (Text, int) -> Optional[Dict[Text, Any]] """Upload a Rasa core model to the remote instance.""" url = "{}/load?token={}".format(self.host, quote_plus(self.token)) logger.debug("Uploading model to rasa core server.") model_zip = utils.zip_folder(model_dir) response = None while max_retries > 0: max_retries -= 1 try: with io.open(model_zip, "rb") as f: response = requests.post(url, files={"model": f}) if response.status_code == 200: logger.debug("Finished uploading") return response.json() except RequestException as e: logger.warn("Failed to send model upload request. " "{}".format(e)) if max_retries > 0: # some resting time before we try again - e.g. server # might be unavailable / not started yet time.sleep(2) if response: logger.warn("Got a bad response from rasa core while uploading " "the model (Status: {} " "Response: {})".format(response.status_code, response.text)) return None
def zipped_moodbot_model(): # train moodbot if necessary policy_file = os.path.join(MOODBOT_MODEL_PATH, 'policy_metadata.json') if not os.path.isfile(policy_file): trained_moodbot_path() zip_path = zip_folder(MOODBOT_MODEL_PATH) return zip_path
def upload_model(self, model_dir, max_retries=1): # type: (Text, int) -> Optional[Dict[Text, Any]] """Upload a Rasa core model to the remote instance.""" logger.debug("Uploading model to rasa core server.") model_zip = utils.zip_folder(model_dir) response = None while max_retries > 0: max_retries -= 1 try: with io.open(model_zip, "rb") as f: response = self.core_endpoint.request( method="post", subpath="/load", files={"model": f}, content_type=None) if response.status_code == 200: logger.debug("Finished uploading") return response.json() except RequestException as e: logger.warn("Failed to send model upload request. " "{}".format(e)) if max_retries > 0: # some resting time before we try again - e.g. server # might be unavailable / not started yet time.sleep(2) if response: logger.warn("Got a bad response from rasa core while uploading " "the model (Status: {} " "Response: {})".format(response.status_code, response.text)) return None
def upload_model(self, model_dir: Text, max_retries: int = 1) -> Optional[Dict[Text, Any]]: """Upload a Rasa core model to the remote instance.""" logger.debug("Uploading model to rasa core server.") model_zip = utils.zip_folder(model_dir) response = None while max_retries > 0: max_retries -= 1 try: with io.open(model_zip, "rb") as f: response = self.core_endpoint.request(method="post", subpath="/load", files={"model": f}, content_type=None) if response.status_code == 200: logger.debug("Finished uploading") return response.json() except RequestException as e: logger.warning("Failed to send model upload request. " "{}".format(e)) if max_retries > 0: # some resting time before we try again - e.g. server # might be unavailable / not started yet time.sleep(10) if response: logger.warning("Got a bad response from rasa core while uploading " "the model (Status: {} " "Response: {})".format(response.status_code, response.text)) return None