| 21 | |
| 22 | class Predictor(object): |
| 23 | def predict(self, task_info, batch_data): |
| 24 | task_info["start_time"] = get_curr_time() |
| 25 | try: |
| 26 | markdown, num_pages = self._predict(batch_data) |
| 27 | except Exception as e: |
| 28 | task_info["successful"] = False |
| 29 | print(e) |
| 30 | raise |
| 31 | finally: |
| 32 | task_info["end_time"] = get_curr_time() |
| 33 | task_info["successful"] = True |
| 34 | task_info["processed_pages"] = num_pages |
| 35 | task_info["generated_tokens"] = len(encoding.encode(markdown)) |
| 36 | return markdown |
| 37 | |
| 38 | def _predict(self, batch_data): |
| 39 | raise NotImplementedError |