Project / app.py
Yanqing0327's picture
Update app.py
54a90f5 verified
import gradio as gr
import requests
# Your ngrok URL (ensure it is correct)
API_URL = "https://e961-169-233-7-2.ngrok-free.app/predict/"
def chat(image, text):
"""Call the local LLaVA server API"""
if image is None:
return "Please upload an image."
# Save the image as a temporary file
image.save("temp.jpg")
files = {"image": open("temp.jpg", "rb")}
data = {"text": text}
try:
response = requests.post(API_URL, files=files, data=data)
return response.json().get("response", "Error: Unable to parse response.")
except Exception as e:
return f"Request failed: {str(e)}"
# Create Gradio interface
iface = gr.Interface(
fn=chat,
inputs=[gr.Image(type="pil"), gr.Textbox(lines=2, placeholder="Enter your question")],
outputs=gr.Textbox(),
title="LLaVA Visual Chatbot",
description="Upload an image and enter a question. LLaVA will provide an answer.",
)
# Launch Gradio
iface.launch(server_name="0.0.0.0", server_port=7860)