phaply-backend / src /contract /__init__.py
thinhtt
Deploy from local
300df0f
Raw
History Blame Contribute Delete
1.88 kB
"""
Contract Parser Module — T4.1 (Người C)
========================================
Parses contract documents (PDF, DOCX, TXT) to Markdown using MinerU,
with PII detection and redaction for Vietnamese contracts.
Owner: Người C
Dependencies: MinerU (Apache 2.0)
Output: Contract dataclass with raw_text, redacted_text, pii_map
"""
from .models import Contract, ParseError
from .citations import LegalCitation
__all__ = [
"Contract",
"ParseError",
"ContractParser",
"LegalCitation",
"LegalContextAssembler",
"LegalRetrievalPlan",
"QueryRewriter",
"detect_pii",
"redact_pii",
"reconstruct_text",
]
def __getattr__(name: str):
if name == "ContractParser":
from .parser import ContractParser
return ContractParser
if name == "LegalContextAssembler":
from .context_assembler import LegalContextAssembler
return LegalContextAssembler
if name in {"LegalRetrievalPlan", "QueryRewriter"}:
from .query_rewriter import LegalRetrievalPlan, QueryRewriter
return {
"LegalRetrievalPlan": LegalRetrievalPlan,
"QueryRewriter": QueryRewriter,
}[name]
if name in {"detect_pii", "redact_pii", "reconstruct_text"}:
from .pii import detect_pii, redact_pii, reconstruct_text
return {
"detect_pii": detect_pii,
"redact_pii": redact_pii,
"reconstruct_text": reconstruct_text,
}[name]
if name in {"ContractReviewPipeline", "ContractReviewPipelineError"}:
from .review_pipeline import ContractReviewPipeline, ContractReviewPipelineError
return {
"ContractReviewPipeline": ContractReviewPipeline,
"ContractReviewPipelineError": ContractReviewPipelineError,
}[name]
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")