Source: emel/logits/sampler/sm.hpp
stateDiagram-v2
direction TB
[*] --> ready
ready --> done : configure_runtime [valid_config_] / configure_table_
ready --> errored : configure_runtime [invalid_config_] / mark_invalid_request_
ready --> request_logits_decision : sample_logits_runtime [always] / none
ready --> request_preselected_decision : sample_preselected_runtime [always] / none
request_preselected_decision --> done : completion_sample_preselected_runtime_ [preselected_token_valid_] / none
request_preselected_decision --> errored : completion_sample_preselected_runtime_ [preselected_token_invalid_] / mark_invalid_request_
request_logits_decision --> preparing_candidates : completion_sample_logits_runtime_ [valid_request_] / begin_sample_
request_logits_decision --> errored : completion_sample_logits_runtime_ [invalid_request_] / mark_invalid_request_
preparing_candidates --> apply_samplers : completion_sample_logits_runtime_ [always] / prepare_candidates_
apply_samplers --> sample_decision : completion_sample_logits_runtime_ [has_more_samplers_] / none
apply_samplers --> sample_complete_decision : completion_sample_logits_runtime_ [no_more_samplers_] / none
sample_decision --> sample_call : completion_sample_logits_runtime_ [sampler_fn_available_] / apply_sampler_
sample_decision --> errored : completion_sample_logits_runtime_ [sampler_fn_missing_] / mark_invalid_request_
sample_call --> sample_call_decision : completion_sample_logits_runtime_ [always] / none
sample_call_decision --> apply_samplers : completion_sample_logits_runtime_ [sampler_call_succeeded_with_valid_candidate_count_] / advance_sampler_index_
sample_call_decision --> errored : completion_sample_logits_runtime_ [sampler_call_succeeded_with_invalid_candidate_count_] / mark_invalid_request_
sample_call_decision --> errored : completion_sample_logits_runtime_ [sampler_call_failed_] / mark_sampler_error_
sample_complete_decision --> done : completion_sample_logits_runtime_ [selected_token_valid_] / none
sample_complete_decision --> errored : completion_sample_logits_runtime_ [selected_token_missing_or_invalid_] / mark_invalid_request_
done --> ready : completion_configure_runtime_ [always] / publish_done_
errored --> ready : completion_configure_runtime_ [always] / publish_error_
done --> ready : completion_sample_logits_runtime_ [always] / publish_done_
errored --> ready : completion_sample_logits_runtime_ [always] / publish_error_
done --> ready : completion_sample_preselected_runtime_ [always] / publish_done_
errored --> ready : completion_sample_preselected_runtime_ [always] / publish_error_
ready --> ready : _ [always] / on_unexpected_
request_logits_decision --> ready : _ [always] / on_unexpected_
request_preselected_decision --> ready : _ [always] / on_unexpected_
preparing_candidates --> ready : _ [always] / on_unexpected_
apply_samplers --> ready : _ [always] / on_unexpected_
sample_decision --> ready : _ [always] / on_unexpected_
sample_call --> ready : _ [always] / on_unexpected_
sample_call_decision --> ready : _ [always] / on_unexpected_
sample_complete_decision --> ready : _ [always] / on_unexpected_
done --> ready : _ [always] / on_unexpected_
errored --> ready : _ [always] / on_unexpected_