You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

26 lines
1013 B

2 weeks ago
# 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]]:
2 weeks ago
"""
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)