This PR introduces the Retriever interface. Once we know what documents to score, the retriever scores them.
Now that we can swap out retrievers, we're able to implement new ways to score. This could the improvements mentioned in EMVB, or even a binary retriever.
Do note that the interface is not perfect. It feels like there is some overlap with what a query engine might need, and that work might help us figure out the best interface for retrieval.
This PR introduces the Retriever interface. Once we know what documents to score, the retriever scores them.
Now that we can swap out retrievers, we're able to implement new ways to score. This could the improvements mentioned in EMVB, or even a binary retriever.
Do note that the interface is not perfect. It feels like there is some overlap with what a query engine might need, and that work might help us figure out the best interface for retrieval.