# 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)