(self, request: CompletionRequest)
| 12910 | return False |
| 12911 | |
| 12912 | def admit_request(self, request: CompletionRequest) -> None: |
| 12913 | match_seq_id = request.match_sequence_id |
| 12914 | match_length = request.match_length |
| 12915 | claimable = match_seq_id in self.scheduler.free_sequences |
| 12916 | if request.sequence_cache_match is not None: |
| 12917 | base_seq_id = self.scheduler.claim_unused_sequence() |
| 12918 | match_length, request.prompt_logits = self.scheduler.hydrate_sequence_cache_match( |
| 12919 | request, |
| 12920 | base_seq_id, |
| 12921 | ) |
| 12922 | elif claimable: |
| 12923 | base_seq_id = self.scheduler.claim_free_sequence(match_seq_id) |
| 12924 | request.prompt_logits = self.scheduler.checkpoint_logits.get(base_seq_id) |
| 12925 | self.scheduler.metrics.checkpoint_hits_total += 1 |
| 12926 | else: |
| 12927 | base_seq_id = self.scheduler.claim_unused_sequence() |
| 12928 | request.prompt_logits = None |
| 12929 | sibling_count = request.internal_completion_count - 1 |
| 12930 | sibling_seq_ids: List[int] = [] |
| 12931 | for _ in range(sibling_count): |
| 12932 | seq_id = self.scheduler.claim_unused_sequence() |
| 12933 | sibling_seq_ids.append(seq_id) |
| 12934 | self.scheduler.activate_request( |
| 12935 | request, |
| 12936 | base_seq_id=base_seq_id, |
| 12937 | sibling_seq_ids=sibling_seq_ids, |
| 12938 | ) |
| 12939 | request.prompt_cursor = match_length |
| 12940 | if request.prompt_cursor == len(request.prompt_tokens): |
| 12941 | request.prompt_done = True |
| 12942 | self.scheduler.maybe_save_prompt_checkpoint(request) |
| 12943 | self.scheduler.maybe_save_sequence_cache(request) |
| 12944 | self.scheduler.start_completions( |
| 12945 | request, |
| 12946 | prompt_output_index=None, |
| 12947 | prompt_logits=request.prompt_logits, |
| 12948 | ) |
| 12949 | |
| 12950 | def copy_prompt_state( |
| 12951 | self, |
nothing calls this directly
no test coverage detected