gregoiregllt commited on
Commit
bf10376
·
1 Parent(s): 57d2857
Files changed (1) hide show
  1. app.py +12 -14
app.py CHANGED
@@ -123,40 +123,38 @@ def get_output(user_id: str = Form()):
123
  @app.post("/generate_keys")
124
  def generate_keys(symptoms: Symptoms):
125
  """
126
- Endpoint to generate keys based on user symptoms.
127
 
128
  Args:
129
- user_symptoms (List[str]): The list of user symptoms.
130
 
131
  Returns:
132
- JSONResponse: A response containing the generated keys and user ID.
133
  """
134
- def is_none(obj):
135
- return obj is None or (obj is not None and len(obj) == 0)
136
-
137
- # Call the key generation function
138
  clean_directory()
139
 
140
- if is_none(symptoms):
 
141
  return JSONResponse(
142
- status_code=400, content={"error": "Please submit your symptoms first."}
143
  )
144
 
145
- # Generate a random user ID
146
  user_id = np.random.randint(0, 2**32)
147
- print(f"Your user ID is: {user_id}....")
148
 
149
  client = FHEModelClient(path_dir=DEPLOYMENT_DIR, key_dir=KEYS_DIR / f"{user_id}")
150
  client.load()
151
 
152
- # Creates the private and evaluation keys on the client side
153
  client.generate_private_and_evaluation_keys()
154
 
155
- # Get the serialized evaluation keys
156
  serialized_evaluation_keys = client.get_serialized_evaluation_keys()
157
  assert isinstance(serialized_evaluation_keys, bytes)
158
 
159
- # Save the evaluation key
160
  evaluation_key_path = KEYS_DIR / f"{user_id}/evaluation_key"
161
  with evaluation_key_path.open("wb") as f:
162
  f.write(serialized_evaluation_keys)
 
123
  @app.post("/generate_keys")
124
  def generate_keys(symptoms: Symptoms):
125
  """
126
+ Endpoint pour générer des clés basées sur les symptômes de l'utilisateur.
127
 
128
  Args:
129
+ symptoms (Symptoms): Les symptômes de l'utilisateur.
130
 
131
  Returns:
132
+ JSONResponse: Réponse contenant les clés générées et l'ID utilisateur.
133
  """
134
+ # Appel de la fonction de nettoyage
 
 
 
135
  clean_directory()
136
 
137
+ # Vérification si la liste des symptômes est vide
138
+ if not symptoms.user_symptoms:
139
  return JSONResponse(
140
+ status_code=400, content={"error": "Veuillez soumettre vos symptômes en premier."}
141
  )
142
 
143
+ # Génération d'un ID utilisateur aléatoire
144
  user_id = np.random.randint(0, 2**32)
145
+ print(f"Votre ID utilisateur est : {user_id}....")
146
 
147
  client = FHEModelClient(path_dir=DEPLOYMENT_DIR, key_dir=KEYS_DIR / f"{user_id}")
148
  client.load()
149
 
150
+ # Création des clés privées et d'évaluation côté client
151
  client.generate_private_and_evaluation_keys()
152
 
153
+ # Récupération des clés d'évaluation sérialisées
154
  serialized_evaluation_keys = client.get_serialized_evaluation_keys()
155
  assert isinstance(serialized_evaluation_keys, bytes)
156
 
157
+ # Sauvegarde de la clé d'évaluation
158
  evaluation_key_path = KEYS_DIR / f"{user_id}/evaluation_key"
159
  with evaluation_key_path.open("wb") as f:
160
  f.write(serialized_evaluation_keys)