classFixedRecencyPostprocessor(BaseNodePostprocessor):""" Fixed Recency post-processor. This post-processor does the following steps orders nodes by date. Assumes the date_key corresponds to a date field in the metadata. """top_k:int=1date_key:str="date"@classmethoddefclass_name(cls)->str:return"FixedRecencyPostprocessor"def_postprocess_nodes(self,nodes:List[NodeWithScore],query_bundle:Optional[QueryBundle]=None,)->List[NodeWithScore]:"""Postprocess nodes."""try:importpandasaspdexceptImportError:raiseImportError("pandas is required for this function. Please install it with `pip install pandas`.")ifquery_bundleisNone:raiseValueError("Missing query bundle in extra info.")# sort nodes by datenode_dates=pd.to_datetime([node.node.metadata[self.date_key]fornodeinnodes])sorted_node_idxs=np.flip(node_dates.argsort())sorted_nodes=[nodes[idx]foridxinsorted_node_idxs]returnsorted_nodes[:self.top_k]