MCPcopy Create free account
hub / github.com/abetlen/llama-cpp-python / admit_request

Method admit_request

examples/server/server.py:12703–12740  ·  view source on GitHub ↗
(self, request: CompletionRequest)

Source from the content-addressed store, hash-verified

12701 return request.prompt_plan.clamp_to_reusable_boundary(reuse_len)
12702
12703 def admit_request(self, request: CompletionRequest) -> None:
12704 match_seq_id = request.match_sequence_id
12705 match_length = request.match_length
12706 reuse_len = self.reuse_len_for_request(request, match_length)
12707 claimable = match_seq_id in self.scheduler.free_sequences
12708 if request.sequence_cache_match is not None:
12709 base_seq_id = self.scheduler.claim_unused_sequence()
12710 reuse_len, request.prompt_logits = self.scheduler.hydrate_sequence_cache_match(
12711 request,
12712 base_seq_id,
12713 )
12714 elif claimable:
12715 base_seq_id = self.scheduler.claim_free_sequence(match_seq_id)
12716 if self.scheduler.radix_trie.length(base_seq_id) > reuse_len:
12717 self.scheduler.truncate_sequence(base_seq_id, reuse_len)
12718 else:
12719 base_seq_id = self.scheduler.claim_unused_sequence()
12720 if reuse_len > 0 and match_seq_id >= 0:
12721 self.copy_prompt_state(match_seq_id, base_seq_id, reuse_len)
12722 sibling_count = request.internal_completion_count - 1
12723 sibling_seq_ids: List[int] = []
12724 for _ in range(sibling_count):
12725 seq_id = self.scheduler.claim_unused_sequence()
12726 sibling_seq_ids.append(seq_id)
12727 self.scheduler.activate_request(
12728 request,
12729 base_seq_id=base_seq_id,
12730 sibling_seq_ids=sibling_seq_ids,
12731 )
12732 request.prompt_cursor = reuse_len
12733 if request.prompt_cursor == len(request.prompt_tokens):
12734 request.prompt_done = True
12735 self.scheduler.maybe_save_sequence_cache(request)
12736 self.scheduler.start_completions(
12737 request,
12738 prompt_output_index=None,
12739 prompt_logits=request.prompt_logits,
12740 )
12741
12742
12743class UnifiedAttentionMemoryPolicy(AttentionMemoryPolicy):

Callers

nothing calls this directly

Calls 11

reuse_len_for_requestMethod · 0.95
claim_unused_sequenceMethod · 0.80
claim_free_sequenceMethod · 0.80
truncate_sequenceMethod · 0.80
appendMethod · 0.80
activate_requestMethod · 0.80
start_completionsMethod · 0.80
lengthMethod · 0.45
copy_prompt_stateMethod · 0.45

Tested by

no test coverage detected