wilwork commited on
Commit
0ee1ef8
·
verified ·
1 Parent(s): 42a6be5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +6 -10
app.py CHANGED
@@ -9,16 +9,15 @@ model = AutoModel.from_pretrained('jinaai/jina-clip-v1', trust_remote_code=True)
9
  def compute_similarity(input1_type, input1_text, input1_image, input2_type, input2_text, input2_image):
10
  """Computes similarity for Text-Text, Image-Image, or Text-Image comparisons."""
11
 
12
- # Ensure images are valid (Gradio may pass `False` instead of `None`)
13
  input1_image = None if isinstance(input1_image, bool) else input1_image
14
  input2_image = None if isinstance(input2_image, bool) else input2_image
15
 
16
- # Handle empty inputs properly
17
  if input1_type == "Text" and not input1_text.strip():
18
  return "Error: Input 1 (Text) is empty!"
19
  if input1_type == "Image" and input1_image is None:
20
  return "Error: Please upload a valid image for Input 1!"
21
-
22
  if input2_type == "Text" and not input2_text.strip():
23
  return "Error: Input 2 (Text) is empty!"
24
  if input2_type == "Image" and input2_image is None:
@@ -30,18 +29,15 @@ def compute_similarity(input1_type, input1_text, input1_image, input2_type, inpu
30
  emb1 = model.encode_text([input1_text])
31
  emb2 = model.encode_text([input2_text])
32
  elif input1_type == "Image" and input2_type == "Image":
33
- emb1 = model.encode_image([Image.fromarray(input1_image)]) if input1_image is not None else None
34
- emb2 = model.encode_image([Image.fromarray(input2_image)]) if input2_image is not None else None
35
  else:
36
  if input1_type == "Image":
37
- emb1 = model.encode_image([Image.fromarray(input1_image)]) if input1_image is not None else None
38
  emb2 = model.encode_text([input2_text])
39
  else:
40
  emb1 = model.encode_text([input1_text])
41
- emb2 = model.encode_image([Image.fromarray(input2_image)]) if input2_image is not None else None
42
-
43
- if emb1 is None or emb2 is None:
44
- return "Error: Failed to process one or both inputs."
45
 
46
  similarity_score = (emb1 @ emb2.T).item()
47
  return similarity_score
 
9
  def compute_similarity(input1_type, input1_text, input1_image, input2_type, input2_text, input2_image):
10
  """Computes similarity for Text-Text, Image-Image, or Text-Image comparisons."""
11
 
12
+ # Ensure images are valid (Gradio sometimes sends `False` instead of `None`)
13
  input1_image = None if isinstance(input1_image, bool) else input1_image
14
  input2_image = None if isinstance(input2_image, bool) else input2_image
15
 
16
+ # Validate inputs
17
  if input1_type == "Text" and not input1_text.strip():
18
  return "Error: Input 1 (Text) is empty!"
19
  if input1_type == "Image" and input1_image is None:
20
  return "Error: Please upload a valid image for Input 1!"
 
21
  if input2_type == "Text" and not input2_text.strip():
22
  return "Error: Input 2 (Text) is empty!"
23
  if input2_type == "Image" and input2_image is None:
 
29
  emb1 = model.encode_text([input1_text])
30
  emb2 = model.encode_text([input2_text])
31
  elif input1_type == "Image" and input2_type == "Image":
32
+ emb1 = model.encode_image([Image.fromarray(input1_image.astype("uint8"))])
33
+ emb2 = model.encode_image([Image.fromarray(input2_image.astype("uint8"))])
34
  else:
35
  if input1_type == "Image":
36
+ emb1 = model.encode_image([Image.fromarray(input1_image.astype("uint8"))])
37
  emb2 = model.encode_text([input2_text])
38
  else:
39
  emb1 = model.encode_text([input1_text])
40
+ emb2 = model.encode_image([Image.fromarray(input2_image.astype("uint8"))])
 
 
 
41
 
42
  similarity_score = (emb1 @ emb2.T).item()
43
  return similarity_score