@@ -593,6 +593,10 @@ msgstr "Модель" msgid "Settings" msgstr "Настройки" +#: ml_model/exceptions.py:20 +msgid "The model is not responding" +msgstr "Модель не отвечает" + #: ml_model/models.py:172 #, python-format msgid "Settings of %(model_title)s" @@ -46,7 +46,7 @@ class Deepseek(SimpleService): def make(self, input_message: Message, save: bool = True) -> list[Message]: info = input_message.info.copy() - version = info.pop('version') + version = info.pop('version', 'deepseek/deepseek-r1') callback_data = { **input_message.info, } @@ -11,7 +11,7 @@ from django.core.files import File from messages.models import Message -from ml_model.models import ModelInput +from ml_model.exceptions import ModelTimeoutError from ml_model.services.base import SimpleService @@ -51,14 +51,33 @@ class Fluxlorafast(SimpleService): return messages def make(self, input_message: Message, save: bool = True) -> list[Message]: + sizes = { + '1:1': 'square', + '1:1 HD': 'square_hd', + '3:4': 'portrait_4_3', + '9:16': 'portrait_16_9', + '4:3': 'landscape_4_3', + '16:9': 'landscape_16_9', + } + requests_number = 0 start_time = time.time() version = input_message.info.get('version') translated_prompt = self.translate_prompt(input_message.content) callback_data = dict( { - 'prompt': translated_prompt, + 'prompt': f'in style of raif3_corporate Isometric illustration, ' + f'contemporary vector art style, 3/4 perspective view: {translated_prompt}', 'model_version': 'fb90c17a-d410-41e7-9961-dc7c687bc627', - **input_message.info, + 'image_size': sizes.get(input_message.info.get('image_size', '1:1')), + 'loras': [ + { + 'path': 'https://v3.fal.media/files/elephant/JthCZoCdAr7' + 'LqnOiNNVCC_pytorch_lora_weights.safetensors' + } + ], + 'guidance_scale': 5, + 'num_inference_steps': 36, + 'num_images': input_message.info.get('num_images', 4), } ) client = httpx.Client( @@ -74,6 +93,9 @@ class Fluxlorafast(SimpleService): status = client.get(result['status_url']).json() if status.get('status') == 'COMPLETED': break + requests_number += 1 + if requests_number == 271: + raise ModelTimeoutError time.sleep(1/3) process_time = timedelta(seconds=(time.time() - start_time)) final_result = client.get(result['response_url']).json() @@ -55,7 +55,7 @@ class Gemini(SimpleService): def make(self, input_message: Message, save: bool = True) -> list[Message]: info = input_message.info.copy() - version = info.pop('version') + version = info.pop('version', 'google/gemini-2.0-flash-001') callback_data = { 'provider': {'order': ['Google AI Studio']}, **input_message.info, @@ -15,3 +15,8 @@ class LargeResourceConsumptionException(Exception): ... class DeploymentDisabled(Exception): def __str__(self): return _('The model is currently disabled. Please try again later.') + + +class ModelTimeoutError(Exception): + def __str__(self): + return _('The model is not responding')