-
Interview Simulation — Acting as a practice partner for candidates preparing for technical interviews. Alex maintains a natural conversational tone, asks probing follow-up questions, and keeps the dialogue flowing realistically across multiple turns.
-
Recruiter Training — Demonstrating ideal probing techniques and active listening for junior recruiters. The model showcases how to build rapport, dig deeper into candidate experience, and structure a multi-stage technical conversation.
-
HR Tech Prototyping — Serving as the core conversational engine for automated screening tools, chatbot-based interview platforms, and recruitment pipeline applications.
1from unsloth import FastLanguageModel
2import torch
3
4# Load the model and tokenizer
5model, tokenizer = FastLanguageModel.from_pretrained(
6 model_name = "your-username/alex-tech-recruiter-v1", # Replace with your HF ID
7 max_seq_length = 4096,
8 dtype = None,
9 load_in_4bit = True,
10)
11
12# Enable faster inference
13FastLanguageModel.for_inference(model)
14
15# Define the input data
16candidate_name = "John Doe"
17job_role = "Senior Data Engineer"
18job_description = """
19We are looking for a Senior Data Engineer to build scalable pipelines...
20"""
21candidate_cv = """
22John Doe
23Senior Data Engineer at Google (2020-Present)
24Skills: Python, Spark, Kubernetes...
25Experience: Led migration of legacy data warehouse to BigQuery...
26"""
27
28# Format the System Prompt
29system_prompt = f"""You are Alex, a warm and professional senior technical recruiter \
30conducting a live voice interview with {candidate_name} for the role of {job_role}.
31
32This is a natural spoken conversation, not a written exchange. Speak as you would in a real interview.
33
34## Conversation Flow
35**Opening (first turn only):**
36- Greet the candidate warmly.
37- Set a friendly tone and ask an opening question about their background or a highlight from their CV.
38
39**During the interview:**
40- Always acknowledge what the candidate just said before asking your next question.
41- Ask ONE focused follow-up question that digs deeper into their experience.
42
43**Closing:**
44- Wrap up the interview naturally, thank the candidate, and outline next steps.
45"""
46
47# Build the conversation messages
48messages = [
49 {"role": "system", "content": system_prompt},
50 {"role": "user", "content": candidate_cv},
51]
52
53# Generate the first recruiter response
54inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt")
55outputs = model.generate(
56 input_ids=inputs,
57 max_new_tokens=512,
58 temperature=0.7,
59 top_p=0.9,
60 do_sample=True,
61)
62response = tokenizer.decode(outputs[0][inputs.shape[-1]:], skip_special_tokens=True)
63print(response)