a sovereign HR assistant for french public sector teams
context and constraints
HR regulations scattered across 4 sources: Légifrance API, service-public.gouv.fr XML, ministry PDFs, Excel spreadsheets.
Spending 4+ hours per week searching for answers in dense legal documentation. Need instant, reliable answers.
No external APIs. All inference through Albert API — France's sovereign cloud (SecNumCloud certified).
initial baseline pipeline (v1)
4-hour session with 13 HR managers — 508 questions, I analyzed every failure
User satisfaction from 347 evaluations
3 architectural changes that moved the needle
Structure-aware parser preserving legal article boundaries.
1 article = 1 chunk
Markdown formatting for hierarchy.
4 concurrent searches across different sources.
Parameters tuned per source
All sources fairly represented.
Dedicated agent with priority rules filters chunks.
20 → 2.5 chunks on average
Reasoning exposed → explainable selections.
a dedicated filtering agent beats self-filtering
{
"selected_ordered": ["MINISTRY-3", "MINISTRY-1", "GOV_PORTAL-2"],
"dropped": ["LEGAL-1", "LEGAL-2", "GOV_PORTAL-1", ...],
"primary_source": "ministry",
"reasoning": "Question about leave policy → ministry guides sufficient. Legal texts too generic."
}
additional modules in the system
Acronym expansion
CDD → Fixed-term contract
Handles French HR jargon.
Filters out-of-scope questions
before retrieval even starts.
Saves compute, avoids hallucination.
Legal reference extraction
Detects "Article L3141-1" in chunks.
Auto-fetches full text from law API.
runtime pipeline (v2): query to answer
V1 vs V2 comparison with RAGAS
| Metric | V1 Baseline | V2 Production | Improvement |
|---|---|---|---|
| Faithfulness | 0.45 | 0.79 | +78% |
| Answer Relevancy | 0.53 | 0.81 | +53% |
| Context Relevancy | 0.83 | 0.89 | +7% |
| Global Score | 0.60 | 0.83 | +38% |
beta testing in production
HR managers across French public administration are now using V2 in production
as a Startups Solutions Architect, Applied AI
I measure, diagnose, build, iterate. And I communicate.
Let's do this together at Anthropic.