(self, sample: Tuple[List[str], str])
| 312 | return output |
| 313 | |
| 314 | def format(self, sample: Tuple[List[str], str]) -> Dict[str, Any]: |
| 315 | # original text concat special prompt: human prompt and assistant prompt |
| 316 | context = [get_special_prompt(i, self.opt) + u for i, u in enumerate(sample)] |
| 317 | |
| 318 | context_vec = self.tokenizer.encode( |
| 319 | self.tokenizer.eos_token.join(context) + self.tokenizer.eos_token, |
| 320 | add_special_tokens=True |
| 321 | ) |
| 322 | |
| 323 | text_vec = context_vec[:self.opt.maxlen_prompt] |
| 324 | loss_mask = [] |
| 325 | cnt = 0 |
| 326 | for v in text_vec: |
| 327 | loss_mask.append(cnt % 2) |
| 328 | cnt += int(v == self.tokenizer.eos_token_id) |
| 329 | |
| 330 | output = { |
| 331 | 'text_vec': text_vec, |
| 332 | 'loss_mask': loss_mask, |
| 333 | } |
| 334 | |
| 335 | return output |
| 336 | |
| 337 | def batchify(self, batch_samples: List[Dict[str, Any]]) -> Dict[str, Any]: |
| 338 | batch = dict() |
no test coverage detected