chunk_content:       """Forward missing attributes to the wrapped module."""
          try:
              return super().__getattr__(name)  # defer to nn.Module's logic
          except AttributeError:
              return getattr(self.model, name)
  
  
  def get_cosine_embeddings(query_embs, product_embs):
      return torch.sum(query_embs * product_embs, axis=1)
  
  
  def get_loss(cosine_score, labels):
      return torch.mean(torch.square(labels * (1 - cosine_score) + torch.cl