rag.search.query_expansion
Query expansion for improved retrieval recall via multi-query retrieval.
Query expansion for improved retrieval recall via multi-query retrieval.
- class QueryExpander(llm_generate_fn=None, n_variations=3, include_original=True)[source]
Bases:
objectExpand queries using LLM for multi-query retrieval.
Generates multiple reformulations of a search query to improve recall by catching different phrasings and aspects of the topic.
- Parameters:
Example
>>> def mock_llm(prompt): return "1. What is auth?\n2. How to authenticate?" >>> expander = QueryExpander(llm_generate_fn=mock_llm, n_variations=2) >>> queries = expander.expand("authentication methods") >>> # Returns: ["authentication methods", "What is auth?", "How to authenticate?"]
- fuse_search_results(result_lists, n_results=5, dedupe_by='id')[source]
Fuse results from multiple searches with deduplication.
Combines results from multiple query variations, removing duplicates while preserving relevance ordering.
- Parameters:
- Returns:
Fused and deduplicated list of results.
- Return type:
Classes
- class QueryExpander(llm_generate_fn=None, n_variations=3, include_original=True)[source]
Bases:
objectExpand queries using LLM for multi-query retrieval.
Generates multiple reformulations of a search query to improve recall by catching different phrasings and aspects of the topic.
- Parameters:
Example
>>> def mock_llm(prompt): return "1. What is auth?\n2. How to authenticate?" >>> expander = QueryExpander(llm_generate_fn=mock_llm, n_variations=2) >>> queries = expander.expand("authentication methods") >>> # Returns: ["authentication methods", "What is auth?", "How to authenticate?"]
Functions
- fuse_search_results(result_lists, n_results=5, dedupe_by='id')[source]
Fuse results from multiple searches with deduplication.
Combines results from multiple query variations, removing duplicates while preserving relevance ordering.
- Parameters:
- Returns:
Fused and deduplicated list of results.
- Return type: