# from deepsearcher.configuration import vector_db, embedding_model, llm from deepsearcher import configuration from deepsearcher.vector_db.base import RetrievalResult def query(original_query: str, **kwargs) -> tuple[str, list[RetrievalResult]]: """ Query the knowledge base with a question and get an answer. This function uses the default searcher to query the knowledge base and generate an answer based on the retrieved information. Args: original_query: The question or query to search for. max_iter: Maximum number of iterations for the search process. Returns: A tuple containing: - The generated answer as a string - A list of retrieval results that were used to generate the answer """ default_searcher = configuration.default_searcher max_iter = kwargs.get("max_iter", 3) web_search = kwargs.get("web_search", False) return default_searcher.query(original_query, max_iter=max_iter, web_search=web_search)