|
11 | 11 | from vllm.entrypoints.openai.protocol import EmbeddingResponse
|
12 | 12 | from vllm.transformers_utils.tokenizer import get_tokenizer
|
13 | 13 |
|
| 14 | +from ...models.embedding.utils import check_embeddings_close |
14 | 15 | from ...utils import RemoteOpenAIServer
|
15 | 16 |
|
16 | 17 | MODEL_NAME = "intfloat/multilingual-e5-small"
|
@@ -190,30 +191,35 @@ async def test_batch_base64_embedding(client: openai.AsyncOpenAI,
|
190 | 191 | responses_float = await client.embeddings.create(input=input_texts,
|
191 | 192 | model=model_name,
|
192 | 193 | encoding_format="float")
|
| 194 | + float_data = [d.embedding for d in responses_float.data] |
193 | 195 |
|
194 | 196 | responses_base64 = await client.embeddings.create(input=input_texts,
|
195 | 197 | model=model_name,
|
196 | 198 | encoding_format="base64")
|
197 |
| - |
198 |
| - decoded_responses_base64_data = [] |
| 199 | + base64_data = [] |
199 | 200 | for data in responses_base64.data:
|
200 |
| - decoded_responses_base64_data.append( |
| 201 | + base64_data.append( |
201 | 202 | np.frombuffer(base64.b64decode(data.embedding),
|
202 | 203 | dtype="float32").tolist())
|
203 | 204 |
|
204 |
| - assert responses_float.data[0].embedding == decoded_responses_base64_data[ |
205 |
| - 0] |
206 |
| - assert responses_float.data[1].embedding == decoded_responses_base64_data[ |
207 |
| - 1] |
| 205 | + check_embeddings_close( |
| 206 | + embeddings_0_lst=float_data, |
| 207 | + embeddings_1_lst=base64_data, |
| 208 | + name_0="float", |
| 209 | + name_1="base64", |
| 210 | + ) |
208 | 211 |
|
209 | 212 | # Default response is float32 decoded from base64 by OpenAI Client
|
210 | 213 | responses_default = await client.embeddings.create(input=input_texts,
|
211 | 214 | model=model_name)
|
| 215 | + default_data = [d.embedding for d in responses_default.data] |
212 | 216 |
|
213 |
| - assert responses_float.data[0].embedding == responses_default.data[ |
214 |
| - 0].embedding |
215 |
| - assert responses_float.data[1].embedding == responses_default.data[ |
216 |
| - 1].embedding |
| 217 | + check_embeddings_close( |
| 218 | + embeddings_0_lst=float_data, |
| 219 | + embeddings_1_lst=default_data, |
| 220 | + name_0="float", |
| 221 | + name_1="default", |
| 222 | + ) |
217 | 223 |
|
218 | 224 |
|
219 | 225 | @pytest.mark.asyncio
|
|
0 commit comments