🚀 VN Law Embedding
VN Law Embedding 是一个越南语文本嵌入模型,专为检索增强生成(RAG)而设计,能够精准检索与法律问题对应的法律文档,为法律查询提供有力支持。该模型基于越南法律问题及对应文档的数据集进行训练,并通过信息检索评估器进行评估。在训练过程中采用了 Matryoshka 损失函数,还可将维度截断至更小,在不损失性能的前提下,实现查询与文档的快速比较。
🚀 快速开始
VN Law Embedding 可用于检索与法律问题对应的法律文档。它基于越南法律问题及对应文档的数据集进行训练,并使用信息检索评估器进行评估。
✨ 主要特性
- 精准检索:专为检索增强生成(RAG)设计,能精准检索与法律问题对应的法律文档。
- 高效训练:基于越南法律问题及对应文档的数据集进行训练,并使用信息检索评估器进行评估。
- 灵活截断:训练时使用 Matryoshka 损失函数,可将维度截断至更小,在不损失性能的前提下,实现查询与文档的快速比较。
📦 安装指南
文档未提供安装步骤,故跳过此章节。
💻 使用示例
基础用法
from sentence_transformers import SentenceTransformer
import torch
import torch.nn.functional as F
model = SentenceTransformer("truro7/vn-law-embedding", truncate_dim = 128)
query = "Trộm cắp sẽ bị xử lý như thế nào?"
corpus = """
[100_2015_QH13]
LUẬT HÌNH SỰ
Điều 173. Tội trộm cắp tài sản
Khoản 1:
1. Người nào trộm cắp tài sản của người khác trị giá từ 2.000.000 đồng đến dưới 50.000.000 đồng hoặc dưới 2.000.000 đồng nhưng thuộc một trong các trường hợp sau đây, thì bị phạt cải tạo không giam giữ đến 03 năm hoặc phạt tù từ 06 tháng đến 03 năm:
a) Đã bị xử phạt vi phạm hành chính về hành vi chiếm đoạt tài sản mà còn vi phạm;
b) Đã bị kết án về tội này hoặc về một trong các tội quy định tại các điều 168, 169, 170, 171, 172, 174, 175 và 290 của Bộ luật này, chưa được xóa án tích mà còn vi phạm;
c) Gây ảnh hưởng xấu đến an ninh, trật tự, an toàn xã hội;
d) Tài sản là phương tiện kiếm sống chính của người bị hại và gia đình họ; tài sản là kỷ vật, di vật, đồ thờ cúng có giá trị đặc biệt về mặt tinh thần đối với người bị hại.
"""
embedding = torch.tensor([model.encode(query)])
corpus_embeddings = torch.tensor([model.encode(corpus)])
cosine_similarities = F.cosine_similarity(embedding, corpus_embeddings)
print(cosine_similarities.item())
高级用法
from sentence_transformers import SentenceTransformer
import torch
import torch.nn.functional as F
model = SentenceTransformer("truro7/vn-law-embedding", truncate_dim = 128)
all_docs = read_all_docs()
top_k = 3
embedding_docs = torch.load(vectordb_path, weights_only=False).to(self.device)
query = "Trộm cắp sẽ bị xử lý như thế nào?"
embedding = torch.tensor(model.encode(query))
cosine_similarities = F.cosine_similarity(embedding.unsqueeze(0).expand(self.embedding_docs.shape[0], 1, 128), self.embedding_docs, dim = -1).view(-1)
top_k = cosine_similarities.topk(k)
top_k_indices = top_k.indices
top_k_values = top_k.values
print(top_k_values)
for i in top_k_indices:
print(all_docs[i])
print("___________________________________________")
📚 详细文档
模型信息
属性 |
详情 |
模型类型 |
VN Law Embedding |
训练数据 |
truro7/vn-law-questions-and-corpus |
基础模型 |
hiieu/halong_embedding |
库名称 |
sentence-transformers |
评估指标 |
cosine_accuracy@1、cosine_accuracy@3、cosine_accuracy@5、cosine_accuracy@10、cosine_precision@1、cosine_precision@3、cosine_precision@5、cosine_precision@10、cosine_recall@1、cosine_recall@3、cosine_recall@5、cosine_recall@10、cosine_ndcg@10、cosine_mrr@10、cosine_map@100 |
任务类型 |
句子相似度、信息检索 |
标签 |
legal、sentence-transformers、sentence-similarity、feature-extraction、generated_from_trainer、loss:MatryoshkaLoss、loss:MultipleNegativesRankingLoss |
评估结果
指标 |
值 |
Cosine Accuracy@1 |
0.623 |
Cosine Accuracy@3 |
0.792 |
Cosine Accuracy@5 |
0.851 |
Cosine Accuracy@10 |
0.900 |
Cosine Precision@1 |
0.623 |
Cosine Precision@3 |
0.412 |
Cosine Precision@5 |
0.310 |
Cosine Precision@10 |
0.184 |
Cosine Recall@1 |
0.353 |
Cosine Recall@3 |
0.608 |
Cosine Recall@5 |
0.722 |
Cosine Recall@10 |
0.823 |
Cosine Ndcg@10 |
0.706 |
Cosine Mrr@10 |
0.717 |
Cosine Map@100 |
0.645 |
🔧 技术细节
文档未提供具体的技术实现细节,故跳过此章节。
📄 许可证
本项目采用 Apache-2.0 许可证。