Docfile commited on
Commit
4e3336f
·
verified ·
1 Parent(s): 7ede914

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +31 -24
app.py CHANGED
@@ -2,8 +2,8 @@ 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,39 +11,46 @@ safety_settings = [
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
49
  iface.launch()
 
2
  import google.generativeai as genai
3
  import os
4
 
5
+ # Configuration de l'API Gemini
6
+ genai.configure(api_key=os.environ["GEMINI_API_KEY"])
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éfinition du modèle
15
+ model = genai.GenerativeModel("gemini-2.0-flash-exp", safety_settings=safety_settings)
16
 
17
+ # Chemin vers le fichier PDF
18
  PDF_FILE_PATH = "okoumba-nkoghe-elo_compress.pdf"
 
19
  sample_file = genai.upload_file(PDF_FILE_PATH)
20
+
21
+ def process_input(prompt, image):
22
+ """Traite le texte et l'image optionnelle et génère une réponse."""
23
  try:
24
+ content = [sample_file, "\n\n", prompt + " répond en français."]
25
+
26
+ # Ajout de l'image au contenu si elle est fournie
27
+ if image is not None:
28
+ img_file = genai.upload_file(image)
29
+ content.insert(1, img_file)
30
+
31
+ # Génération du contenu
32
+ result = model.generate_content(content)
33
 
 
 
 
 
 
 
 
34
  print(prompt)
 
35
  return result.text
36
  except Exception as e:
37
+ return f"Une erreur s'est produite : {str(e)}"
38
 
39
+ # Création de l'interface Gradio
40
  iface = gr.Interface(
41
+ fn=process_input,
42
+ inputs=[
43
+ gr.Textbox(label="Question", placeholder="Posez une question sur le roman...", lines=4),
44
+ gr.Image(label="Image (facultative)", type="filepath")
45
+ ],
46
+ outputs=gr.Textbox(label="Résultat"),
47
  title="Mariam elo la fille du soleil",
48
+ description="Triché !!!! On va encore triché haannnn",
49
+ examples=[
50
+ ["Qui est le personnage principal ?", None],
51
+ ["Résume moi l'histoire", None]
52
+ ]
53
  )
54
 
55
+ # Lancement de l'application
56
  iface.launch()