LilRg commited on
Commit
9f5c642
·
verified ·
1 Parent(s): 3066736

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -21
app.py CHANGED
@@ -19,6 +19,7 @@ YOUR_APP_NAME = "MonChatbot"
19
  # ID de l'étudiant
20
  #student_id = 34
21
 
 
22
  def getParams(x, request: gr.Request):
23
  params = request.query_params
24
 
@@ -219,7 +220,8 @@ def get_enterprise_descriptions():
219
  (
220
  record['fields'].get('Recruteur / Entreprise'),
221
  record['fields'].get('Compétences requises'),
222
- record['fields'].get('ID_Offre')
 
223
  )
224
  for record in data['records']
225
  ]
@@ -266,7 +268,7 @@ def compare_skills_ai(student_skills, enterprise_skills):
266
  logger.error(f"Erreur lors de l'appel API: {str(e)}")
267
  return f"Erreur lors de l'analyse des compétences : {str(e)}"
268
 
269
- def update_compatibility_table(student_id, skill_assessment, enterprise_skills, offer_id, compatibility_rate, student_name, student_mail):
270
  url = f"https://api.airtable.com/v0/{AIRTABLE_BASE_ID}/TauxCompatibilité"
271
  headers = {
272
  "Authorization": f"Bearer {AIRTABLE_API_KEY}",
@@ -281,7 +283,9 @@ def update_compatibility_table(student_id, skill_assessment, enterprise_skills,
281
  "DescriptionOffre": enterprise_skills,
282
  "Taux de compatibilité" : compatibility_rate,
283
  "Nom": student_name,
284
- "EmailEtudiant": student_mail
 
 
285
  }
286
  }
287
 
@@ -346,10 +350,10 @@ def chatbot_conversation(message, history, request: gr.Request):
346
  enterprise_descriptions = get_enterprise_descriptions()
347
  results = []
348
  delete_compatibility_records(student_id)
349
- for enterprise_name, enterprise_desc, offer_id in enterprise_descriptions:
350
  analysis = compare_skills_ai(updated_skills, enterprise_desc)
351
 
352
- add_response = update_compatibility_table(student_id, updated_skills, enterprise_desc, offer_id, analysis, student_name, student_mail)
353
 
354
  results.append(f"Entreprise : {enterprise_name}\n{add_response}")
355
 
@@ -367,22 +371,11 @@ def validate_update(updated_skills, request: gr.Request):
367
 
368
  # Création de l'interface
369
  with gr.Blocks() as demo:
370
- gr.HTML("""
371
- <style>
372
- #scroll-container {
373
- max-height: 80vh; /* Limite la hauteur du conteneur */
374
- overflow-y: auto; /* Permet le défilement vertical */
375
- padding: 20px; /* Optionnel : ajoute un peu d'espace autour */
376
- }
377
- </style>
378
- """)
379
- with gr.Row(elem_id="scroll-container"):
380
- with gr.Column(scale=1):
381
- chatbot = gr.Chatbot(label="Chatbot", elem_id="chatbot") # Chatbot pour la conversation
382
- msg = gr.Textbox(label="Message", placeholder="Tapez votre message ici...") # Champ de texte pour envoyer des messages
383
- skill_assessment_output = gr.Textbox(label="Compétences actuelles", interactive=False) # Sortie des compétences
384
- validate_button = gr.Button("Valider la mise à jour") # Bouton pour valider la mise à jour
385
- validation_output = gr.Textbox(label="Résultat de la mise à jour", interactive=False)
386
 
387
 
388
 
 
19
  # ID de l'étudiant
20
  #student_id = 34
21
 
22
+
23
  def getParams(x, request: gr.Request):
24
  params = request.query_params
25
 
 
220
  (
221
  record['fields'].get('Recruteur / Entreprise'),
222
  record['fields'].get('Compétences requises'),
223
+ record['fields'].get('ID_Offre'),
224
+ record['fields'].get('email')
225
  )
226
  for record in data['records']
227
  ]
 
268
  logger.error(f"Erreur lors de l'appel API: {str(e)}")
269
  return f"Erreur lors de l'analyse des compétences : {str(e)}"
270
 
271
+ def update_compatibility_table(student_id, skill_assessment, enterprise_skills, offer_id, compatibility_rate, student_name, student_mail, emailEntreprise, enterprise_name):
272
  url = f"https://api.airtable.com/v0/{AIRTABLE_BASE_ID}/TauxCompatibilité"
273
  headers = {
274
  "Authorization": f"Bearer {AIRTABLE_API_KEY}",
 
283
  "DescriptionOffre": enterprise_skills,
284
  "Taux de compatibilité" : compatibility_rate,
285
  "Nom": student_name,
286
+ "EmailEtudiant": student_mail,
287
+ "EmailEntreprise": emailEntreprise,
288
+ "Nom_Recruteur_Entreprise": enterprise_name
289
  }
290
  }
291
 
 
350
  enterprise_descriptions = get_enterprise_descriptions()
351
  results = []
352
  delete_compatibility_records(student_id)
353
+ for enterprise_name, enterprise_desc, offer_id, emailEntreprise in enterprise_descriptions:
354
  analysis = compare_skills_ai(updated_skills, enterprise_desc)
355
 
356
+ add_response = update_compatibility_table(student_id, updated_skills, enterprise_desc, offer_id, analysis, student_name, student_mail, emailEntreprise, enterprise_name)
357
 
358
  results.append(f"Entreprise : {enterprise_name}\n{add_response}")
359
 
 
371
 
372
  # Création de l'interface
373
  with gr.Blocks() as demo:
374
+ chatbot = gr.Chatbot(label="Chatbot", elem_id="chatbot")
375
+ msg = gr.Textbox(label="Message")
376
+ skill_assessment_output = gr.Textbox(label="Compétences actuelles", interactive=False)
377
+ validate_button = gr.Button("Valider la mise à jour") # Nouveau bouton pour valider
378
+ validation_output = gr.Textbox(label="Résultat de la mise à jour", interactive=False) # Nouveau bloc pour afficher le résultat
 
 
 
 
 
 
 
 
 
 
 
379
 
380
 
381