Initializes the RAGHelper class and loads environment variables.
(self, logger, db_pool)
| 30 | """ |
| 31 | |
| 32 | def __init__(self, logger, db_pool): |
| 33 | """ |
| 34 | Initializes the RAGHelper class and loads environment variables. |
| 35 | """ |
| 36 | self.logger = logger |
| 37 | self.db_pool = db_pool |
| 38 | |
| 39 | # Set up docling |
| 40 | self.converter = DocumentConverter() |
| 41 | |
| 42 | # Initialize the LLM and embeddings |
| 43 | self.llm = LLMHelper(logger) |
| 44 | self.embeddings = self.initialize_embeddings() |
| 45 | |
| 46 | # Set up the PostgresHybridRetriever |
| 47 | self.retriever = PostgresHybridRetriever(self.db_pool) |
| 48 | self.retriever.setup_database(self.embeddings.get_sentence_embedding_dimension()) |
| 49 | |
| 50 | # Initialize the reranker |
| 51 | if os.getenv("rerank") == "True": |
| 52 | self.logger.info("Initializing reranker.") |
| 53 | self.reranker = Reranker() |
| 54 | |
| 55 | # Load the data into the vector store |
| 56 | self.splitter = self._initialize_text_splitter() |
| 57 | if not self.retriever.has_data(): |
| 58 | self.load_data() |
| 59 | |
| 60 | # Provenance |
| 61 | if os.getenv("provenance_method") == "similarity": |
| 62 | self.similarity_attribution = DocumentSimilarityAttribution() |
| 63 | |
| 64 | # Summarization |
| 65 | if os.getenv("use_summarization") == "True": |
| 66 | self.tiktoken_encoder = tiktoken.encoding_for_model(os.getenv("summarization_encoder")) |
| 67 | |
| 68 | ############################ |
| 69 | ### Initialization functions |
nothing calls this directly
no test coverage detected