nan commited on
Commit
77d5a29
·
1 Parent(s): ef1876f

fix: fix the bug when return_numpy is false

Browse files
Files changed (1) hide show
  1. modeling_jina_embeddings_v4.py +8 -7
modeling_jina_embeddings_v4.py CHANGED
@@ -350,18 +350,19 @@ class JinaEmbeddingsV4Model(Qwen2_5_VLForConditionalGeneration):
350
  embeddings = embeddings[:, :truncate_dim]
351
  else:
352
  embeddings = embeddings.multi_vec_emb
353
- if return_multivector:
354
  # Get valid token mask from attention_mask
355
  valid_tokens = attention_mask.bool()
356
  # Remove padding by selecting only valid tokens for each sequence
357
  embeddings = [emb[mask] for emb, mask in zip(embeddings, valid_tokens)]
358
  # Stack back into tensor with variable sequence lengths
359
- embeddings = torch.stack(embeddings)
360
- results.append(
361
- embeddings.cpu()
362
- if return_numpy
363
- else list(torch.unbind(embeddings))
364
- )
 
365
  if return_numpy:
366
  return np.concatenate([result.numpy() for result in results], axis=0)
367
  return [item for sublist in results for item in sublist]
 
350
  embeddings = embeddings[:, :truncate_dim]
351
  else:
352
  embeddings = embeddings.multi_vec_emb
353
+ if return_multivector and not return_numpy:
354
  # Get valid token mask from attention_mask
355
  valid_tokens = attention_mask.bool()
356
  # Remove padding by selecting only valid tokens for each sequence
357
  embeddings = [emb[mask] for emb, mask in zip(embeddings, valid_tokens)]
358
  # Stack back into tensor with variable sequence lengths
359
+ results.extend(embeddings)
360
+ else:
361
+ results.append(
362
+ embeddings.cpu()
363
+ if return_numpy
364
+ else list(torch.unbind(embeddings))
365
+ )
366
  if return_numpy:
367
  return np.concatenate([result.numpy() for result in results], axis=0)
368
  return [item for sublist in results for item in sublist]