financial-assistant
28 строк · 1.2 Кб
1from django.http import JsonResponse2from . import preprocessing, namedEntities, dataLoader, ranker, retrievers3
4def main(request):5query = request.GET.get('q')6preprocessed_query = preprocessing.preprocessing(query)7lemmas = preprocessed_query.split(' ')8bank_id, product_id = namedEntities.determine_bank_product(lemmas)9
10prepocessed_db_texts, filtered_indices = dataLoader.get_db_texts(bank_id, product_id)11filtered_dense_vectors = dataLoader.load_dense_vectors(filtered_indices)12
13topK_dense_vectors_ids = retrievers.DenseRetriever(preprocessed_query, filtered_dense_vectors)14topK_sparse_vectors_ids = retrievers.SparseRetriever(preprocessed_query, filtered_indices)15
16ranked_ids = ranker.rankTexts(topK_dense_vectors_ids, topK_sparse_vectors_ids)17ranked_texts = dataLoader.load_texts_by_indices(prepocessed_db_texts, ranked_ids)18
19for text in ranked_texts:20bank, category, title, description, link = text.split('|')21response_data = {22"bank": bank,23"category": category,24"title": title,25"answer": description,26"link": link27}28return JsonResponse(response_data)29
30