simikkk commited on
Commit
ed8db51
·
verified ·
1 Parent(s): 71dc843

Update analyzer.py

Browse files
Files changed (1) hide show
  1. analyzer.py +41 -15
analyzer.py CHANGED
@@ -1,32 +1,58 @@
1
  import json
 
2
 
3
  def analyze_cv(cv_text, job_text, language="cs"):
4
- lang_map = {"cs": "česky", "en": "anglicky", "de": "německy"}
5
- target_lang = lang_map.get(language, "česky")
 
 
 
 
 
6
 
7
  prompt = f"""
8
  Jsi expert na nábor a kariérní kouč. Analyzuj CV a porovnej ho s pozicí.
9
  CV: {cv_text}
10
  Pozice: {job_text}
11
- Odpověz POUZE v jazyce: {target_lang}.
12
 
13
- Kromě analýzy shody přidej sekci 'career_recommendations':
14
- - Na jaké typy pozic se tento kandidát nejlépe hodí?
15
- - Jakou seniority úroveň (junior/medior/senior) má kandidát dle CV?
16
 
17
- Vrať odpověď POUZE jako validní JSON v tomto formátu:
 
 
 
 
18
  {{
19
  "match_score": 0,
20
  "score_explanation": "...",
 
21
  "top_3_actions": [],
22
- "missing_keywords": [],
23
- "weak_sections": [],
 
 
 
 
24
  "ats_warnings": [],
25
- "linkedin_headline_ideas": [],
26
- "career_recommendations": "..."
27
  }}
28
  """
29
- # Zde voláš svůj AI model (např. OpenAI nebo jiný), který vrací JSON
30
- # analysis = call_ai_model(prompt)
31
- # return json.loads(analysis)
32
- return {"error": "Implementuj volání svého AI modelu zde."}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import json
2
+ # ZDE NECH SVÉ PŮVODNÍ IMPORTY PRO AI (např. import openai atd.)
3
 
4
  def analyze_cv(cv_text, job_text, language="cs"):
5
+ # Nastavení jazyka pro prompt
6
+ lang_map = {
7
+ "cs": "česky (Czech)",
8
+ "en": "anglicky (English)",
9
+ "de": "německy (German)"
10
+ }
11
+ target_lang = lang_map.get(language, "česky (Czech)")
12
 
13
  prompt = f"""
14
  Jsi expert na nábor a kariérní kouč. Analyzuj CV a porovnej ho s pozicí.
15
  CV: {cv_text}
16
  Pozice: {job_text}
 
17
 
18
+ DŮLEŽITÉ: Celá tvá odpověď musí být přeložena do jazyka: {target_lang}.
 
 
19
 
20
+ Kromě analýzy shody přidej sekci 'career_recommendations', kde odpovíš:
21
+ - Na jaké typy pozic a role se tento kandidát s ohledem na své CV nejlépe hodí?
22
+ - Jakou seniority úroveň (junior/medior/senior) podle tebe momentálně má?
23
+
24
+ Vrať odpověď POUZE jako validní JSON v tomto formátu (struktura klíčů musí zůstat v angličtině, ale hodnoty budou v jazyce {target_lang}):
25
  {{
26
  "match_score": 0,
27
  "score_explanation": "...",
28
+ "career_recommendations": "...",
29
  "top_3_actions": [],
30
+ "missing_keywords": [
31
+ {{"keyword": "...", "why_it_matters": "..."}}
32
+ ],
33
+ "weak_sections": [
34
+ {{"original_phrase": "...", "problem": "...", "what_to_convey_instead": "...", "example_direction": "..."}}
35
+ ],
36
  "ats_warnings": [],
37
+ "linkedin_headline_ideas": []
 
38
  }}
39
  """
40
+
41
+ try:
42
+ # ---------------------------------------------------------
43
+ # SEM VLOŽ SVÉ PŮVODNÍ VOLÁNÍ AI MODELU
44
+ # Příklad (pokud používáš např. OpenAI klient):
45
+ # response = client.chat.completions.create(
46
+ # model="gpt-4o-mini",
47
+ # messages=[{"role": "user", "content": prompt}],
48
+ # response_format={"type": "json_object"}
49
+ # )
50
+ # result_text = response.choices[0].message.content
51
+ # return json.loads(result_text)
52
+ # ---------------------------------------------------------
53
+
54
+ # Nahraď tento return svým skutečným voláním (viz komentář výše)
55
+ return {"error": "Nezapomeň v analyzer.py obnovit volání svého API."}
56
+
57
+ except Exception as e:
58
+ return {"error": f"Chyba při komunikaci s AI: {str(e)}"}