Views
No views yet
sentence_transformers.losses.TripletLoss.TripletLoss with parameters:{'distance_metric': 'TripletDistanceMetric.COSINE', 'triplet_margin': 0.5}{
"epochs": 5,
"evaluation_steps": 0,
"evaluator": "sentence_transformers.evaluation.EmbeddingSimilarityEvaluator.EmbeddingSimilarityEvaluator",
"max_grad_norm": 1,
"optimizer_class": "<class 'torch.optim.adamw.AdamW'>",
"optimizer_params": {
"lr": 2e-05
},
"scheduler": "WarmupLinear",
"steps_per_epoch": null,
"warmup_steps": 1958,
"weight_decay": 0.01
}SentenceTransformer(
(0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: XLMRobertaModel
(1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
(2): Normalize()
)pip install -U sentence-transformers1from sentence_transformers import SentenceTransformer
2import torch
3
4model = SentenceTransformer(
5 "bqbbao6/VN_legal_embedding_512",
6 trust_remote_code=True
7)
8query = "query: " + "Người lao động được nghỉ bao nhiêu ngày phép mỗi năm?"
9embedding = model.encode(query)
10
11print(f"Embedding shape: {embedding.shape}") # (768,)1from sentence_transformers import SentenceTransformer
2import torch
3
4model = SentenceTransformer(
5 "bqbbao6/VN_legal_embedding_512",
6 trust_remote_code=True
7)
8
9query = "query: " + "Người lao động được nghỉ bao nhiêu ngày phép năm?"
10
11corpus = [
12 # Đúng
13 "Người lao động làm việc đủ 12 tháng được nghỉ 12 ngày phép năm có hưởng lương.",
14
15 # Giống chủ ngữ nhưng khác nội dung
16 "Người lao động được hưởng chế độ bảo hiểm xã hội theo quy định của pháp luật.",
17
18 # Giống vị ngữ nhưng khác chủ ngữ
19 "Cán bộ công chức được nghỉ 12 ngày phép năm theo quy định.",
20
21 # Giống một phần nhưng nói về đối tượng khác
22 "Người lao động chưa đủ 12 tháng được nghỉ phép theo tỷ lệ tương ứng.",
23
24 # Hoàn toàn không liên quan
25 "Doanh nghiệp phải đóng thuế thu nhập doanh nghiệp hàng năm.",
26]
27
28corpus_prefixed = ["passage: " + p for p in corpus]
29
30q_emb = model.encode(query, normalize_embeddings=True)
31c_emb = model.encode(corpus_prefixed, normalize_embeddings=True)
32
33scores = cos_sim(q_emb, c_emb)[0]
34for i, (score, passage) in enumerate(zip(scores, corpus)):
35 print(f"[{i+1}] Score: {score:.4f} | {passage}")