pub struct MultiQueryRetriever { /* private fields */ }Expand description
MultiQueryRetriever
使用 LLM 生成多个查询变体,然后用基础检索器分别检索, 最后合并去重结果返回。
Implementations§
Source§impl MultiQueryRetriever
impl MultiQueryRetriever
pub fn new(llm: OpenAIChat, base_retriever: Arc<dyn RetrieverTrait>) -> Self
pub fn with_config(self, config: MultiQueryConfig) -> Self
pub fn with_num_queries(self, n: usize) -> Self
pub fn with_k_per_query(self, k: usize) -> Self
pub fn with_final_k(self, k: usize) -> Self
pub async fn retrieve_multi( &self, query: &str, ) -> Result<Vec<Document>, MultiQueryError>
pub async fn retrieve_multi_with_scores( &self, query: &str, ) -> Result<Vec<SearchResult>, MultiQueryError>
pub async fn get_generated_queries( &self, query: &str, ) -> Result<Vec<String>, MultiQueryError>
Auto Trait Implementations§
impl !RefUnwindSafe for MultiQueryRetriever
impl !UnwindSafe for MultiQueryRetriever
impl Freeze for MultiQueryRetriever
impl Send for MultiQueryRetriever
impl Sync for MultiQueryRetriever
impl Unpin for MultiQueryRetriever
impl UnsafeUnpin for MultiQueryRetriever
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more