17 lines
696 B
Python
17 lines
696 B
Python
|
import numpy as np
|
||
|
|
||
|
from llama_cpp.llama_speculative import LlamaPromptLookupDecoding
|
||
|
|
||
|
def test_find_candidate_pred_tokens():
|
||
|
find_candidate_pred_tokens = LlamaPromptLookupDecoding.find_candidate_pred_tokens
|
||
|
|
||
|
# Test Case 1: Matching ngram is found
|
||
|
input_ids1 = np.array([1, 2, 3, 1, 2, 3, 1, 2, 3])
|
||
|
result1 = find_candidate_pred_tokens(input_ids1, max_ngram_size=3, num_pred_tokens=2)
|
||
|
assert np.array_equal(result1, np.array([1, 2]))
|
||
|
|
||
|
# Test Case 2: Matching ngram is not found
|
||
|
input_ids2 = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
|
||
|
result2 = find_candidate_pred_tokens(input_ids2, max_ngram_size=3, num_pred_tokens=2)
|
||
|
assert np.array_equal(result2, np.array([]))
|