text: choice = int(self.choice_parser.parse(choice_string)["choice"])        return choice    def select_next_speaker(self):        return self.chosen_speaker_id    def send(self) -> str:        """        Applies the chatmodel to the message history        and returns the message string        """        # 1. generate and save response to the previous speaker        self.response = self._generate_response()        if self.stop:            message = self.response        else:            # 2. decide who to speak next            self.chosen_speaker_id = self._choose_next_speaker()            self.next_speaker = self.speakers[self.chosen_speaker_id]            print(f"\tNext speaker: {self.next_speaker}\n")            # 3. prompt the next speaker to speak            next_prompt = self.prompt_next_speaker_prompt_template.format(                message_history="\n".join(                    self.message_history + [self.prefix] + [self.response]                ),