Spaces:
Sleeping
Sleeping
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() |