Spaces:
Sleeping
Sleeping
Create app.py
Browse files
app.py
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import gradio as gr
|
| 2 |
+
import google.generativeai as genai
|
| 3 |
+
import os
|
| 4 |
+
|
| 5 |
+
# Configurez l'API Gemini
|
| 6 |
+
genai.configure(api_key="VOTRE_CLÉ_API") # Remplacez "VOTRE_CLÉ_API" par votre clé API Gemini
|
| 7 |
+
|
| 8 |
+
# Définissez le modèle
|
| 9 |
+
model = genai.GenerativeModel("gemini-1.5-flash")
|
| 10 |
+
|
| 11 |
+
# Chemin vers le fichier PDF (assurez-vous qu'il est correct)
|
| 12 |
+
PDF_FILE_PATH = "livre.pdf"
|
| 13 |
+
|
| 14 |
+
def process_pdf(prompt):
|
| 15 |
+
"""Traite le fichier PDF local et génère une réponse basée sur l'invite."""
|
| 16 |
+
try:
|
| 17 |
+
# Assurez-vous que le fichier PDF existe
|
| 18 |
+
if not os.path.exists(PDF_FILE_PATH):
|
| 19 |
+
raise FileNotFoundError(f"Le fichier PDF n'a pas été trouvé : {PDF_FILE_PATH}")
|
| 20 |
+
|
| 21 |
+
# Générez le contenu à l'aide du modèle Gemini
|
| 22 |
+
result = model.generate_content([
|
| 23 |
+
genai.upload_file(PDF_FILE_PATH),
|
| 24 |
+
"\n\n",
|
| 25 |
+
prompt
|
| 26 |
+
])
|
| 27 |
+
return result.text
|
| 28 |
+
except Exception as e:
|
| 29 |
+
return f"Une erreur s'est produite : {e}"
|
| 30 |
+
|
| 31 |
+
# Créez l'interface Gradio
|
| 32 |
+
iface = gr.Interface(
|
| 33 |
+
fn=process_pdf,
|
| 34 |
+
inputs=gr.Textbox(label="Prompt", placeholder="Posez une question sur le PDF..."),
|
| 35 |
+
outputs=gr.Textbox(label="Résultat"),
|
| 36 |
+
title="Assistant PDF avec Gemini 1.5 Flash",
|
| 37 |
+
description="Posez des questions sur le fichier livre.pdf déjà présent dans le répertoire.",
|
| 38 |
+
)
|
| 39 |
+
|
| 40 |
+
# Lancez l'application
|
| 41 |
+
iface.launch()
|