(self, prompt, n)
| 286 | return self.auto_reduce_n(fn, prompt, n // 2) + self.auto_reduce_n(fn, prompt, n // 2) |
| 287 | |
| 288 | def generate_text(self, prompt, n): |
| 289 | if not isinstance(prompt, list): |
| 290 | prompt = [prompt] |
| 291 | if self.needs_confirmation: |
| 292 | self.confirm_cost( |
| 293 | prompt, n, self.config['gpt_config']['max_tokens']) |
| 294 | batch_size = self.config['batch_size'] |
| 295 | assert batch_size == 1 |
| 296 | prompt_batches = [prompt[i:i + batch_size] |
| 297 | for i in range(0, len(prompt), batch_size)] |
| 298 | if not self.disable_tqdm: |
| 299 | print( |
| 300 | f"[{self.config['name']}] Generating {len(prompt) * n} completions, split into {len(prompt_batches)} batches of (maximum) size {batch_size * n}") |
| 301 | text = [] |
| 302 | for prompt_batch in tqdm(prompt_batches, disable=self.disable_tqdm): |
| 303 | text += self.auto_reduce_n(self.__generate_text, prompt_batch, n) |
| 304 | return text |
| 305 | |
| 306 | def log_probs(self, text, log_prob_range=None): |
| 307 | raise NotImplementedError |
nothing calls this directly
no test coverage detected