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() |