Обучить ODQA на своих данных очень просто. Для этого нужно взять конфиг нужного ранжировщика и указать ему свой путь до данных и тип данных.
К примеру, для обучения ODQA а русском языке необходимо выполнить следующий код:
from deeppavlov import configs
from deeppavlov.core.common.file import read_json
from deeppavlov import configs, train_model
model_config = read_json(configs.doc_retrieval.ru_ranker_tfidf_wiki)
model_config["dataset_reader"]["data_path"] = "<ПУТЬ/ДО_ПАПКИ_ИЛИ_ФАЙЛА_С_ВАШИМИ_ДАННЫМИ>"
model_config["dataset_reader"]["save_path"] = "ЖЕЛАЕМЫЙ_ПУТЬ_ДО_ФАЙЛА_БД (например, "data.db")"
model_config["dataset_reader"]["dataset_format"] = "txt"
model_config["dataset_iterator"]["load_path"] = "ЖЕЛАЕМЫЙ_ПУТЬ_ДО_ФАЙЛА_БД (например, "data.db")"
model_config["pipe"][0]["save_path"] = "ЖЕЛАЕМЫЙ_ПУТЬ_ДО_МАТРИЦЫ_РАНЖИРОВЩИКА (например, "data.npz")"
model_config["pipe"][0]["load_path"] = "ЖЕЛАЕМЫЙ_ПУТЬ_ДО_МАТРИЦЫ_РАНЖИРОВЩИКА (например, "data.npz")"
doc_retrieval = train_model(model_config)
Также можно редактировать JSON-конфиги напрямую, а не в коде.
В результате работы предыдущего кода по указанным вами желаемым путям появится 2 файла: data.db и data.npz. После этого можно будет взять конфиг ODQA и указать ему в config_path путь до конфига ранжировщика со всеми параметрами выше. Затем запустить ODQA на инференс.