from typing import Any, List from langchain_core.callbacks import CallbackManagerForRetrieverRun from langchain_core.documents import Document from langchain_core.retrievers import BaseRetriever from langchain_community.utilities import YouSearchAPIWrapper class YouRetriever(BaseRetriever, YouSearchAPIWrapper): """`You` retriever that uses You.com's search API. It wraps results() to get_relevant_documents It uses all YouSearchAPIWrapper arguments without any change. """ def _get_relevant_documents( self, query: str, *, run_manager: CallbackManagerForRetrieverRun, **kwargs: Any, ) -> List[Document]: return self.results(query, run_manager=run_manager.get_child(), **kwargs)