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