Hi all, I'm trying to build a tool that would let users query/interact with hundreds of documents. In some cases, users are looking for a single document (e.g "Summarize document 5?"). In other cases, their query requires that the tool iterates over all documents and retrieves specific information (e.g. "How many documents mentioned X?"). What I am thinking of doing is building functions for each type of retrieval; for example, when looking for a single document, use an AutoRetriever with metadata filters. Then I would set up an agent to select which retriever is appropriate based on the query. Before I start building, I wanted to know if this is a good approach, or is there a better way? Thanks in advance.