mirror of
https://git.datalinker.icu/vllm-project/vllm.git
synced 2025-12-10 09:01:40 +08:00
115 lines
3.6 KiB
Python
115 lines
3.6 KiB
Python
# SPDX-License-Identifier: Apache-2.0
|
|
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
|
|
import pytest
|
|
|
|
from tests.models.language.pooling.embed_utils import correctness_test_embed_models
|
|
from tests.models.utils import (
|
|
CLSPoolingEmbedModelInfo,
|
|
CLSPoolingRerankModelInfo,
|
|
EmbedModelInfo,
|
|
LASTPoolingEmbedModelInfo,
|
|
RerankModelInfo,
|
|
)
|
|
|
|
from .mteb_utils import mteb_test_embed_models, mteb_test_rerank_models
|
|
|
|
MODELS = [
|
|
########## BertModel
|
|
CLSPoolingEmbedModelInfo(
|
|
"BAAI/bge-base-en",
|
|
architecture="BertModel",
|
|
mteb_score=0.779336792,
|
|
enable_test=True,
|
|
),
|
|
CLSPoolingEmbedModelInfo(
|
|
"BAAI/bge-base-zh", architecture="BertModel", enable_test=False
|
|
),
|
|
CLSPoolingEmbedModelInfo(
|
|
"BAAI/bge-small-en", architecture="BertModel", enable_test=False
|
|
),
|
|
CLSPoolingEmbedModelInfo(
|
|
"BAAI/bge-small-zh", architecture="BertModel", enable_test=False
|
|
),
|
|
CLSPoolingEmbedModelInfo(
|
|
"BAAI/bge-large-en", architecture="BertModel", enable_test=False
|
|
),
|
|
CLSPoolingEmbedModelInfo(
|
|
"BAAI/bge-large-zh", architecture="BertModel", enable_test=False
|
|
),
|
|
CLSPoolingEmbedModelInfo(
|
|
"BAAI/bge-large-zh-noinstruct", architecture="BertModel", enable_test=False
|
|
),
|
|
CLSPoolingEmbedModelInfo(
|
|
"BAAI/bge-base-en-v1.5", architecture="BertModel", enable_test=False
|
|
),
|
|
CLSPoolingEmbedModelInfo(
|
|
"BAAI/bge-base-zh-v1.5", architecture="BertModel", enable_test=False
|
|
),
|
|
CLSPoolingEmbedModelInfo(
|
|
"BAAI/bge-small-en-v1.5", architecture="BertModel", enable_test=False
|
|
),
|
|
CLSPoolingEmbedModelInfo(
|
|
"BAAI/bge-small-zh-v1.5", architecture="BertModel", enable_test=False
|
|
),
|
|
CLSPoolingEmbedModelInfo(
|
|
"BAAI/bge-large-en-v1.5", architecture="BertModel", enable_test=False
|
|
),
|
|
CLSPoolingEmbedModelInfo(
|
|
"BAAI/bge-large-zh-v1.5", architecture="BertModel", enable_test=False
|
|
),
|
|
########## XLMRobertaModel
|
|
CLSPoolingEmbedModelInfo(
|
|
"BAAI/bge-m3",
|
|
architecture="XLMRobertaModel",
|
|
mteb_score=0.787343078,
|
|
enable_test=True,
|
|
),
|
|
########## Qwen2Model
|
|
LASTPoolingEmbedModelInfo(
|
|
"BAAI/bge-code-v1",
|
|
architecture="Qwen2Model",
|
|
mteb_score=0.75724465,
|
|
dtype="float32",
|
|
enable_test=True,
|
|
),
|
|
]
|
|
|
|
RERANK_MODELS = [
|
|
########## XLMRobertaForSequenceClassification
|
|
CLSPoolingRerankModelInfo(
|
|
"BAAI/bge-reranker-base",
|
|
architecture="XLMRobertaForSequenceClassification",
|
|
mteb_score=0.32398,
|
|
enable_test=True,
|
|
),
|
|
CLSPoolingRerankModelInfo(
|
|
"BAAI/bge-reranker-large",
|
|
architecture="XLMRobertaForSequenceClassification",
|
|
enable_test=False,
|
|
),
|
|
CLSPoolingRerankModelInfo(
|
|
"BAAI/bge-reranker-v2-m3",
|
|
architecture="XLMRobertaForSequenceClassification",
|
|
enable_test=False,
|
|
),
|
|
]
|
|
|
|
|
|
@pytest.mark.parametrize("model_info", MODELS)
|
|
def test_embed_models_mteb(hf_runner, vllm_runner, model_info: EmbedModelInfo) -> None:
|
|
mteb_test_embed_models(hf_runner, vllm_runner, model_info)
|
|
|
|
|
|
@pytest.mark.parametrize("model_info", MODELS)
|
|
def test_embed_models_correctness(
|
|
hf_runner, vllm_runner, model_info: EmbedModelInfo, example_prompts
|
|
) -> None:
|
|
correctness_test_embed_models(hf_runner, vllm_runner, model_info, example_prompts)
|
|
|
|
|
|
@pytest.mark.parametrize("model_info", RERANK_MODELS)
|
|
def test_rerank_models_mteb(
|
|
hf_runner, vllm_runner, model_info: RerankModelInfo
|
|
) -> None:
|
|
mteb_test_rerank_models(hf_runner, vllm_runner, model_info)
|