update the architecture & description #1
Reference in New Issue
Block a user
No description provided.
Delete Branch "update_"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary by CodeRabbit
Release Notes
New Features
Documentation
ℹ️ Recent review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID:
174d111b-6b35-41da-8481-a249cde088e0📥 Commits
Reviewing files that changed from the base of the PR and between
16a91bd17eandf705113711.⛔ Files ignored due to path filters (7)
workspace/LEGACY/VKIST_ML/codebase-vkist-ultrasound-legacy/ NON_ML/assets/fonts/Roboto-Bold.ttfis excluded by!**/*.ttfworkspace/LEGACY/VKIST_ML/codebase-vkist-ultrasound-legacy/ NON_ML/assets/fonts/Roboto-Italic.ttfis excluded by!**/*.ttfworkspace/LEGACY/VKIST_ML/codebase-vkist-ultrasound-legacy/ NON_ML/assets/fonts/Roboto-Regular.ttfis excluded by!**/*.ttfworkspace/LEGACY/VKIST_ML/codebase-vkist-ultrasound-legacy/ NON_ML/assets/fonts/arial.ttfis excluded by!**/*.ttfworkspace/LEGACY/VKIST_ML/codebase-vkist-ultrasound-legacy/ NON_ML/assets/fonts/arialbd.ttfis excluded by!**/*.ttfworkspace/LEGACY/VKIST_ML/codebase-vkist-ultrasound-legacy/ NON_ML/assets/fonts/ariali.ttfis excluded by!**/*.ttfworkspace/LEGACY/VKIST_ML/codebase-vkist-ultrasound-legacy/ NON_ML/assets/logo.pngis excluded by!**/*.png📒 Files selected for processing (70)
README.mdproj_level_reading/ARCHITECT/SOFTWARE_ARCHITECTURE_SPEC.mdproj_level_reading/ARCHITECT/SOLUTION_ARCHITECTURE_SPEC.mdworkspace/LEGACY/VKIST_ML/codebase-vkist-ultrasound-legacy/ NON_ML/Dockerfileworkspace/LEGACY/VKIST_ML/codebase-vkist-ultrasound-legacy/ NON_ML/app.pyworkspace/LEGACY/VKIST_ML/codebase-vkist-ultrasound-legacy/ NON_ML/pdf_service.pyworkspace/LEGACY/VKIST_ML/codebase-vkist-ultrasound-legacy/ NON_ML/templates/css/style.cssworkspace/LEGACY/VKIST_ML/codebase-vkist-ultrasound-legacy/ NON_ML/templates/index.htmlworkspace/LEGACY/VKIST_ML/codebase-vkist-ultrasound-legacy/ NON_ML/templates/js/script.jsworkspace/LEGACY/VKIST_ML/codebase-vkist-ultrasound-legacy/ML/requirements.txtworkspace/LEGACY/VKIST_ML/codebase-vkist-ultrasound-legacy/README.mdworkspace/LEGACY/VKIST_ML/codebase-vkist-ultrasound-legacy/architecture-review.htmlworkspace/LEGACY/VKIST_ML/docs/Instruction_Manunal_API_Doc_Setup_pilot.mdworkspace/LEGACY/VKIST_ML/docs/PILOT_TECH_DESC.mdworkspace/LEGACY/VKIST_ML/docs/VKIST_ULTRASOUND_INTRODUCE_SPEC.mdworkspace/LEGACY/VKIST_ML/docs/arch_code_analysis.mdworkspace/sprint_1_2/CODEBASE/backend/spec/backend-spec.mdworkspace/sprint_1_2/CODEBASE/backend/spec/interface-contract.mdworkspace/sprint_1_2/CODEBASE/data/spec/data_spec.mdworkspace/sprint_1_2/CODEBASE/data/spec/interface_contract.mdworkspace/sprint_1_2/CODEBASE/frontend/spec/frontend_spec.mdworkspace/sprint_1_2/CODEBASE/frontend/spec/interface_contract.mdworkspace/sprint_1_2/CODEBASE/frontend/subprojects/offline/spec/interface_contract.mdworkspace/sprint_1_2/CODEBASE/frontend/subprojects/offline/spec/offline_spec.mdworkspace/sprint_1_2/CODEBASE/infra/implementation/cicd/jenkin_run.shworkspace/sprint_1_2/CODEBASE/infra/implementation/observability/docker-compose.yamlworkspace/sprint_1_2/CODEBASE/infra/implementation/observability/prometheus.ymlworkspace/sprint_1_2/CODEBASE/infra/implementation/s3/angle_classify_convnext_tiny/config.pbtxtworkspace/sprint_1_2/CODEBASE/infra/implementation/s3/angle_classify_densenet/config.pbtxtworkspace/sprint_1_2/CODEBASE/infra/implementation/s3/angle_classify_efficientnet/config.pbtxtworkspace/sprint_1_2/CODEBASE/infra/implementation/s3/angle_classify_resnet50/config.pbtxtworkspace/sprint_1_2/CODEBASE/infra/implementation/s3/angle_classify_swin_v2_s/config.pbtxtworkspace/sprint_1_2/CODEBASE/infra/implementation/s3/generate_ensemble.pyworkspace/sprint_1_2/CODEBASE/infra/implementation/s3/inflammation_model_efficientnet_b0_ultrasound_2_cls/config.pbtxtworkspace/sprint_1_2/CODEBASE/infra/implementation/s3/msk_vision_pipeline_ensemble/config.pbtxtworkspace/sprint_1_2/CODEBASE/infra/implementation/s3/segmentation_model_post_deeplabv3/config.pbtxtworkspace/sprint_1_2/CODEBASE/infra/implementation/s3/segmentation_model_post_deeplabv3_resnet101/config.pbtxtworkspace/sprint_1_2/CODEBASE/infra/implementation/s3/segmentation_model_post_efficientfeedback/config.pbtxtworkspace/sprint_1_2/CODEBASE/infra/implementation/s3/segmentation_model_unet3plus_att/config.pbtxtworkspace/sprint_1_2/CODEBASE/infra/implementation/s3/segmentation_model_unet_resnet101/config.pbtxtworkspace/sprint_1_2/CODEBASE/infra/implementation/s3/upload_ensemble.pyworkspace/sprint_1_2/CODEBASE/infra/implementation/sh_files/mv_file.shworkspace/sprint_1_2/CODEBASE/infra/implementation/sh_files/mv_sh_2.shworkspace/sprint_1_2/CODEBASE/infra/implementation/sh_files/mv_sh_3.shworkspace/sprint_1_2/CODEBASE/infra/implementation/sh_files/mv_sh_4.shworkspace/sprint_1_2/CODEBASE/infra/implementation/triton_run/modal_triton.pyworkspace/sprint_1_2/CODEBASE/infra/implementation/triton_run/run.shworkspace/sprint_1_2/CODEBASE/infra/spec/infra_spec.mdworkspace/sprint_1_2/CODEBASE/infra/spec/interface_contract.mdworkspace/sprint_1_2/CODEBASE/knowledge/spec/interface_contract.mdworkspace/sprint_1_2/CODEBASE/knowledge/spec/knowledge_spec.mdworkspace/sprint_1_2/CODEBASE/ml/implementation/cv/arch/efficientfeedback.pyworkspace/sprint_1_2/CODEBASE/ml/implementation/cv/arch/segment_anything/__init__.pyworkspace/sprint_1_2/CODEBASE/ml/implementation/cv/arch/segment_anything/automatic_mask_generator.pyworkspace/sprint_1_2/CODEBASE/ml/implementation/cv/arch/segment_anything/build_sam.pyworkspace/sprint_1_2/CODEBASE/ml/implementation/cv/arch/segment_anything/modeling/__init__.pyworkspace/sprint_1_2/CODEBASE/ml/implementation/cv/arch/segment_anything/modeling/common.pyworkspace/sprint_1_2/CODEBASE/ml/implementation/cv/arch/segment_anything/modeling/image_encoder.pyworkspace/sprint_1_2/CODEBASE/ml/implementation/cv/arch/segment_anything/modeling/mask_decoder.pyworkspace/sprint_1_2/CODEBASE/ml/implementation/cv/arch/segment_anything/modeling/prompt_encoder.pyworkspace/sprint_1_2/CODEBASE/ml/implementation/cv/arch/segment_anything/modeling/sam.pyworkspace/sprint_1_2/CODEBASE/ml/implementation/cv/arch/segment_anything/modeling/transformer.pyworkspace/sprint_1_2/CODEBASE/ml/implementation/cv/arch/segment_anything/predictor.pyworkspace/sprint_1_2/CODEBASE/ml/implementation/cv/arch/segment_anything/utils/__init__.pyworkspace/sprint_1_2/CODEBASE/ml/implementation/cv/arch/segment_anything/utils/amg.pyworkspace/sprint_1_2/CODEBASE/ml/implementation/cv/arch/segment_anything/utils/onnx.pyworkspace/sprint_1_2/CODEBASE/ml/implementation/cv/arch/segment_anything/utils/transforms.pyworkspace/sprint_1_2/CODEBASE/ml/implementation/cv/arch/unet3plus_att.pyworkspace/sprint_1_2/Design_Material/LEGACY/VKIST_ML/codebase-vkist-ultrasound-legacyworkspace/sprint_1_2/SPRINT_1_2_ARCHITECTURE_SPEC.md📝 Walkthrough
Walkthrough
The PR adds two project-level architecture specification documents (solution and software architecture) under
proj_level_reading/ARCHITECT/, a new sprint 1–2 architecture spec, and minor updates to backend/knowledge component specs replacing Qdrant with pgvector and PhoGPT with GemmaE2B. It also introduces a complete legacy VKIST NON_ML ultrasound FastAPI application including ML inference pipeline, PDF report generation, Vietnamese web UI, Dockerfile, and supporting documentation.Changes
Architecture & Design Documentation
proj_level_reading/ARCHITECT/SOLUTION_ARCHITECTURE_SPEC.md,proj_level_reading/ARCHITECT/SOFTWARE_ARCHITECTURE_SPEC.mdworkspace/sprint_1_2/SPRINT_1_2_ARCHITECTURE_SPEC.md,workspace/sprint_1_2/CODEBASE/backend/spec/backend-spec.md,workspace/sprint_1_2/CODEBASE/knowledge/spec/knowledge_spec.md,README.mdPROJ_LEVEL_READING/andDesign_Material/additions.Legacy VKIST NON_ML Ultrasound Application
workspace/LEGACY/VKIST_ML/codebase-vkist-ultrasound-legacy/ NON_ML/app.py(lines 1–560)get_mask_bounding_box,find_max_continuous_segment), thickness measurement (measure_thickness_new), inflammation severity scoring, and visualization utilities (create_segmentation_overlay,apply_clahe).workspace/LEGACY/VKIST_ML/codebase-vkist-ultrasound-legacy/ NON_ML/app.py(lines 562–852),workspace/LEGACY/VKIST_ML/codebase-vkist-ultrasound-legacy/ NON_ML/pdf_service.pyPOST /api/analyzeorchestrating the full ML pipeline,GET /api/health,POST /api/save(timestamped patient folder with info.txt, images, and auto-generated PDF),POST /api/export-pdfreturning PDF as attachment, and Uvicorn launcher. Addspdf_service.pywithMedicalReportPDF(FPDF subclass),get_clean_image_stream(base64/path to non-interlaced PNG), andgenerate_medical_reportassembling the full Vietnamese-language patient report.workspace/LEGACY/VKIST_ML/codebase-vkist-ultrasound-legacy/ NON_ML/templates/index.html,...templates/css/style.css,...templates/js/script.jsindex.htmlwith model-selection dropdowns, drag-drop upload panel, results cards (angle/inflammation/segmentation/measurement/severity), patient info form, and diagnosis modal. Addsstyle.csswith full layout grid, form/badge/modal/spinner styling and responsive breakpoint. Addsscript.jswith file handling,uploadAndAnalyze,displayResults, save/export wiring to/api/saveand/api/export-pdf, color legend rendering, modal lifecycle, and page-load health check.workspace/LEGACY/VKIST_ML/codebase-vkist-ultrasound-legacy/ NON_ML/Dockerfile,.../ML/requirements.txt,.../README.md,.../architecture-review.htmlrequirements.txtwith pinned PyTorch CPU and FastAPI/CV/PDF dependencies. Adds aREADME.mdwith setup, model-weight instructions, and LEGACY repo rules. Adds a staticarchitecture-review.htmlproposingapp.pymodularization with before/after Mermaid diagrams.Sequence Diagram(s)
Estimated code review effort
🎯 4 (Complex) | ⏱️ ~60 minutes
Poem
✨ Finishing Touches
📝 Generate docstrings
🧪 Generate unit tests (beta)
update_Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
❤️ Share
Comment
@coderabbitai helpto get the list of available commands.