Index your data into separate documents per question/answer pair, and use a vector index to retrieve the closest matching Q/As
A very rough example
from llama_index import GPTSimpleVectorIndex, Document
documents = []
for qa_text in qa_texts:
documents.append(Document(qa_text))
index = GPTSimpleVectorIndex.from_documents(documents)
index.save_to_disk("index.json")
...
index = GPTSimpleVectorIndex.load_from_disk(documents)
priont(index.query("my query", similarity_top_k=3)) # optionally add response_mode="compact"