File size: 1,583 Bytes
73ee6c2
602f88e
 
 
4ec07e1
 
fd01f65
602f88e
fd01f65
 
4ec07e1
 
 
 
73ee6c2
 
602f88e
73ee6c2
 
 
 
 
 
 
 
 
 
 
4ec07e1
73ee6c2
602f88e
73ee6c2
 
 
 
 
 
 
 
 
 
 
 
 
 
a2f3cd3
73ee6c2
 
 
 
 
 
 
 
 
 
 
602f88e
a2f3cd3
602f88e
4ec07e1
602f88e
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
from langchain_groq import ChatGroq
from app.schemas.jd_extract_schema import JobDescriptionExtract
from app.schemas.resume_extract_schema import ResumeExtract
from app.schemas.skill_gap_analysis_schema import SkillGapAnalysis
from app.core.config import settings
from app.tools.tools import roadmap_planner_agent_tools
from app.prompts.roadmap_planner_agent_prompt import roadmap_planner_agent_prompt
from app.tools.tools import *
from typing import Any
from langchain.agents.middleware import ToolCallLimitMiddleware
import os

if "GROQ_API_KEY" not in os.environ:
    os.environ["GROQ_API_KEY"] = settings.GROQ_API_KEY

resume_agent=ChatGroq(
    model="meta-llama/llama-4-scout-17b-16e-instruct",
    temperature=0.2,
)


resume_agent=resume_agent.with_structured_output(

    schema=ResumeExtract,
    method="json_schema",
    include_raw=True,
    strict=True
)

jd_agent=ChatGroq(
    model="openai/gpt-oss-20b",
    temperature=0.2,
)


jd_agent=jd_agent.with_structured_output(

    schema=JobDescriptionExtract,
    method="json_schema",
    include_raw=True,
    strict=True
)


gap_analysis_agent=ChatGroq(
    model="openai/gpt-oss-20b",
    temperature=0.2,
)


gap_analysis_agent=gap_analysis_agent.with_structured_output(
    schema=SkillGapAnalysis,
    method="json_schema",
    include_raw=True,
    strict=True
)

base_llm = ChatGroq(
    model="qwen/qwen3-32b",
    temperature=0.1,       
)


roadmap_planner_agent_tools=[search_courses,submit_final_roadmap,submit_mermaid_visualization]
roadmap_planner_agent=base_llm.bind_tools(roadmap_planner_agent_tools)