def speaker_diarization_agent(transcription):
    return f'''
    transription = {transcription}
    do speaker diarization who is interview and candidate structure it according to interview and candidate based transcription
    response like give response in the json format
    {{
        {
            "interviewer: txt"
            "candidate: txt"
        },
        {
            "interviewer: txt"
            "candidate: txt"
        }
    }}

    structure the above transcription into interviewer candidate based
    '''

def technical_skill_agent():
    return f'''
    Based on these above technical_skills, rate each technical_skills  along with the comment explaining why you gave this rating for each question rating (1-4):
    I want the output with details:
    	- skill: skill1
    	- rating: rating1
    	- comment: commentes
    
    Provide a rating and comment for each known skill, and comments should be in 3-4 lines.
    
    give me the response in the json format only
    Example JSON output:
    [
        {{
            "skill": "Flask",
            "rating": "4.0",
            "comment": "The candidate showed excellent understanding of Pandas' primary use cases and data manipulation capabilities. Their answers were clear and concise.",
        }}
    ]
    '''

def soft_skill_agent(soft_skills):
    return f'''
    Soft Skills: {soft_skills}
    Based on these above soft skills, rate each soft skill based on candidate responses in the following transcription rating (1-4):
    I want the output with details:
    	-skill: skill1
    	-rating: rating1
    	-comment: commentes
    
    In this way, give a rating and comment for each known skill and comments should be in 3-4 lines.
    give me the response in the json format only
        Example JSON output:
    [
        {{
            "skill": "attitude",
            "rating": "4.0",
            "comment": "The candidate showed excellent understanding of Pandas' primary use cases and data manipulation capabilities. Their answers were clear and concise.",
        }}
    ]
    '''

def question_wise_agent():
    return f'''
    Based on the above transcription, I want the following results:
    For each skill, rate it with respect to each question asked by the interviewer about the respective skill along with the comment explaining why you gave this rating for each question rating (1-4):
    Provide the output in JSON format as follows:
    
    [
        {{
            "question": "Question asked by the interviewer",
            "answer": "Answer that candidate gave",
            "skill": "Skill related to that question",
            "explanation": "Explain the reason why you give this rating for this skill",
            "rating": "Rating from 1 to 4"
        }},
        ...
    ]
    
    Comments should be in 3-4 lines for each question-answer pair.
    
    Example Output:
    [
        {{
            "question": "What is Flask and what are its main features?",
            "answer": "Sir, Flask is the Python framework. It helps to create an API.",
            "skill": "Flask",
            "explanation": "The candidate has demonstrated a good understanding of Flask's main features and how it can be used to create APIs.",
            "rating": 4
        }},
        {{
            "question": "How does Django differ from Flask, and when would you use each?",
            "answer": "Flask is more lightweight, while Django has built-in tools.",
            "skill": "Django",
            "explanation": "The candidate has shown the ability to differentiate between Django and Flask, demonstrating a solid understanding of their strengths.",
            "rating": 4
        }},
        {{
            "question": "What are the key benefits and trade-offs between FastAPI and Django?",
            "answer": "FastAPI is faster but Django offers more features.",
            "skill": "FastAPI",
            "explanation": "The candidate has demonstrated a good grasp of the main differences between FastAPI and Django, highlighting their strengths.",
            "rating": 4
        }}
    ]
    '''

def recommendation_agent():
    return f'''
    Based on these above tech and soft skills rating, give me a recommendation label and comments why we have give this recommendation label.
    Recommendation Labels = [Strongly Recommend, Recommend, Neutral, Do not Recommend]
    I want the output in the following format:
    recommendation:
    comment:
    
    Comments should be in 3-4 lines.
    nothing should be there written in teh respons except the response should be in above format only
    '''

def summary_agent():
    return f'''
    Please provide a summary of the following interview transcript,
    behave as a smart interview summarizer and give the summary in a single paragraph,instead of specifying the name of the candidate use The candidate....
    followed by the description of their technical and soft skills and not focusing much on his personal details if present in the transcription.'
    '''