leilaaaaa commited on
Commit
55a3203
·
verified ·
1 Parent(s): d7b0b06

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -9
app.py CHANGED
@@ -7,12 +7,16 @@ from huggingface_hub import InferenceClient
7
  # Initialize the Hugging Face Inference Client
8
  client = InferenceClient("microsoft/llava-med-7b-delta")
9
 
10
- # Function to encode image as base64
11
- def image_to_base64(image):
12
- buffered = io.BytesIO()
13
- image.save(buffered, format="PNG")
14
- img_str = base64.b64encode(buffered.getvalue()).decode('utf-8')
15
- return img_str
 
 
 
 
16
 
17
  # Function to interact with LLAVA model
18
  def respond(
@@ -35,13 +39,13 @@ def respond(
35
  messages.append({"role": "user", "content": message})
36
 
37
  if image:
38
- # Convert image(s) to base64
39
  if isinstance(image, Image.Image):
40
- image_b64 = image_to_base64(image)
41
  messages.append({"role": "user", "content": "Image uploaded", "image": image_b64})
42
  else:
43
  for img in image:
44
- image_b64 = image_to_base64(img)
45
  messages.append({"role": "user", "content": "Image uploaded", "image": image_b64})
46
 
47
  # Call Hugging Face model for response
 
7
  # Initialize the Hugging Face Inference Client
8
  client = InferenceClient("microsoft/llava-med-7b-delta")
9
 
10
+ # Custom Field for Base64 Encoded Image
11
+ class Base64ImageField(gr.Field):
12
+ def __init__(self, *args, **kwargs):
13
+ super().__init__(*args, **kwargs)
14
+
15
+ def preprocess(self, image):
16
+ buffered = io.BytesIO()
17
+ image.save(buffered, format="PNG")
18
+ img_str = base64.b64encode(buffered.getvalue()).decode('utf-8')
19
+ return img_str
20
 
21
  # Function to interact with LLAVA model
22
  def respond(
 
39
  messages.append({"role": "user", "content": message})
40
 
41
  if image:
42
+ # Convert image(s) to base64 using the custom field
43
  if isinstance(image, Image.Image):
44
+ image_b64 = Base64ImageField().preprocess(image)
45
  messages.append({"role": "user", "content": "Image uploaded", "image": image_b64})
46
  else:
47
  for img in image:
48
+ image_b64 = Base64ImageField().preprocess(img)
49
  messages.append({"role": "user", "content": "Image uploaded", "image": image_b64})
50
 
51
  # Call Hugging Face model for response