trangannh commited on
Commit
93081dd
1 Parent(s): d8b4eca

Create job_recommendation_inference.py

Browse files
Files changed (1) hide show
  1. job_recommendation_inference.py +58 -0
job_recommendation_inference.py ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from transformers import AutoTokenizer, AutoModelForSequenceClassification
3
+
4
+ # Đường dẫn tới mô hình trên Hugging Face Hub
5
+ model_name = "trangannh/ptit-job-recommendation"
6
+
7
+ # Khởi tạo tokenizer và mô hình từ tên mô hình trên Hugging Face
8
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
9
+ model = AutoModelForSequenceClassification.from_pretrained(model_name)
10
+
11
+ # Hàm dự đoán công việc dựa trên kỹ năng cứng, kỹ năng mềm và ngành nghề
12
+ def recommend_jobs(input_hard_skills, input_soft_skills, input_major, top_n=3):
13
+ # Chuẩn bị input cho mô hình
14
+ inputs = {
15
+ "hard_skills": input_hard_skills,
16
+ "soft_skills": input_soft_skills,
17
+ "major": input_major
18
+ }
19
+
20
+ # Tiền xử lý và mã hóa input
21
+ encoded_input = tokenizer.encode_plus(
22
+ inputs["hard_skills"], # Kỹ năng cứng
23
+ inputs["soft_skills"], # Kỹ năng mềm
24
+ inputs["major"], # Ngành nghề
25
+ add_special_tokens=True,
26
+ return_tensors="pt"
27
+ )
28
+
29
+ # Dự đoán
30
+ with torch.no_grad():
31
+ outputs = model(**encoded_input)
32
+
33
+ # Lấy giá trị dự đoán và sắp xếp theo thứ tự giảm dần
34
+ logits = outputs.logits[0].tolist()
35
+ sorted_indices = sorted(range(len(logits)), key=lambda k: logits[k], reverse=True)
36
+
37
+ # Lấy top N công việc gợi ý
38
+ recommended_jobs = []
39
+ for i in range(min(top_n, len(sorted_indices))):
40
+ job_index = sorted_indices[i]
41
+ recommended_jobs.append(tokenizer.decode(job_index))
42
+
43
+ return recommended_jobs
44
+
45
+ # Hướng dẫn sử dụng
46
+ if __name__ == "__main__":
47
+ # Input từ người dùng (có thể làm thay đổi để phù hợp với nhu cầu thực tế)
48
+ input_hard_skills = input("Nhập kỹ năng cứng của bạn: ")
49
+ input_soft_skills = input("Nhập kỹ năng mềm của bạn: ")
50
+ input_major = input("Nhập ngành nghề của bạn: ")
51
+
52
+ # Gợi ý công việc
53
+ recommended_jobs = recommend_jobs(input_hard_skills, input_soft_skills, input_major)
54
+
55
+ # In kết quả
56
+ print(f"Các công việc được gợi ý cho bạn:")
57
+ for i, job in enumerate(recommended_jobs, start=1):
58
+ print(f"{i}. {job}")