import gradio as gr from PIL import Image import google.generativeai as genai import time import pathlib # Configure the API key directly in the script API_KEY = 'AIzaSyDnnYRJ49VUm_2FiKhNubv85g6KCDjcNSc' genai.configure(api_key=API_KEY) # Generation configuration generation_config = { "temperature": 1, "top_p": 0.95, "top_k": 64, "max_output_tokens": 8192, "response_mime_type": "text/plain", } # Safety settings safety_settings = [ {"category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_NONE"}, {"category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_NONE"}, {"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "threshold": "BLOCK_NONE"}, {"category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "BLOCK_NONE"}, ] # Model name MODEL_NAME = "gemini-1.5-pro-latest" # Create the model model = genai.GenerativeModel( model_name=MODEL_NAME, safety_settings=safety_settings, generation_config=generation_config, ) e ="" # Fonction pour générer le contenu async def generate_content(pro,image): global e if not image: response = model.generate_content(pro) print(response) e = response.text print(e) else: ''' print(f"Uploading file...") uploaded_video = genai.upload_file(path=image) print(f"Completed upload: {uploaded_video.uri}") while uploaded_video.state.name == "PROCESSING": print("Waiting for video to be processed.") time.sleep(2) uploaded_video = genai.get_file(uploaded_video.name) if uploaded_video.state.name == "FAILED": raise ValueError(uploaded_video.state.name) print(f"Video processing complete: " + uploaded_video.uri) print("Making LLM inference request...") ''' image_input = { 'mime_type': 'image/jpeg', 'data': pathlib.Path(image).read_bytes() } response = model.generate_content( [prompt, image_input], request_options={"timeout": 600} ) #genai.delete_file(uploaded_video.name) #print(f"Deleted file {uploaded_video.uri}") e = response return e markdown = r""" e """.format(e) # Interface Gradio iface = gr.Interface(fn=generate_content, inputs=[gr.Textbox(),gr.Image(type='pil')], outputs= gr.Markdown(markdown, latex_delimiters=[{ "left":"$$", "right":"$$", "display": True }])) iface.launch()