Update app.py
Browse files
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 |
-
#
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
|
|
|
|
|
|
|
|
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 =
|
41 |
messages.append({"role": "user", "content": "Image uploaded", "image": image_b64})
|
42 |
else:
|
43 |
for img in image:
|
44 |
-
image_b64 =
|
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
|