Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 62aad61

Browse filesBrowse files
ymikhailovymikhaylovabetlen
authored
fix: last tokens passing to sample_repetition_penalties function (abetlen#1295)
Co-authored-by: ymikhaylov <ymikhaylov@x5.ru> Co-authored-by: Andrei <abetlen@gmail.com>
1 parent 45bf5ae commit 62aad61
Copy full SHA for 62aad61

File tree

Expand file treeCollapse file tree

1 file changed

+6
-4
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+6
-4
lines changed

‎llama_cpp/_internals.py

Copy file name to clipboardExpand all lines: llama_cpp/_internals.py
+6-4Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -730,12 +730,14 @@ def sample(
730730
if len(self.prev) > 0:
731731
nl_token = ctx_main.model.token_nl()
732732
nl_logit = logits_array[nl_token]
733-
if self.params.penalty_last_n > 0:
733+
last_tokens = self.prev[-self.params.penalty_last_n:]
734+
last_tokens_size = min(len(last_tokens), self.params.penalty_last_n)
735+
if last_tokens_size > 0:
736+
last_tokens_p = (llama_cpp.llama_token * len(last_tokens))(*last_tokens)
734737
ctx_main.sample_repetition_penalties(
735738
token_data_array,
736-
# TODO: Only create this once
737-
(llama_cpp.llama_token * len(self.prev))(*self.prev),
738-
self.params.penalty_last_n,
739+
last_tokens_p,
740+
last_tokens_size,
739741
self.params.penalty_repeat,
740742
self.params.penalty_freq,
741743
self.params.penalty_present,

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.