[CI][Bugfix] Fix bad tolerance for test_batch_base64_embedding (#16221)

Signed-off-by: mgoin <mgoin64@gmail.com>
This commit is contained in:
Michael Goin 2025-04-08 22:14:46 -06:00 committed by GitHub
parent cb84e45ac7
commit 87b4ac56c2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -11,6 +11,7 @@ import requests
from vllm.entrypoints.openai.protocol import EmbeddingResponse from vllm.entrypoints.openai.protocol import EmbeddingResponse
from vllm.transformers_utils.tokenizer import get_tokenizer from vllm.transformers_utils.tokenizer import get_tokenizer
from ...models.embedding.utils import check_embeddings_close
from ...utils import RemoteOpenAIServer from ...utils import RemoteOpenAIServer
MODEL_NAME = "intfloat/multilingual-e5-small" MODEL_NAME = "intfloat/multilingual-e5-small"
@ -190,30 +191,35 @@ async def test_batch_base64_embedding(client: openai.AsyncOpenAI,
responses_float = await client.embeddings.create(input=input_texts, responses_float = await client.embeddings.create(input=input_texts,
model=model_name, model=model_name,
encoding_format="float") encoding_format="float")
float_data = [d.embedding for d in responses_float.data]
responses_base64 = await client.embeddings.create(input=input_texts, responses_base64 = await client.embeddings.create(input=input_texts,
model=model_name, model=model_name,
encoding_format="base64") encoding_format="base64")
base64_data = []
decoded_responses_base64_data = []
for data in responses_base64.data: for data in responses_base64.data:
decoded_responses_base64_data.append( base64_data.append(
np.frombuffer(base64.b64decode(data.embedding), np.frombuffer(base64.b64decode(data.embedding),
dtype="float32").tolist()) dtype="float32").tolist())
assert responses_float.data[0].embedding == decoded_responses_base64_data[ check_embeddings_close(
0] embeddings_0_lst=float_data,
assert responses_float.data[1].embedding == decoded_responses_base64_data[ embeddings_1_lst=base64_data,
1] name_0="float",
name_1="base64",
)
# Default response is float32 decoded from base64 by OpenAI Client # Default response is float32 decoded from base64 by OpenAI Client
responses_default = await client.embeddings.create(input=input_texts, responses_default = await client.embeddings.create(input=input_texts,
model=model_name) model=model_name)
default_data = [d.embedding for d in responses_default.data]
assert responses_float.data[0].embedding == responses_default.data[ check_embeddings_close(
0].embedding embeddings_0_lst=float_data,
assert responses_float.data[1].embedding == responses_default.data[ embeddings_1_lst=default_data,
1].embedding name_0="float",
name_1="default",
)
@pytest.mark.asyncio @pytest.mark.asyncio