As mentioned by @erup this cdQA python library is the solution I'm going for. I searched and read about anything on the subject, and tried to implement whatever found. Due to my lack of python knowledge I had poor results, also because what I found before is not ready for Tensorflow 2.0 so needs to be adapted, task where I terribly failed and the library's writers didn't bother to help.. I need to make it on TF 2.0 to be able to be served by Tensorflow serving, which needs a new written set of transformers, made by huggingface .https://github.com/huggingface/transformers
cdQA is just built upon that so it's just the perfect library out of the box. Not being entirely sure about what I'm doing in python, the cdQA is making me make giant leap forward,. Their suit of tools covers everything including adapting your own dataset to the SQuAd format. Dough explanation about implementing it is, at least for me , quite unuseful, THey have 3 colab Notebooks that really explain everything.. I just fell in love with it.
Also check this article on it
https://towardsdatascience.com/how-to-create-your-own-question-answering-system-easily-with-python-2ef8abc8eb5
Give it a try
PS: I just recalled, I found a typo in the line cdqa_pipeline.fit_retriever(X=df)
X=df
throws an error so the correct is cdqa_pipeline.fit_retriever(df)