pub trait RetrievalEngine: Send + Sync {
// Required methods
fn query(&self, request: &RetrievalRequest) -> Result<RetrievalResponse>;
fn dimension(&self) -> usize;
fn corpus_size(&self) -> usize;
fn index_names(&self) -> Vec<String>;
}Expand description
Core trait for RAG++ retrieval engines.
Implementations must provide thread-safe retrieval operations.
Required Methods§
Sourcefn query(&self, request: &RetrievalRequest) -> Result<RetrievalResponse>
fn query(&self, request: &RetrievalRequest) -> Result<RetrievalResponse>
Execute a retrieval query.
Sourcefn corpus_size(&self) -> usize
fn corpus_size(&self) -> usize
Get the number of records in the corpus.
Sourcefn index_names(&self) -> Vec<String>
fn index_names(&self) -> Vec<String>
Get available index names.