QuentinL52 commited on
Commit
36b7ac5
·
verified ·
1 Parent(s): d3fc1f1

Update src/services/cv_service.py

Browse files
Files changed (1) hide show
  1. src/services/cv_service.py +12 -3
src/services/cv_service.py CHANGED
@@ -6,13 +6,13 @@ from typing import Dict, Any, List
6
  from src.config import load_pdf
7
  from src.agents.cv_agents import CVAgentOrchestrator
8
  from src.agents.scoring_agent import SimpleScoringAgent
 
 
9
 
10
  logger = logging.getLogger(__name__)
11
 
12
  async def parse_cv(pdf_path: str) -> Dict[str, Any]:
13
- # Initialize orchestrator and scoring agent here or pass them as arguments
14
- # For simplicity, initializing them here. In a real app, consider dependency injection.
15
- orchestrator = CVAgentOrchestrator(llm=None) # LLM will be passed to agents directly
16
  scoring_agent = SimpleScoringAgent()
17
  cv_text = load_pdf(pdf_path)
18
  if not cv_text or not cv_text.strip():
@@ -38,7 +38,16 @@ async def parse_cv(pdf_path: str) -> Dict[str, Any]:
38
  else:
39
  logger.warning("No skill levels calculated, adding empty analysis")
40
  cv_data["candidat"]["analyse_competences"] = []
 
 
 
 
41
 
 
 
 
 
 
42
  return cv_data
43
 
44
  def _create_fallback_data() -> Dict[str, Any]:
 
6
  from src.config import load_pdf
7
  from src.agents.cv_agents import CVAgentOrchestrator
8
  from src.agents.scoring_agent import SimpleScoringAgent
9
+ from src.agents.analysis_agent import AnalysisAgent
10
+
11
 
12
  logger = logging.getLogger(__name__)
13
 
14
  async def parse_cv(pdf_path: str) -> Dict[str, Any]:
15
+ orchestrator = CVAgentOrchestrator(llm=None)
 
 
16
  scoring_agent = SimpleScoringAgent()
17
  cv_text = load_pdf(pdf_path)
18
  if not cv_text or not cv_text.strip():
 
38
  else:
39
  logger.warning("No skill levels calculated, adding empty analysis")
40
  cv_data["candidat"]["analyse_competences"] = []
41
+
42
+ logger.info("Lancement de l'analyse enrichie du profil...")
43
+ analysis_agent = AnalysisAgent()
44
+ enriched_analysis = analysis_agent.analyze_candidate(cv_data)
45
 
46
+ if enriched_analysis:
47
+ cv_data["candidat"]["analyse_globale"] = enriched_analysis
48
+ logger.info("Analyse enrichie ajoutée avec succès")
49
+ else:
50
+ logger.warning("Aucune analyse enrichie générée")
51
  return cv_data
52
 
53
  def _create_fallback_data() -> Dict[str, Any]: