Update app.py
Browse files
app.py
CHANGED
|
@@ -436,42 +436,36 @@ function selectJob(jobId, el) {
|
|
| 436 |
demo.load(fn=_search, inputs=inputs, outputs=outputs, api_name=False)
|
| 437 |
|
| 438 |
def search_avps(query: str, threshold: float = 50) -> str:
|
| 439 |
-
|
| 440 |
-
|
| 441 |
-
|
| 442 |
-
|
| 443 |
-
|
| 444 |
-
|
| 445 |
-
|
| 446 |
-
|
| 447 |
-
|
| 448 |
-
|
| 449 |
-
-
|
| 450 |
-
|
| 451 |
-
|
| 452 |
-
- "
|
| 453 |
-
|
| 454 |
-
|
| 455 |
-
-
|
| 456 |
-
|
| 457 |
-
|
| 458 |
-
-
|
| 459 |
-
-
|
| 460 |
-
-
|
| 461 |
-
- url : page web de l'annonce (https://opt-nc.github.io/avps/{numero}/)
|
| 462 |
-
- url_markdown : texte brut Markdown de l'annonce, lisible directement par un LLM
|
| 463 |
-
(https://raw.githubusercontent.com/opt-nc/avps/refs/heads/main/data/{numero}.md)
|
| 464 |
-
- keywords : 3 mots-clés TF-IDF caractérisant l'annonce parmi le corpus
|
| 465 |
-
|
| 466 |
-
Args:
|
| 467 |
-
query: Description libre du profil ou intitulé de poste recherché
|
| 468 |
-
threshold: Score minimum de similarité en % entre 0 et 100 (défaut: 50)
|
| 469 |
-
|
| 470 |
-
Returns:
|
| 471 |
-
JSON array, 10 résultats max, triés par score décroissant
|
| 472 |
-
"""
|
| 473 |
|
| 474 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 475 |
import json
|
| 476 |
min_score = threshold / 100.0
|
| 477 |
|
|
|
|
| 436 |
demo.load(fn=_search, inputs=inputs, outputs=outputs, api_name=False)
|
| 437 |
|
| 438 |
def search_avps(query: str, threshold: float = 50) -> str:
|
| 439 |
+
"""
|
| 440 |
+
Recherche les Avis de Vacances de Poste (AVP) de l'OPT-NC
|
| 441 |
+
(Office des Postes et Télécommunications de Nouvelle-Calédonie).
|
| 442 |
+
|
| 443 |
+
Utilisation optimale :
|
| 444 |
+
- Décrire un profil complet plutôt que des mots-clés isolés améliore la précision
|
| 445 |
+
- Mentionner le domaine métier, le niveau hiérarchique et les compétences clés
|
| 446 |
+
- Baisser threshold (ex: 30) pour élargir les résultats, monter (ex: 70) pour affiner
|
| 447 |
+
|
| 448 |
+
Exemples de requêtes efficaces :
|
| 449 |
+
- "ingénieur réseau senior expérience cybersécurité SOC et management d'équipe"
|
| 450 |
+
- "cadre administratif pilotage budgétaire ressources humaines et conduite du changement"
|
| 451 |
+
- "technicien de maintenance réseaux télécoms fibre optique intervention terrain"
|
| 452 |
+
- "chef de projet SI transformation digitale MOA"
|
| 453 |
+
|
| 454 |
+
Chaque résultat contient :
|
| 455 |
+
- titre, numero, direction, service, grade, lieu
|
| 456 |
+
- disponible_immediatement (bool), date_cloture (YYYY-MM-DD)
|
| 457 |
+
- score : similarité cosinus [0.0-1.0] — au-dessus de 0.7 = très pertinent
|
| 458 |
+
- url : page web de l'annonce
|
| 459 |
+
- url_markdown : texte brut Markdown lisible directement par un LLM
|
| 460 |
+
- keywords : 3 mots-clés TF-IDF caractérisant l'annonce parmi le corpus
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 461 |
|
| 462 |
+
Args:
|
| 463 |
+
query: Description libre du profil ou intitulé de poste recherché
|
| 464 |
+
threshold: Score minimum de similarité en % entre 0 et 100 (défaut: 50)
|
| 465 |
+
|
| 466 |
+
Returns:
|
| 467 |
+
JSON array, 10 résultats max, triés par score décroissant
|
| 468 |
+
"""
|
| 469 |
import json
|
| 470 |
min_score = threshold / 100.0
|
| 471 |
|