Rooni commited on
Commit
0fbbb6a
·
verified ·
1 Parent(s): 8513f71

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -29
app.py CHANGED
@@ -56,35 +56,22 @@ def process_image_and_text(image, text):
56
  api_name="/predict"
57
  )
58
 
59
- try:
60
- result = client.predict(image=image_url, text=text, api_name="/predict")
61
-
62
- # Важная проверка: если API вернул url, то загружаем его
63
- if result and 'url' in result:
64
- try:
65
- response = requests.get(result['url'], stream=True)
66
- response.raise_for_status()
67
- img = Image.open(response.raw)
68
- return img
69
- except requests.exceptions.RequestException as e:
70
- print(f"Ошибка при загрузке изображения по URL: {e}")
71
- return None
72
- elif result and 'path' in result:
73
- try:
74
- return Image.open(result['path'])
75
- except FileNotFoundError:
76
- print(f"Файл не найден по пути: {result['path']}")
77
- return None
78
- else:
79
- print("API вернул неожиданный результат:", result)
80
- return None
81
-
82
- except (KeyError, TypeError) as e:
83
- print(f"Ошибка при обработке результата API: {e}, результат: {result}")
84
- return None
85
- except Exception as e: # Добавляем общий обработчик ошибок
86
- print(f"Непредвиденная ошибка: {e}")
87
- return None
88
 
89
 
90
  # Интерфейс Gradio с использованием gr.Blocks
 
56
  api_name="/predict"
57
  )
58
 
59
+ if result is None:
60
+ return gr.update(value=None) # Важно: обновляем на None, если нет результата
61
+ elif isinstance(result, Image.Image):
62
+ return gr.update(value=result)
63
+ elif isinstance(result, str) and result.startswith("/tmp"):
64
+ try:
65
+ return gr.update(value=Image.open(result))
66
+ except FileNotFoundError:
67
+ print(f"Файл не найден по пути: {result}")
68
+ return gr.update(value=None)
69
+ except Exception as e:
70
+ print(f"Ошибка при открытии файла: {e}, путь: {result}")
71
+ return gr.update(value=None)
72
+ else:
73
+ print(f"Неизвестный тип результата: {type(result)}, данные: {result}")
74
+ return gr.update(value=None)
 
 
 
 
 
 
 
 
 
 
 
 
 
75
 
76
 
77
  # Интерфейс Gradio с использованием gr.Blocks