Views
No views yet
1from transformers import AutoTokenizer, AutoModel
2import torch
3
4tokenizer = AutoTokenizer.from_pretrained("yenstdi/ntu-bge-small-zh-simcse-job-talent-matching")
5model = AutoModel.from_pretrained("yenstdi/ntu-bge-small-zh-simcse-job-talent-matching")
6
7def encode(texts):
8 inputs = tokenizer(texts, padding=True, truncation=True, max_length=512, return_tensors="pt")
9 with torch.no_grad():
10 outputs = model(**inputs)
11 mask = inputs["attention_mask"].unsqueeze(-1)
12 embeddings = (outputs.last_hidden_state * mask).sum(1) / mask.sum(1).clamp(min=1e-6)
13 return torch.nn.functional.normalize(embeddings, dim=-1)
14
15job_emb = encode(["Software Engineer - Python, ML experience required"])
16talent_emb = encode(["5 years Python developer with ML projects"])
17score = (job_emb @ talent_emb.T).item()
18print(f"Cosine similarity: {score:.4f}")