NoahH7 commited on
Commit
3500bf9
·
verified ·
1 Parent(s): dbc93d1

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +29 -15
app.py CHANGED
@@ -19,6 +19,22 @@ def send_email(api_key, inbox_id, subject, content, from_email, to_email):
19
  response = requests.post(url, headers=headers, json=data)
20
  return response.status_code, response.json()
21
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
  # URL de l'image d'exemple
23
  url = "https://www.saint-genes.com/wp-content/uploads/2019/10/DSC05405.jpg"
24
  image = Image.open(requests.get(url, stream=True).raw)
@@ -35,31 +51,29 @@ outputs = model(**inputs)
35
  target_sizes = torch.tensor([image.size[::-1]])
36
  results = processor.post_process_object_detection(outputs, target_sizes=target_sizes, threshold=0.9)[0]
37
 
38
- # Afficher les résultats
39
  persons = 0
40
  for score, label, box in zip(results["scores"], results["labels"], results["boxes"]):
41
- box = [round(i, 2) for i in box.tolist()]
42
- print(
43
- f"Detected {model.config.id2label[label.item()]} with confidence "
44
- f"{round(score.item(), 3)} at location {box}"
45
- )
46
  if model.config.id2label[label.item()] == 'person':
47
- persons += 1 # Incrémentation correcte
48
-
49
- print(f"Total persons detected: {persons}")
50
 
51
- # Définir les variables pour l'email
52
  expected_number_of_persons = 10 # Nombre attendu de personnes
53
  absents = expected_number_of_persons - persons
 
 
 
 
 
 
 
54
  email_subject = "Notification d'absents"
55
- email_content = f"Le nombre de personnes présentes est de {persons}. Le nombre d'absents est de {absents}."
 
56
 
57
  # Clés API Mailtrap et informations d'email
58
- api_key = "0dfd557dc980d49b306ae8647a9fa585"
59
  inbox_id = "3128145"
60
- from_email = "your-email@example.com"
61
- to_email = "recipient@example.com"
62
 
63
  # Envoyer l'email
64
- status_code, response_json = send_email(api_key, inbox_id, email_subject, email_content, from_email, to_email)
65
  print(f"Email sent with status code {status_code}: {response_json}")
 
19
  response = requests.post(url, headers=headers, json=data)
20
  return response.status_code, response.json()
21
 
22
+ # Fonction pour générer du texte avec Gemini
23
+ def generate_text_with_gemini(api_key, prompt):
24
+ url = "https://api.gemini.com/v1/generate" # Remplacez par l'URL correcte de l'API Gemini
25
+ headers = {
26
+ "Authorization": f"Bearer {api_key}",
27
+ "Content-Type": "application/json"
28
+ }
29
+ data = {
30
+ "prompt": prompt,
31
+ "max_tokens": 150, # Ajustez en fonction de vos besoins
32
+ "temperature": 0.7 # Ajustez en fonction de vos besoins
33
+ }
34
+ response = requests.post(url, headers=headers, json=data)
35
+ response_data = response.json()
36
+ return response_data.get('text', '')
37
+
38
  # URL de l'image d'exemple
39
  url = "https://www.saint-genes.com/wp-content/uploads/2019/10/DSC05405.jpg"
40
  image = Image.open(requests.get(url, stream=True).raw)
 
51
  target_sizes = torch.tensor([image.size[::-1]])
52
  results = processor.post_process_object_detection(outputs, target_sizes=target_sizes, threshold=0.9)[0]
53
 
54
+ # Compter le nombre de personnes détectées
55
  persons = 0
56
  for score, label, box in zip(results["scores"], results["labels"], results["boxes"]):
 
 
 
 
 
57
  if model.config.id2label[label.item()] == 'person':
58
+ persons += 1
 
 
59
 
 
60
  expected_number_of_persons = 10 # Nombre attendu de personnes
61
  absents = expected_number_of_persons - persons
62
+
63
+ # Générer le contenu de l'email avec Gemini
64
+ prompt = f"Notifier de l'absence: Le nombre de personnes présentes est de {persons}. Le nombre d'absents est de {absents}."
65
+ gemini_api_key = "AIzaSyCJVUr-76I4TL42X98d9U0THbRD3MKlB38"
66
+ email_content = generate_text_with_gemini(gemini_api_key, prompt)
67
+
68
+ # Définir les variables pour l'email
69
  email_subject = "Notification d'absents"
70
+ from_email = "your-email@example.com"
71
+ to_email = "recipient@example.com"
72
 
73
  # Clés API Mailtrap et informations d'email
74
+ mailtrap_api_key = "0dfd557dc980d49b306ae8647a9fa585"
75
  inbox_id = "3128145"
 
 
76
 
77
  # Envoyer l'email
78
+ status_code, response_json = send_email(mailtrap_api_key, inbox_id, email_subject, email_content, from_email, to_email)
79
  print(f"Email sent with status code {status_code}: {response_json}")