Docfile commited on
Commit
7ede914
·
verified ·
1 Parent(s): 5ef6ec5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -48
app.py CHANGED
@@ -1,11 +1,9 @@
1
  import gradio as gr
2
  import google.generativeai as genai
3
  import os
4
- from PIL import Image
5
 
6
  # Configurez l'API Gemini
7
- genai.configure(api_key=os.environ["GEMINI_API_KEY"])
8
-
9
  safety_settings = [
10
  {"category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_NONE"},
11
  {"category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_NONE"},
@@ -13,63 +11,38 @@ safety_settings = [
13
  {"category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "BLOCK_NONE"},
14
  ]
15
 
16
- # Définissez le modèle
17
- model = genai.GenerativeModel("gemini-2.0-flash-exp", safety_settings=safety_settings)
18
 
19
  # Chemin vers le fichier PDF (assurez-vous qu'il est correct)
20
  PDF_FILE_PATH = "okoumba-nkoghe-elo_compress.pdf"
21
 
22
- # Uploadez le fichier PDF
23
  sample_file = genai.upload_file(PDF_FILE_PATH)
24
-
25
- def process_input(prompt, image_file=None):
26
- """
27
- Traite le fichier PDF et/ou l'image, et génère une réponse basée sur l'invite.
28
-
29
- :param prompt: La question ou l'invite de l'utilisateur
30
- :param pdf_file: Le fichier PDF uploadé (optionnel)
31
- :param image_file: L'image uploadée (optionnelle)
32
- :return: La réponse générée
33
- """
34
  try:
35
- # Préparez les entrées pour le modèle
36
- contents = []
37
-
38
- # Ajoutez le PDF s'il est présent
39
- if sample_file:
40
- contents.append(sample_file)
41
- contents.append("\n\n")
42
-
43
- # Ajoutez l'image si elle est uploadée
44
- if image_file:
45
- # Convertissez l'image de Gradio en objet PIL
46
- pil_image = Image.fromarray(image_file)
47
- # Convertissez l'image PIL en format compatible avec Gemini
48
- gemini_image = genai.upload_file(pil_image)
49
- contents.append(gemini_image)
50
- contents.append("\n\n")
51
-
52
- # Ajoutez le texte de l'invite
53
- contents.append(prompt + " répond en français.")
54
-
55
- # Générez le contenu
56
- result = model.generate_content(contents)
57
 
 
 
 
 
 
 
 
 
 
58
  return result.text
59
  except Exception as e:
60
- return f"Une erreur s'est produite : {str(e)}"
61
 
62
- # Créez l'interface Gradio avec upload d'images optionnel
63
  iface = gr.Interface(
64
- fn=process_input,
65
- inputs=[
66
- gr.Textbox(label="Question", placeholder="Posez une question sur le roman...", lines=4),
67
- #gr.File(label="PDF", type="file", visible=False), # PDF est déjà uploadé, donc caché
68
- gr.Image(label="Image (optionnelle)", type="numpy", optional=True)
69
- ],
70
- outputs=gr.Textbox(label="Résultat"),
71
  title="Mariam elo la fille du soleil",
72
- description="Triché !! on va encore triché ohh !!!!"
73
  )
74
 
75
  # Lancez l'application
 
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=os.environ["GEMINI_API_KEY"]) # Remplacez "VOTRE_CLÉ_API" par votre clé API Gemini
 
7
  safety_settings = [
8
  {"category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_NONE"},
9
  {"category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_NONE"},
 
11
  {"category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "BLOCK_NONE"},
12
  ]
13
 
14
+ # Définissez le modèle
15
+ model = genai.GenerativeModel("gemini-2.0-flash-exp",safety_settings=safety_settings)
16
 
17
  # Chemin vers le fichier PDF (assurez-vous qu'il est correct)
18
  PDF_FILE_PATH = "okoumba-nkoghe-elo_compress.pdf"
19
 
 
20
  sample_file = genai.upload_file(PDF_FILE_PATH)
21
+ def process_pdf(prompt):
22
+ """Traite le fichier PDF local et génère une réponse basée sur l'invite."""
 
 
 
 
 
 
 
 
23
  try:
24
+ # Assurez-vous que le fichier PDF existe
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
 
26
+ # Générez le contenu à l'aide du modèle Gemini
27
+ result = model.generate_content([
28
+ sample_file,
29
+ "\n\n",
30
+ prompt + " répond en français."
31
+ ])
32
+
33
+ print(prompt)
34
+ #genai.delete_file(sample_file.name)
35
  return result.text
36
  except Exception as e:
37
+ return "Une erreur s'est produite : "
38
 
39
+ # Créez l'interface Gradio
40
  iface = gr.Interface(
41
+ fn=process_pdf,
42
+ inputs=gr.Textbox(label="Question", placeholder="Posez une question sur le roman...",lines=4),
43
+ outputs=gr.Textbox(label="Résultat"),
 
 
 
 
44
  title="Mariam elo la fille du soleil",
45
+ description=" Triché !!!! On va encore triché haannnn "
46
  )
47
 
48
  # Lancez l'application