harrier-semantic-v1
Semantic retrieval model for Swiss court decisions — fine-tuned on 55,000 (Sachverhalt → cited decision) pairs.
Understands natural language descriptions of legal situations in German, French, and Italian and retrieves relevant Swiss Federal Court (BGer/BGE) decisions.
Performance (Semantic Benchmark, 800 items)
| Metric | Baseline | harrier-semantic-v1 |
|---|---|---|
| MRR@10 | 0.0823 | 0.1501 (+82%) |
| Recall@10 | — | 0.0744 |
| Hit@1 | — | 0.0925 |
Usage
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("ArneH/harrier-semantic-v1")
# Describe a legal situation in natural language
query = "Arbeitnehmer wurde während Krankheit fristlos entlassen"
embedding = model.encode(query, normalize_embeddings=True)
MCP Server (Claude Desktop / Claude Code)
Use with the Swiss Legal Semantic MCP server for offline semantic + keyword search over 963,000+ Swiss court decisions:
pip install mcp sentence-transformers numpy huggingface_hub
python server.py --setup # auto-downloads model + embeddings
Pre-computed corpus embeddings: ArneH/swiss-caselaw-embeddings
Training
- Base model: harrier-meta-distilled-v2 (0.6B Qwen3-based)
- Training pairs: 55,000 (Sachverhalt → cited decisions, DE/FR/IT)
- Loss: MultipleNegativesRankingLoss
- Epochs: 3, Batch: 512 (2× B200 GPU, DDP)
- Data source: voilaj/swiss-caselaw (963k decisions)
- Downloads last month
- 65