Компонент Gradio Image() для загрузки изображений со случайными именамиPython

Программы на Python
Ответить
Anonymous
 Компонент Gradio Image() для загрузки изображений со случайными именами

Сообщение Anonymous »

У меня есть 3 gr.Image(), где они выдают результат только тогда, когда происходит вывод LLM.

Код: Выделить всё

img1 = gr.Image(
label="Generated Image",
type="pil",
format="png",
interactive=False,
show_share_button=False,
elem_classes="generated-image"
)
Вызов API вывода выглядит примерно так:

Код: Выделить всё

def inference_with_timer(model_key, prompt, api_key):
API_URL = models[model_key]
headers = {"Authorization": f"Bearer {api_key}"}
payload = {"inputs": prompt}
try:
start_time = time.time()
response = requests.post(API_URL, headers=headers, json=payload)
response.raise_for_status()
elapsed_time = round(time.time() - start_time, 2)
image = Image.open(BytesIO(response.content))
return image, f"{elapsed_time}s"
except Exception as e:
return str(e), "Error"
Встроенная кнопка загрузки в компоненте gr.Image() имеет имя по умолчанию: «image.{ext}». Я хочу, чтобы оно было случайным после каждого вывода. Как это сделать?
Некоторые моменты, на которые следует обратить внимание:
  • Кнопка загрузки на каждом блоке изображения отсутствует при самой первой загрузке.
  • Кнопка загрузки на первом блоке изображения может присутствовать, а два других могут отсутствовать (как в № 1)
    Изображение
  • В каждом блоке изображения может быть 3 кнопки загрузки
  • После первого вывода кнопка загрузки будет присутствовать, пока система может запросить другой вывод
Изображение

Мне нужно обновить атрибут загрузки трех разных тегов привязки только при появлении нового вывода.
Изображение

Что я пробовал до сих пор
Я пробовал использовать собственный Javascript, но, поскольку я не профессиональный программист на Python, не могу понять, как позволить JS понять, пришел ли вывод или нет, или пришел с успешным выводом. Потому что даже при неудачном ответе/выводе атрибут src имеет значение:

Код: Выделить всё

[img]https://mayeenulislam-imagen.hf.space/gradio_api/file=/home/user/app/500 Server Error: Internal Server Error for url: https:/api-inference.huggingface.co/models/black-forest-labs/FLUX.1-schnell[/img]
    alt=""
loading="lazy"
class="svelte-1pijsyv"
>
Поэтому мне нужна помощь экспертов.

Подробнее здесь: https://stackoverflow.com/questions/792 ... ndom-names
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»