Spaces:
Paused
Paused
File size: 1,659 Bytes
88bdcff 78caafb 88bdcff 78caafb 88bdcff 78caafb |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
"""FDAM Pipeline - Fire Damage Assessment Processing.
This module provides the core processing pipeline for generating
fire damage assessment reports using AI vision analysis and
RAG-enhanced methodology lookup.
Lazy imports to avoid chromadb dependency at module load time for local development.
"""
__all__ = [
"ChatHandler",
"FDAMCalculator",
"DispositionEngine",
"DocumentGenerator",
"FDAMPipeline",
"PipelineResult",
"PDFGenerator",
"PDFResult",
"generate_sow_pdf",
]
def __getattr__(name):
"""Lazy import pipeline modules only when accessed."""
if name == "FDAMCalculator":
from .calculations import FDAMCalculator
return FDAMCalculator
elif name == "ChatHandler":
from .chat import ChatHandler
return ChatHandler
elif name == "DispositionEngine":
from .dispositions import DispositionEngine
return DispositionEngine
elif name == "DocumentGenerator":
from .generator import DocumentGenerator
return DocumentGenerator
elif name == "FDAMPipeline":
from .main import FDAMPipeline
return FDAMPipeline
elif name == "PipelineResult":
from .main import PipelineResult
return PipelineResult
elif name == "PDFGenerator":
from .pdf_generator import PDFGenerator
return PDFGenerator
elif name == "PDFResult":
from .pdf_generator import PDFResult
return PDFResult
elif name == "generate_sow_pdf":
from .pdf_generator import generate_sow_pdf
return generate_sow_pdf
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|