pub struct RagEngine { /* private fields */ }Expand description
RAG engine for document retrieval and generation
Implementations§
Source§impl RagEngine
impl RagEngine
Sourcepub fn new(config: RagConfig, storage: Arc<dyn DocumentStorage>) -> Result<Self>
pub fn new(config: RagConfig, storage: Arc<dyn DocumentStorage>) -> Result<Self>
Create a new RAG engine
Sourcepub fn storage(&self) -> &Arc<dyn DocumentStorage>
pub fn storage(&self) -> &Arc<dyn DocumentStorage>
Get storage backend
Sourcepub fn update_config(&mut self, config: RagConfig) -> Result<()>
pub fn update_config(&mut self, config: RagConfig) -> Result<()>
Update configuration
Sourcepub async fn add_document(
&self,
document_id: String,
content: String,
metadata: HashMap<String, String>,
) -> Result<()>
pub async fn add_document( &self, document_id: String, content: String, metadata: HashMap<String, String>, ) -> Result<()>
Add document to the knowledge base
Sourcepub async fn search(
&mut self,
query: &str,
top_k: Option<usize>,
) -> Result<Vec<SearchResult>>
pub async fn search( &mut self, query: &str, top_k: Option<usize>, ) -> Result<Vec<SearchResult>>
Search for relevant documents
Sourcepub async fn generate(
&mut self,
query: &str,
context: Option<&str>,
) -> Result<String>
pub async fn generate( &mut self, query: &str, context: Option<&str>, ) -> Result<String>
Generate response using RAG
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RagEngine
impl !RefUnwindSafe for RagEngine
impl Send for RagEngine
impl Sync for RagEngine
impl Unpin for RagEngine
impl !UnwindSafe for RagEngine
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