Spaces:
Running
Running
from adapters.storage.file_system_repository import FileSystemRepository | |
from adapters.ml.vgt_model_adapter import VGTModelAdapter | |
from adapters.ml.fast_trainer_adapter import FastTrainerAdapter | |
from adapters.infrastructure.pdf_analysis_service_adapter import PDFAnalysisServiceAdapter | |
from adapters.infrastructure.text_extraction_adapter import TextExtractionAdapter | |
from adapters.infrastructure.toc_service_adapter import TOCServiceAdapter | |
from adapters.infrastructure.visualization_service_adapter import VisualizationServiceAdapter | |
from adapters.infrastructure.ocr_service_adapter import OCRServiceAdapter | |
from adapters.infrastructure.format_conversion_service_adapter import FormatConversionServiceAdapter | |
from adapters.infrastructure.markdown_conversion_service_adapter import MarkdownConversionServiceAdapter | |
from adapters.infrastructure.html_conversion_service_adapter import HtmlConversionServiceAdapter | |
from adapters.web.fastapi_controllers import FastAPIControllers | |
from use_cases.pdf_analysis.analyze_pdf_use_case import AnalyzePDFUseCase | |
from use_cases.text_extraction.extract_text_use_case import ExtractTextUseCase | |
from use_cases.toc_extraction.extract_toc_use_case import ExtractTOCUseCase | |
from use_cases.visualization.create_visualization_use_case import CreateVisualizationUseCase | |
from use_cases.ocr.process_ocr_use_case import ProcessOCRUseCase | |
from use_cases.markdown_conversion.convert_to_markdown_use_case import ConvertToMarkdownUseCase | |
from use_cases.html_conversion.convert_to_html_use_case import ConvertToHtmlUseCase | |
def setup_dependencies(): | |
file_repository = FileSystemRepository() | |
vgt_model_service = VGTModelAdapter() | |
fast_model_service = FastTrainerAdapter() | |
format_conversion_service = FormatConversionServiceAdapter() | |
markdown_conversion_service = MarkdownConversionServiceAdapter() | |
html_conversion_service = HtmlConversionServiceAdapter() | |
text_extraction_service = TextExtractionAdapter() | |
toc_service = TOCServiceAdapter() | |
visualization_service = VisualizationServiceAdapter() | |
ocr_service = OCRServiceAdapter() | |
pdf_analysis_service = PDFAnalysisServiceAdapter( | |
vgt_model_service=vgt_model_service, | |
fast_model_service=fast_model_service, | |
format_conversion_service=format_conversion_service, | |
file_repository=file_repository, | |
) | |
analyze_pdf_use_case = AnalyzePDFUseCase(pdf_analysis_service=pdf_analysis_service, ml_model_service=vgt_model_service) | |
extract_text_use_case = ExtractTextUseCase( | |
pdf_analysis_service=pdf_analysis_service, text_extraction_service=text_extraction_service | |
) | |
extract_toc_use_case = ExtractTOCUseCase(pdf_analysis_service=pdf_analysis_service, toc_service=toc_service) | |
create_visualization_use_case = CreateVisualizationUseCase( | |
pdf_analysis_service=pdf_analysis_service, visualization_service=visualization_service | |
) | |
process_ocr_use_case = ProcessOCRUseCase(ocr_service=ocr_service, file_repository=file_repository) | |
convert_to_markdown_use_case = ConvertToMarkdownUseCase( | |
pdf_analysis_service=pdf_analysis_service, markdown_conversion_service=markdown_conversion_service | |
) | |
convert_to_html_use_case = ConvertToHtmlUseCase( | |
pdf_analysis_service=pdf_analysis_service, html_conversion_service=html_conversion_service | |
) | |
controllers = FastAPIControllers( | |
analyze_pdf_use_case=analyze_pdf_use_case, | |
extract_text_use_case=extract_text_use_case, | |
extract_toc_use_case=extract_toc_use_case, | |
create_visualization_use_case=create_visualization_use_case, | |
process_ocr_use_case=process_ocr_use_case, | |
convert_to_markdown_use_case=convert_to_markdown_use_case, | |
convert_to_html_use_case=convert_to_html_use_case, | |
file_repository=file_repository, | |
) | |
return controllers | |