in src/fmeval/model_runners/composers/jumpstart_composer.py [0:0]
def compose(self, prompt: str) -> Union[JumpStartSerializablePayload, bytes]:
"""
Composes the payload for the given JumpStartModel from the provided prompt.
"""
# embedding models input to the endpoint is any string of text dumped in json and encoded in `utf-8` format
if self._is_embedding_model:
return json.dumps(prompt).encode("utf-8")
sagemaker_session = get_sagemaker_session()
# Default model type is always OPEN_WEIGHTS. See https://tinyurl.com/yc58s6wj
jumpstart_model_type = JumpStartModelType.OPEN_WEIGHTS
if is_proprietary_js_model(sagemaker_session.boto_region_name, self._model_id):
jumpstart_model_type = JumpStartModelType.PROPRIETARY
payload = _construct_payload(
prompt,
model_id=self._model_id,
model_type=jumpstart_model_type,
model_version=self._model_version,
tolerate_deprecated_model=True,
tolerate_vulnerable_model=True,
)
util.require(payload, f"Unable to fetch default model payload for JumpStart model: {self._model_id}")
return payload