MultiCountryRAG / config /constants.py
SAAHMATHWORKS
Initial deployment: Legal Assistant application
fbdfc24
from typing import Dict, List
# Country patterns for routing
COUNTRY_PATTERNS = {
"benin": [
r"\bbénin\b", r"\bbeninois\b", r"\bbéninoise\b", r"\bbenin\b",
r"\bdahomey\b", r"\bporto-novo\b", r"\bcotonou\b",
r"\bdroit béninois\b", r"\bloi béninoise\b"
],
"madagascar": [
r"\bmadagascar\b", r"\bmalgache\b", r"\bmalagasy\b",
r"\bantananarivo\b", r"\bmadagasikara\b",
r"\bdroit malgache\b", r"\bloi malgache\b"
]
}
# Article detection patterns
ARTICLE_PATTERNS = [
r"article[s]?\s+(\d+(?:\s+(?:et|à|\-)\s+\d+)*)",
r"art\.?\s*(\d+(?:\s+(?:et|à|\-)\s+\d+)*)",
r"articles?\s+(\d+)\s*à\s*(\d+)",
r"art\.?\s*(\d+)\s*au\s*(\d+)",
]
# Legal domain categories
CATEGORY_KEYWORDS = {
"mariage": "Code des personnes et de la famille",
"divorce": "Code des personnes et de la famille",
"héritage": "Code des personnes et de la famille",
"succession": "Code des personnes et de la famille",
"adoption": "Code des personnes et de la famille",
"enfant": "Code des personnes et de la famille",
"pension": "Code des personnes et de la famille",
"infraction": "Droit pénal",
"délit": "Droit pénal",
"crime": "Droit pénal",
"peine": "Droit pénal",
"prison": "Droit pénal",
"entreprise": "Droit commercial",
"commerce": "Droit commercial",
"contrat": "Droit commercial",
"société": "Droit commercial",
"administration": "Droit administratif",
"fonctionnaire": "Droit administratif",
"service public": "Droit administratif"
}
# Document type detection keywords
DOCUMENT_TYPE_KEYWORDS = {
"case_study": [
"jurisprudence", "arrêt", "décision", "tribunal", "cours", "jugement",
"affaire", "procès", "litige", "contentieux", "précédent", "cas",
"cour d'appel", "cour suprême", "conseil d'état"
],
"articles": [
"article", "loi", "code", "décret", "texte", "disposition",
"règlement", "ordonnance", "prescription", "norme"
]
}
# Document type descriptions
DOCUMENT_TYPE_DESCRIPTIONS = {
"articles": "Textes législatifs et réglementaires (lois, codes, décrets)",
"case_study": "Jurisprudence et décisions de justice (arrêts, jugements)"
}
# Legal context templates
LEGAL_CONTEXTS = {
"benin": {
"jurisdiction": "Bénin",
"user_type": "citizen",
"document_type": "Code des personnes et de la famille",
"language": "français",
"legal_system": "civil_law"
},
"madagascar": {
"jurisdiction": "Madagascar",
"user_type": "citizen",
"document_type": "legal",
"language": "français",
"legal_system": "mixed_civil_customary"
}
}
# User type contexts
USER_TYPE_CONTEXTS = {
"citizen": {
"expertise_level": "basic",
"response_style": "accessible",
"include_procedures": True
},
"lawyer": {
"expertise_level": "advanced",
"response_style": "technical",
"include_precedents": True
},
"student": {
"expertise_level": "intermediate",
"response_style": "educational",
"include_examples": True
}
}
# LAW_KEYWORDS a été supprimé comme demandé - le filtre "titre" n'est plus utilisé