These models are designed for the intermediate task of Multi-Hop Retrieval Planning. Rather than generating natural language, the models act as implicit-reasoning filters. They ingest a question $Q$ and a context window $C$, and output a structured sequence of discrete search steps (keywords and coordinates) $T$ optimized for downstream BM25 sentence retrieval.
Repository structure
The models are categorized by the ablation studies described in the paper.
Important: Ensure you are using the correct word_vocab.json (available in each subdirectory) associated with each specific model, as the vocabularies differ between the EPE and Non-EPE configurations.
Each subdirectory contains two files:
model.pt - the model state dictionary of the best-performing epoch.
word_vocab.json - the corresponding vocabulary.
Usage
To run inference using these weights, clone the official GitHub Repository and utilize the provided demo.py script. Additionally, to run inference independently, follow the example below.
python
1# Example of loading the model architecture in PyTorch2from supporting_scripts.custom_models import PointerGeneratorGRU
3import torch
45device = torch.device('cpu')# The models are optimized for CPU inference6vocab_size =81927inference_model_path ="./saved_models/main_ep16.pt"89planning_model = PointerGeneratorGRU(inp_vocab_size=vocab_size, out_vocab_size=vocab_size, PAD_ix=PAD_ix, hid_size=256, emb_size=64, device=device)10planning_model.load_state_dict(torch.load(inference_model_path))11planning_model.to(device)12planning_model.eval()
Citation
If you use these models, please cite the original paper:
@misc{staroverov_2026_20526992,
author = {Staroverov, Nikolay},
title = {Scaling Down: Multi-Hop Information Retrieval in
Resource-Constrained Environments},
month = jun,
year = 2026,
publisher = {Zenodo},
doi = {10.5281/zenodo.20526992},
url = {https://doi.org/10.5281/zenodo.20526992},
}