File size: 984 Bytes
e68d535
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
@startuml backend
class VectorDatabase {
    - chroma_client
    - collection
    + __init__(config: class VectorDatabaseConfig {})
    + store_text_as_vector(df: pd.DataFrame)
}

class PDFExtractor {
    + __init__(config: class PDFExtractorConfig {})
    + extract_text_from_pdf(pdf_path: str)
}

class GenerativeModel {
    - client
    + __init__(config: class GenerativeModelConfig {})
    + generate_response(query: str)
}

class RAGApplicationConfig {
    + vector_db: VectorDatabase
    + pdf_extractor: PDFExtractor
    + generative_model: GenerativeModel
}

class DataPreparerConfig {
    + input_data_path: str
    + output_data_path: str
    + output_file: str
    + pdf_extractor: PDFExtractorConfig
    + vector_database: VectorDatabaseConfig
    + embedding_model: EmbeddingModelConfig
}

class RAGApplication {
    - vector_db
    - pdf_extractor
    - generative_model
    + __init__(config: class RAGApplicationConfig)
    + run(pdf_path: str, query: str)
}

@enduml