File size: 1,419 Bytes
8c4ab6b
 
 
 
 
 
 
 
 
 
 
 
 
90f845c
 
 
8c4ab6b
90f845c
 
 
 
 
 
 
 
8c4ab6b
 
 
 
90f845c
 
 
8c4ab6b
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
from transformers import AutoModelForCausalLM, AutoTokenizer
from PIL import Image
import gradio as gr

# Load the model and tokenizer
model_id = "vikhyatk/moondream2"
revision = "2024-05-20"
model = AutoModelForCausalLM.from_pretrained(
    model_id, trust_remote_code=True, revision=revision
)
tokenizer = AutoTokenizer.from_pretrained(model_id, revision=revision)

def analyze_image_direct(image, question):
    # This is a placeholder function. You need to implement the logic based on your model's capabilities.
    # For demonstration, it returns a static response.
    return "This is a placeholder answer."

# Define custom CSS to make the interface purple
custom_css = """
body { background-color: #800080; }
button { background-color: #9932CC; color: white; }
textarea { background-color: #DDA0DD; color: black; }
"""

# Create Gradio interface with custom CSS for a purple theme
iface = gr.Interface(fn=analyze_image_direct,
                     inputs=[gr.Image(type="pil"), gr.Textbox(lines=2, placeholder="Enter your question here...")],
                     outputs='text',
                     title="Direct Image Question Answering",
                     description="Upload an image and ask a question about it directly using the model.",
                     theme="dark",  # Use the dark theme as a base
                     css=custom_css)  # Apply custom CSS

# Launch the interface
iface.launch()