@@ -124,30 +124,43 @@ async def init_resources():
124124
125125 app .state .embedder = init_embedder ()
126126
127- # Заглушка для тестирования
128- app . state . qdrant_client = None
129-
130- # Создаем мок-документы для тестирования
131- from langchain . schema import Document
132-
133- documents = [
134- Document (
135- page_content = "Тестовый документ о стипендиях" , metadata = { "source" : "Стипендии" , "key_words" : "стипендия" }
136- )
137- ]
127+ app . state . qdrant_client = QdrantClient (
128+ url = "http://qdrant.profcomff.com:6333" ,
129+ api_key = settings . QDRANT_API_KEY
130+ )
131+
132+ documents = get_documents_from_qdrant (
133+ client = app . state . qdrant_client ,
134+ collection_name = settings . collection_name ,
135+ page_content_field = "page_content" ,
136+ metadata_field = "metadata"
137+ )
138138
139139 app .state .bm25_retriever = BM25Retriever .from_documents (
140140 documents , preprocess_func = preprocess_stem , k = settings .retrivier_k
141141 )
142142
143- # Заглушка для vector_store
144- app .state .vector_store = None
143+ app .state .vector_store = QdrantVectorStore (
144+ client = app .state .qdrant_client ,
145+ collection_name = settings .collection_name ,
146+ embedding = app .state .embedder ,
147+ )
148+
149+ app .state .vector_retriever = app .state .vector_store .as_retriever (search_kwargs = {"k" : settings .retrivier_k })
150+
151+ app .state .ensemble_retriever = EnsembleRetriever (retrievers = [app .state .bm25_retriever , app .state .vector_retriever ],
152+ weights = [0.5 , 0.5 ])
153+
154+ app .state .filtered_ensemble_retriever = FilteredEnsembleRetriever (app .state .vector_store ,
155+ app .state .bm25_retriever ,
156+ retriever_k = settings .retrivier_k ,
157+ ensemble_k = settings .ensemble_k )
158+
159+ app .state .keywords_dict = generate_keywords_dict (
160+ vector_store = app .state .vector_store ,
161+ output_json_path = "file/key_words_dict.json"
162+ )
145163
146- # Заглушки для ретриверов
147- app .state .vector_retriever = None
148- app .state .ensemble_retriever = None
149- app .state .filtered_ensemble_retriever = None
150- app .state .keywords_dict = {}
151164
152165 app_state_dict = {
153166 "credentials" : app .state .credentials ,
0 commit comments