mirror of
https://git.datalinker.icu/vllm-project/vllm.git
synced 2026-06-01 16:27:06 +08:00
[V1] [Spec Decode] Fix ngram tests (#14878)
This commit is contained in:
parent
b82662d952
commit
d1ad2a57af
@ -1,32 +1,37 @@
|
|||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
import pytest
|
|
||||||
|
|
||||||
from vllm.v1.spec_decode.ngram_proposer import NgramProposer
|
import numpy as np
|
||||||
from vllm.v1.utils import ConstantList
|
|
||||||
|
from vllm.v1.spec_decode.ngram_proposer import (_find_subarray_kmp,
|
||||||
|
_kmp_lps_array)
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
def test_kmp_lps_array():
|
||||||
def proposer():
|
np.testing.assert_array_equal(_kmp_lps_array(np.array([])), np.array([]))
|
||||||
return NgramProposer()
|
np.testing.assert_array_equal(_kmp_lps_array(np.array([1])), np.array([0]))
|
||||||
|
np.testing.assert_array_equal(_kmp_lps_array(np.array([1, 1, 1])),
|
||||||
|
np.array([0, 1, 2]))
|
||||||
|
np.testing.assert_array_equal(_kmp_lps_array(np.array([1, 2, 3, 4])),
|
||||||
|
np.array([0, 0, 0, 0]))
|
||||||
|
np.testing.assert_array_equal(_kmp_lps_array(np.array([1, 2, 1, 2, 3])),
|
||||||
|
np.array([0, 0, 1, 2, 0]))
|
||||||
|
|
||||||
|
|
||||||
def test_kmp_lps_array(proposer):
|
def test_find_subarray_kmp():
|
||||||
assert proposer._kmp_lps_array([]) == []
|
X = np.array([1, 2, 3, 4, 1, 2, 3, 5, 6])
|
||||||
assert proposer._kmp_lps_array([1]) == [0]
|
assert _find_subarray_kmp(X, 2, 2) is None
|
||||||
assert proposer._kmp_lps_array([1, 1, 1]) == [0, 1, 2]
|
X = np.array([1, 2, 3, 4, 1, 2, 3])
|
||||||
assert proposer._kmp_lps_array([1, 2, 3, 4]) == [0, 0, 0, 0]
|
np.testing.assert_array_equal(_find_subarray_kmp(X, 2, 3),
|
||||||
assert proposer._kmp_lps_array([1, 2, 1, 2, 3]) == [0, 0, 1, 2, 0]
|
np.array([4, 1, 2]))
|
||||||
|
np.testing.assert_array_equal(_find_subarray_kmp(X, 2, 2), np.array([4,
|
||||||
|
1]))
|
||||||
def test_find_subarray_kmp(proposer):
|
np.testing.assert_array_equal(_find_subarray_kmp(X, 1, 3),
|
||||||
X = ConstantList([1, 2, 3, 4, 1, 2, 3, 5, 6])
|
np.array([4, 1, 2]))
|
||||||
assert proposer._find_subarray_kmp(X, 2, 2) is None
|
np.testing.assert_array_equal(_find_subarray_kmp(X, 1, 2), np.array([4,
|
||||||
X = ConstantList([1, 2, 3, 4, 1, 2, 3])
|
1]))
|
||||||
assert proposer._find_subarray_kmp(X, 2, 3) == [4, 1, 2]
|
X = np.array([1, 3, 6, 2, 3, 4, 1, 2, 3])
|
||||||
assert proposer._find_subarray_kmp(X, 2, 2) == [4, 1]
|
np.testing.assert_array_equal(_find_subarray_kmp(X, 2, 3),
|
||||||
assert proposer._find_subarray_kmp(X, 1, 3) == [4, 1, 2]
|
np.array([4, 1, 2]))
|
||||||
assert proposer._find_subarray_kmp(X, 1, 2) == [4, 1]
|
|
||||||
X = ConstantList([1, 3, 6, 2, 3, 4, 1, 2, 3])
|
|
||||||
assert proposer._find_subarray_kmp(X, 2, 3) == [4, 1, 2]
|
|
||||||
# Return on the first match
|
# Return on the first match
|
||||||
assert proposer._find_subarray_kmp(X, 1, 3) == [6, 2, 3]
|
np.testing.assert_array_equal(_find_subarray_kmp(X, 1, 3),
|
||||||
|
np.array([6, 2, 3]))
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user