import io import globales import herramientas import gradio_client from huggingface_hub import InferenceClient def genera_platillo_gpu(platillo): prompt = globales.previo + platillo print("Platillo enviado:", platillo) kwargs = { "prompt": prompt, "api_name": "/infer" } try: client = gradio_client.Client(globales.espacio, hf_token=globales.llave) result = client.predict(**kwargs # prompt=prompt, # negative_prompt="", # seed=42, # randomize_seed=True, # width=1024, # height=1024, # guidance_scale=3.5, # num_inference_steps=28, # api_name="/infer" ) #Cuando es GPU, debe de restar segundos disponibles de HF herramientas.restaSegundosGPU(globales.work_cost) print("Platillo generado:", platillo) print("Resultado regresado en result[0] es: ", result[0]) return result[0] except Exception as e: print("Excepción es: ", e) # Opción para regresar imagen genérica. # return "default.png" return '{"Error 500": e}' def genera_platillo_inference(platillo): print("Proveedor:", globales.proveedor) modelo_actual = herramientas.obtenModeloActual() #modelo = globales.inferencia modelo = modelo_actual print("Modelo:", modelo) prompt = globales.previo + platillo print("Platillo enviado:", platillo) client = InferenceClient( provider= globales.proveedor, api_key=globales.llave ) try: image = client.text_to_image( prompt, model=modelo ) except Exception as e: print("Excepción es: ", e) if "Gateway Time-out" in str(e): print("GATEWAY TIME-OUT 💀") modelo=globales.inferencia_backup #Escribe en txt el nuevo modelo. herramientas.modificaModeloActual(modelo) return f"Error: {e}" img_io = io.BytesIO() image.save(img_io, "PNG") img_io.seek(0) print("Platillo generado:", platillo) return img_io