openglossa /
GitHub ↗

traduire.


le droit suisse, sans rien inventer.

Termbase & mémoire de traduction juridique suisse — DE / FR / IT · open source (depuis 2026)

OpenGlossa ancre les traductions juridiques LLM dans des sources suisses citables (Fedlex, TERMDAT, Tribunal fédéral) via un serveur MCP — glossaire, few-shot, puis contrôle de draft.

Termbase + mémoire de traduction + check_translation : le LLM rédige, OpenGlossa vérifie les termes officiels. Droit suisse par défaut (corpus_scope=swiss) ; UE en opt-in.

(00)

Corpus

Mémoire de traduction indexée en production : 113 095 segments parallèles officiels suisses (Fedlex RS + regestes TF). Live par défaut (corpus_scope=swiss) : TERMDAT + JURIVOC. IATE / EUR-Lex uniquement en opt-in (eu / all). AS / BBl : slices au prochain rebuild d’index.

Avis Les sorties d'OpenGlossa ne constituent pas le texte légal officiel faisant foi. Toujours vérifier contre la source officielle (n° RS + article Fedlex, ou référence ATF/BGE).

(01)

Recherche

Recherche sémantique via le MCP Render (113k segments DE/FR/IT, scope swiss). L’anglais = TERMDAT administratif (pas de loi Fedlex EN) ; IATE/EUR-Lex seulement si corpus_scope=eu|all. Démo hors-ligne du site ≈ 200 TUs lexicaux — pas le corpus de production.

(02)

Évaluation

Deux métriques : (A) term hit-rate@3 sur 15 requêtes (RAG retrouve-t-il le terme officiel ?) — (B) flag-recall de check_translation sur 8 drafts (les termes manquants sont-ils signalés ?). Benchmarks figés, reproductibles (eval/run_eval.py, eval/run_check_eval.py).

0.00
sans ancrage
0.60
lexical @3
0.93
LaBSE @3
1.00
check flag-recall
(03)

Téléchargements

Extrait de démonstration (CO / SR 220, source officielle Fedlex, citée).

openglossa_demo.tmx Mémoire de traduction, TMX 1.4 (validée DTD).
TMX
openglossa_demo.jsonl Segments parallèles avec provenance.
JSONL
glossary_deepl_de-fr.csv Glossaire DeepL DE→FR (couples extraits, à relire).
CSV
translation_unit.schema.json JSON Schema d'une unité de traduction.
Schema

Formats complets (TBX, Parquet, toutes paires) : openglossa build-exports.

(04)

Schéma

Modèles pydantic v2 à provenance obligatoire — aucun enregistrement sans source citable.

TermRecord Entrée terminologique centrée concept (≈ termEntry TBX).
concept
TranslationUnit Segment parallèle aligné (≈ tu TMX).
segment
TermCandidate Couple de termes extrait, en file de revue.
candidat
(05)

Licences

Fedlex (RS)Lois fédérales DE/FR/IT — texte + métadonnées RDF
Réutilisation, citation requise
réutilisable
Tribunal fédéral (SLDS)Regestes trilingues (ATF/BGE)
CC-BY-4.0
réutilisable
TERMDAT (LINDAS)Terminologie officielle multilingue
OGD — redistribution à confirmer
live / dérivés

Détails : LICENSING.md, ATTRIBUTIONS.md. Code Apache-2.0 · données CC-BY-4.0.

(06)

Connexion MCP

Serveur MCP distant (Streamable HTTP) — six outils pour ancrer et contrôler les traductions LLM. Défaut corpus_scope=swiss. Guide : docs/LLM_GROUNDING.md.

Endpoint https://openglossa-mcp.onrender.com/mcp

Configuration client (Cursor ~/.cursor/mcp.json ou Claude Desktop) :

{
  "mcpServers": {
    "openglossa": {
      "url": "https://openglossa-mcp.onrender.com/mcp"
    }
  }
}

Client en stdio uniquement ? Faites le pont avec npx mcp-remote https://openglossa-mcp.onrender.com/mcp.

Outils

Workflow LLM : suggest_glossary → search_parallel → draft → check_translation → corriger les flags → get_official_text (DE/FR/IT).

lookup_term_tool(query, src_lang, tgt_lang, domain?, corpus_scope=swiss)
search_parallel_tool(text, src_lang, tgt_lang, k?, corpus_scope=swiss)
verify_translation_tool(src_term, tgt_term, src_lang, tgt_lang, corpus_scope=swiss)
check_translation_tool(source_text, draft_text, src_lang, tgt_lang, corpus_scope=swiss)
get_official_text_tool(eli_or_citation, lang)
suggest_glossary_tool(text, src_lang, tgt_lang, corpus_scope=swiss)

Pipeline & serveur local

pip install -e ".[all]"
openglossa ingest-fedlex --articles --rs 220 --max-articles 200
openglossa build-index --encoder labse        # recherche sémantique
openglossa build-exports                       # TBX / TMX / CSV / JSONL / Parquet
python -m openglossa.mcp.server                # serveur MCP