From 4343082d37d9fedda6e51bd034657a52c5c1aa2b Mon Sep 17 00:00:00 2001 From: Heiner Lohaus Date: Wed, 10 Jan 2024 20:08:06 +0100 Subject: Fix create_async in CreateImagesProvider --- g4f/Provider/create_images.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'g4f/Provider/create_images.py') diff --git a/g4f/Provider/create_images.py b/g4f/Provider/create_images.py index 9c76a742..29f88a80 100644 --- a/g4f/Provider/create_images.py +++ b/g4f/Provider/create_images.py @@ -71,14 +71,17 @@ class CreateImagesProvider(BaseProvider): ) -> str: messages.insert(0, {"role": "system", "content": self.system_message}) response = await self.provider.create_async(model, messages, **kwargs) - matches = re.findall(r'()', result) + matches = re.findall(r'()', response) results = [] - for _, prompt in matches: - results.append(self.create_images_async(prompt)) + placeholders = [] + for placeholder, prompt in matches: + if placeholder not in placeholders: + results.append(self.create_images_async(prompt)) + placeholders.append(placeholder) results = await asyncio.gather(*results) for idx, result in enumerate(results): - placeholder = matches[idx][0] + placeholder = placeholder[idx] if self.include_placeholder: result = placeholder + result response = response.replace(placeholder, result) - return result \ No newline at end of file + return response \ No newline at end of file -- cgit v1.2.3