Views
No views yet
| Метрика | Значение |
|---|---|
| Recall@1 | 76.9% |
| Recall@5 | 92.9% |
| Recall@10 | 95.5% |
| Датасет | Recall@1 | Recall@5 | Recall@10 |
|---|---|---|---|
| court_law (судебные решения) | 67.5% | 87.9% | 92.6% |
| other_law (федеральные законы) | 85.1% | 96.7% | 97.4% |
| reg_law (региональные законы) | 75.6% | 96.9% | 98.8% |
pip install sentence-transformers1from sentence_transformers import SentenceTransformer
2
3# Загрузка модели
4model = SentenceTransformer("Roflmax/bge-m3-russian-legal")
5
6# Для запросов используйте префикс
7query = "Represent this sentence for searching relevant passages: Какое наказание за управление в состоянии опьянения?"
8query_embedding = model.encode(query)
9
10# Для документов префикс пустой (просто текст)
11documents = [
12 "Статья 264 УК РФ. Нарушение правил дорожного движения...",
13 "КоАП РФ статья 12.8. Управление транспортным средством..."
14]
15doc_embeddings = model.encode(documents)
16
17# Поиск похожих документов
18from sklearn.metrics.pairwise import cosine_similarity
19similarities = cosine_similarity([query_embedding], doc_embeddings)[0]
20
21# Топ-5 результатов
22top_indices = similarities.argsort()[-5:][::-1]
23for idx in top_indices:
24 print(f"Document {idx}: similarity={similarities[idx]:.4f}")