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