main
py 59 lines 1.87 KB
Raw
1 # SPDX-License-Identifier: Apache-2.0
2 # SPDX-FileCopyrightText: Copyright contributors to the vLLM project
3
4 import pytest
5
6 from tests.models.language.pooling.embed_utils import correctness_test_embed_models
7 from tests.models.utils import EmbedModelInfo
8
9 from .mteb_embed_utils import mteb_test_embed_models
10
11 MODELS = [
12 EmbedModelInfo(
13 "nomic-ai/nomic-embed-text-v1",
14 architecture="NomicBertModel",
15 # Fixme:
16 # Update nomic-embed code to support the latest
17 # HF version and remove revision set.
18 revision="720244025c1a7e15661a174c63cce63c8218e52b",
19 mteb_score=0.737568559,
20 mteb_tol=2e-3,
21 enable_test=True,
22 seq_pooling_type="MEAN",
23 attn_type="encoder_only",
24 is_prefix_caching_supported=False,
25 is_chunked_prefill_supported=False,
26 ),
27 EmbedModelInfo(
28 "nomic-ai/nomic-embed-text-v1.5",
29 architecture="NomicBertModel",
30 enable_test=False,
31 ),
32 EmbedModelInfo(
33 "nomic-ai/CodeRankEmbed", architecture="NomicBertModel", enable_test=False
34 ),
35 EmbedModelInfo(
36 "nomic-ai/nomic-embed-text-v2-moe",
37 architecture="NomicBertModel",
38 mteb_score=0.715488912,
39 mteb_tol=2e-3,
40 enable_test=True,
41 seq_pooling_type="MEAN",
42 attn_type="encoder_only",
43 is_prefix_caching_supported=False,
44 is_chunked_prefill_supported=False,
45 ),
46 ]
47
48
49 @pytest.mark.flaky(reruns=2)
50 @pytest.mark.parametrize("model_info", MODELS)
51 def test_embed_models_mteb(hf_runner, vllm_runner, model_info: EmbedModelInfo) -> None:
52 mteb_test_embed_models(hf_runner, vllm_runner, model_info)
53
54
55 @pytest.mark.parametrize("model_info", MODELS)
56 def test_embed_models_correctness(
57 hf_runner, vllm_runner, model_info: EmbedModelInfo, example_prompts
58 ) -> None:
59 correctness_test_embed_models(hf_runner, vllm_runner, model_info, example_prompts)