File size: 2,293 Bytes
a91d88d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
"""
Human+ Core AI Layer
====================
Semua logika AI, RAG, PDF processing, chart, dan report generation.

Cara pakai:
    from core.ai_client import call_gemini, get_client
    from core.rag_engine import get_vector_store, retrieve_context
    from core.pdf_processor import extract_biomarkers
    from core.protocol_generator import generate_protocol
    from core.chart_builder import build_gauge_chart, GAUGE_PRESETS
    from core.report_generator import generate_pdf_report

Modules:
    ai_client          β€” Gemini client singleton + call_gemini() wrapper
    rag_engine         β€” FAISS vector store loader + MMR retriever
    pdf_processor      β€” PDF β†’ structured biomarker list via Gemini
    protocol_generator β€” Biomarker + RAG context β†’ protocol dict via Gemini
    chart_builder      β€” Plotly figure builders (gauge, bar, donut)
    report_generator   β€” Branded PDF report via reportlab
"""

from core.ai_client import (
    get_client,
    call_gemini,
    pdf_bytes_to_part,
    check_client_health,
    GeminiClientError,
    MODEL_NAME,
)

from core.rag_engine import (
    get_vector_store,
    retrieve_context,
    get_knowledge_stats,
    RAGEngineError,
)

from core.pdf_processor import (
    extract_biomarkers,
    get_raw_extraction_text,
    PDFProcessorError,
)

from core.protocol_generator import (
    generate_protocol,
    generate_protocol_from_raw_text,
    ProtocolGeneratorError,
)

from core.chart_builder import (
    build_gauge_chart,
    build_biomarker_bar_chart,
    build_status_donut,
    get_gauge_preset,
    GAUGE_PRESETS,
)

from core.report_generator import generate_pdf_report

__all__ = [
    # ai_client
    "get_client", "call_gemini", "pdf_bytes_to_part",
    "check_client_health", "GeminiClientError", "MODEL_NAME",
    # rag_engine
    "get_vector_store", "retrieve_context", "get_knowledge_stats", "RAGEngineError",
    # pdf_processor
    "extract_biomarkers", "get_raw_extraction_text", "PDFProcessorError",
    # protocol_generator
    "generate_protocol", "generate_protocol_from_raw_text", "ProtocolGeneratorError",
    # chart_builder
    "build_gauge_chart", "build_biomarker_bar_chart", "build_status_donut",
    "get_gauge_preset", "GAUGE_PRESETS",
    # report_generator
    "generate_pdf_report",
]