(self)
| 26 | ) |
| 27 | |
| 28 | def run(self) -> List[Experience]: |
| 29 | messages = self.format_messages() |
| 30 | |
| 31 | self.logger.debug("start chat") |
| 32 | responses = self.model.chat(messages, **self.rollout_args) |
| 33 | for i, response in enumerate(responses): |
| 34 | reward_dict = self.reward_fn( # type: ignore |
| 35 | response, |
| 36 | messages, |
| 37 | ground_truth=self.truth, |
| 38 | ) |
| 39 | |
| 40 | if response.metrics is None: |
| 41 | response.metrics = {} |
| 42 | response.metrics.update(reward_dict) |
| 43 | reward = sum(reward_dict.values()) |
| 44 | response.reward = reward |
| 45 | response.eid.run = i + self.run_id_base |
| 46 | |
| 47 | self.logger.debug( |
| 48 | f"self.task_desc: {self.task_desc}, messages: {messages}, response: {response.response_text}, reward: {reward}" |
| 49 | ) |
| 50 | return responses |
| 51 | |
| 52 | |
| 53 | class AsyncMathRMWorkflow(MathRMWorkflow): |
nothing calls this directly
no test coverage detected