import gradio as gr import google.generativeai as genai import os # Configurez l'API Gemini genai.configure(api_key=os.environ["GEMINI_API_KEY"]) # Remplacez "VOTRE_CLÉ_API" par votre clé API Gemini 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"}, ] # Définissez le modèle model = genai.GenerativeModel("gemini-2.0-flash-exp",safety_settings=safety_settings) # Chemin vers le fichier PDF (assurez-vous qu'il est correct) PDF_FILE_PATH = "okoumba-nkoghe-elo_compress.pdf" def process_pdf(prompt): """Traite le fichier PDF local et génère une réponse basée sur l'invite.""" try: # Assurez-vous que le fichier PDF existe if not os.path.exists(PDF_FILE_PATH): raise FileNotFoundError(f"Le fichier PDF n'a pas été trouvé : {PDF_FILE_PATH}") # Générez le contenu à l'aide du modèle Gemini result = model.generate_content([ genai.upload_file(PDF_FILE_PATH), "\n\n", prompt ]) return result.text except Exception as e: return f"Une erreur s'est produite : {e}" # Créez l'interface Gradio iface = gr.Interface( fn=process_pdf, inputs=gr.Textbox(label="Prompt", placeholder="Posez une question sur le PDF..."), outputs=gr.Textbox(label="Résultat"), title="Assistant PDF avec Gemini 1.5 Flash", description="Posez des questions sur le fichier livre.pdf déjà présent dans le répertoire.", ) # Lancez l'application iface.launch()