i-d-lytvynenko's picture
Add basic Elasticsearch support
2931845
from pathlib import Path
from llama_index.retrievers.bm25 import BM25Retriever
# from main import extract_court_decision_text
# INDEX_NAME = "bm25_retriever_long"
# TEST_CD_URL = "https://reyestr.court.gov.ua/Review/118766467"
# TEST_CD_URL = "https://reyestr.court.gov.ua/Review/118763429"
# query = extract_court_decision_text(TEST_CD_URL)
INDEX_NAME = "bm25_retriever_short"
query = (
# "Викрадення майна, злочини, пов'язані з порушенням законодавчих норм щодо обігу та використання "
# "документів, печаток, штампів, бланків, а також спеціальних технічних засобів "
# "для отримання інформації та комунікаційних ліній."
"Проникнення в житло, викрадення майна, використання підробного паспорта."
)
PERSIST_PATH = Path("Save_Index_Local")
PRINT_QUERY = True
retriever = BM25Retriever.from_persist_dir(str(PERSIST_PATH / INDEX_NAME))
if PRINT_QUERY:
print(query)
nodes_with_score = retriever.retrieve(query)
for index, node_with_score in enumerate(nodes_with_score, start=1):
source_title = node_with_score.node.metadata.get("title", "Невідомий заголовок")
print(index, f"{node_with_score.score:.4f}", source_title, "\n", sep="\t")