🚀 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 許可證。