01
Evidence before generation
Claude receives a deliberately assembled evidence pack, not unrestricted access to the entire corpus.
Silat Technologies / AI product case study
A jurisdiction-aware regulatory intelligence platform engineered by Silat Technologies with Python and the Claude API. It turns fragmented global rules into grounded, traceable answers for compliance research.
Research question
What disclosures apply to virtual-asset marketing across selected jurisdictions?
Requirements vary by regulator, audience, and communication channel. The system separates shared obligations from jurisdiction-specific controls:
Jurisdiction filter
Passed
Citation coverage
Passed
Unsupported claims
None flagged
Review state
Human verification
The product treats every legal answer as an evidence pipeline rather than a single model call.
Global regulation is fragmented by jurisdiction, regulator, document type, and time. The RAG makes that complexity searchable.
The platform ingests regulatory material from multiple markets, preserves the legal metadata that gives each passage meaning, and retrieves the right evidence before Claude writes an answer.
The key engineering decision was to make jurisdiction, regulator, instrument, publication date, and effective date first-class retrieval fields. That prevents a semantically similar rule from the wrong market or the wrong point in time from silently contaminating an answer.
01
Claude receives a deliberately assembled evidence pack, not unrestricted access to the entire corpus.
02
Semantic similarity is combined with exact jurisdiction filters, lexical signals, and re-ranking.
03
Every material claim is designed to map back to a source, passage, and document version.
Six focused stages turn a shifting regulatory corpus into reviewable intelligence.
World regulations RAG / System map
Citation-first path
Stage 01
Collect regulatory pages, circulars, consultation papers, guidance, and PDFs from authoritative sources.
Connectors · Jobs · VersioningStage 02
Extract clean text, retain headings and tables, remove navigation noise, and standardize document structure.
Python · Parsers · OCR fallbackStage 03
Split by article, section, and semantic boundary while inheriting jurisdiction and document metadata.
Structure · Overlap · MetadataStage 04
Combine dense vector search, keyword relevance, metadata constraints, and document diversity.
Embeddings · BM25 · FiltersStage 05
Build a bounded evidence pack and ask Claude to compare, qualify, cite, and abstain when evidence is weak.
Claude API · Structured outputStage 06
Return structured conclusions, inline citations, source excerpts, and review metadata through the API.
FastAPI · Schemas · LogsRetrieval, filtering, context construction, validation, and observability do most of the reliability work around the LLM.
A weak answer can be traced to ingestion, metadata, retrieval, ranking, prompting, or citation mapping instead of being treated as an opaque failure.
A typed Python service turns model capability into a predictable application interface.
# Python client request payload = { "question": "Compare marketing controls", "jurisdictions": ["AE", "EU", "SG"], "as_of": "2026-07-01", "answer_mode": "comparative", "citations": True } result = client.post( "/v1/regulatory/research", json=payload, timeout=60 ) # Validated response schema { "answer": "...", "jurisdiction_findings": [...], "citations": [...], "review_flags": [] }
Pydantic validation rejects ambiguous jurisdiction codes, invalid dates, and unsupported answer modes before retrieval begins.
The service sends Claude only ranked evidence and explicit output rules, with timeouts, retry policy, and token budgets controlled in Python.
Applications receive stable fields for findings, sources, confidence signals, and review flags instead of a blob of unpredictable prose.
Request IDs connect API latency, retrieval traces, model usage, citations, and failures across the full execution path.
Legal relevance depends on where, when, who, and under which instrument a passage applies.
The retriever first constrains the corpus with deterministic legal context. Dense and lexical results are then fused, re-ranked, and diversified so one long document cannot crowd out every other authority.
The answer contract makes uncertainty and evidence quality visible to the reviewer.
Control 01
Material claims must point to retrieved passages. Unsupported statements are removed or marked for review.
Claim → sourceControl 02
Effective dates and superseded versions stay attached to chunks so historical rules do not masquerade as current.
As-of dateControl 03
If evidence is thin, conflicting, or outside the selected scope, the system says so instead of completing the gap.
No-answer modeControl 04
Source excerpts, document links, and review flags keep a qualified person in control of the final interpretation.
Decision supportRAG evaluation separates retrieval failures from answer failures so improvements are targeted.
A curated set of regulatory questions tests whether the correct authority and passage reach the context window across markets and document types.
Generated answers are reviewed against the retrieved evidence and the actual research intent. Fluency alone is not the score.
Does every conclusion follow from a cited passage?
Were all requested jurisdictions and sub-questions addressed?
Does each citation support the exact sentence it follows?
Does the answer qualify conflict, ambiguity, and missing evidence?
One engineering team owned the path from data ingestion to the API boundary and the final answer experience.
Silat Technologies connected regulatory data to a reliable AI product.
The delivery combined backend engineering, information retrieval, context design, data modeling, evaluation, and production safeguards. The result is a domain-specific research system with an LLM inside it, not a chatbot wrapped around unstructured content.