Spaces:
Sleeping
Sleeping
import streamlit as st | |
import google.generativeai as genai | |
import numpy as np | |
import PIL.Image | |
# Configure the Generative AI API | |
genai.configure(api_key="Api_key") | |
# Define the function that handles the model's response | |
def ImageChat(image, prompt): | |
# Load model | |
model = genai.GenerativeModel("gemini-1.5-flash") | |
# Check if the image is a numpy array and convert to PIL format if necessary | |
if isinstance(image, np.ndarray): | |
img = PIL.Image.fromarray(image) | |
else: | |
img = PIL.Image.open(image) | |
# Generate a response from the model | |
response = model.generate_content([prompt, img]) | |
return response.text | |
# Set up the Streamlit interface | |
st.title("Image Chat") | |
st.write("Upload an image and enter a prompt to get a response.") | |
# File uploader for image input | |
uploaded_image = st.file_uploader("Upload an Image", type=["jpg", "jpeg", "png"]) | |
# Text input for prompt | |
prompt = st.text_input("Enter your prompt:") | |
# When both an image and a prompt are provided, generate a response | |
if uploaded_image and prompt: | |
# Convert the uploaded image to a numpy array | |
image = np.array(PIL.Image.open(uploaded_image)) | |
# Generate and display the response | |
response = ImageChat(image, prompt) | |
st.write("Response:", response) | |