Marks a rollout as complete, indicating that no further turns will be appended to the trajectory. After calling this operation, the trajectory is sealed and eligible for reward submission via the UpdateReward operation.
Parameters:
-
job_arn
(JobArn)
–
-
trajectory_id
(TrajectoryId)
–
The trajectory ID to mark as complete.
-
status
(Optional[CompletionStatus], default:
None
)
–
The target status for the trajectory. Defaults to READY if not specified. Set to FAILED if the rollout encountered an error and the trajectory should not be used for processing.
-
client_token
(Optional[str], default:
None
)
–
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
Raises:
Examples:
Invoke CompleteRollout
Marks a rollout as complete so the trajectory is sealed and eligible for reward submission.
>>> client.complete_rollout(job_arn='arn:aws:sagemaker:us-east-1:123456789012:job/AgentRFT/my-training-job', trajectory_id='trajectory-001', status='ready')
Source code in docs_src/capo_sagemakerjobruntime/_services/sagemaker_job_runtime.py
| def complete_rollout(
self,
job_arn: "capo_sagemakerjobruntime.types.job_arn.JobArn",
trajectory_id: "capo_sagemakerjobruntime.types.trajectory_id.TrajectoryId",
*,
config_overrides: Optional[SagemakerJobRuntimeClientConfig] = None,
status: Optional[
"capo_sagemakerjobruntime.types.completion_status.CompletionStatus"
] = None,
client_token: Optional[str] = None,
) -> "capo_sagemakerjobruntime.types.complete_rollout_response.CompleteRolloutResponse":
"""Marks a rollout as complete, indicating that no further turns will be appended to the trajectory. After calling this operation, the trajectory is sealed and eligible for reward submission via the UpdateReward operation.
Args:
job_arn: The job ARN.
trajectory_id: The trajectory ID to mark as complete.
status: The target status for the trajectory. Defaults to READY if not specified. Set to FAILED if the rollout encountered an error and the trajectory should not be used for processing.
client_token: A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
Raises:
capo_sagemakerjobruntime.errors.access_denied_exception.AccessDeniedException: You do not have permission to perform this operation.
capo_sagemakerjobruntime.errors.conflict_exception.ConflictException: The request conflicts with the current state of the resource.
capo_sagemakerjobruntime.errors.internal_service_error.InternalServiceError: An internal service error occurred. Retry the request.
capo_sagemakerjobruntime.errors.resource_not_found_exception.ResourceNotFoundException: The specified resource was not found.
capo_sagemakerjobruntime.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: You have exceeded a service quota.
capo_sagemakerjobruntime.errors.throttling_exception.ThrottlingException: The request was throttled. Retry the request after a brief wait.
capo_sagemakerjobruntime.errors.validation_exception.ValidationException: The request is not valid. Check the request syntax and parameters
capo_sagemakerjobruntime.errors.UnknownServiceError: The service returned an error code this client does not model.
Examples:
Invoke CompleteRollout
Marks a rollout as complete so the trajectory is sealed and eligible for reward submission.
>>> client.complete_rollout(job_arn='arn:aws:sagemaker:us-east-1:123456789012:job/AgentRFT/my-training-job', trajectory_id='trajectory-001', status='ready')
"""
def _handler(
req: "OperationRequest[capo_sagemakerjobruntime.types.complete_rollout_request.CompleteRolloutRequest]",
) -> OperationResponse[
"capo_sagemakerjobruntime.types.complete_rollout_response.CompleteRolloutResponse"
]:
import capo_sagemakerjobruntime._operations.agentic_rft_runtime_service.complete_rollout
output, http_response = (
capo_sagemakerjobruntime._operations.agentic_rft_runtime_service.complete_rollout.complete_rollout(
req.options, req.input
)
)
return OperationResponse(output=output, response=http_response)
interceptors_, options_ = self.operation_options(
config_overrides, OperationLogging("CompleteRollout")
)
input_: capo_sagemakerjobruntime.types.complete_rollout_request.CompleteRolloutRequest = {
"job_arn": job_arn,
"trajectory_id": trajectory_id,
}
if status is not None:
input_["status"] = status
if client_token is None:
client_token = str(uuid.uuid4())
input_["client_token"] = client_token
response = execute_pipeline(
OperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
response.response.close()
return response.output
|