def predict_sequence_score_by_thought_vector(self, thought_vector, response_tokens_ids, condition_id):
        """
        :param thought_vector:          shape == (batch_size, hidden_layer_dim), float32
        :param response_tokens_ids:     shape == (batch_size, seq_len), int32
        :param condition_id:            shape == (batch_size, 1), int32
        :return:
            sequence_score:             shape == (batch_size, 1), float32
        """
        response_tokens_probs = self.predict_prob_by_thought_vector(thought_vector, response_tokens_ids, condition_id)
        # output shape == (batch_size, seq_len - 1, vocab_size)

        return self._compute_sequence_score(response_tokens_ids, response_tokens_probs)

        :param thought_vector:          shape == (batch_size, hidden_layer_dim), float32
        :param response_tokens_ids:     shape == (batch_size, seq_len), int32
        :param condition_id:            shape == (batch_size, 1), int32
        :return:
            sequence_score:             shape == (batch_size, 1), float32
        
cakechat/dialog_model/model.py