pub struct RagEngine { /* private fields */ }Expand description
RAG engine for graph-based retrieval
Implementations§
Source§impl RagEngine
impl RagEngine
Sourcepub fn new(semantic_search: SemanticSearch, config: RagConfig) -> Self
pub fn new(semantic_search: SemanticSearch, config: RagConfig) -> Self
Create a new RAG engine
Sourcepub fn retrieve_context(&self, query: &[f32]) -> Result<Context>
pub fn retrieve_context(&self, query: &[f32]) -> Result<Context>
Retrieve relevant context for a query
Sourcepub fn build_reasoning_paths(
&self,
start_node: &NodeId,
query: &[f32],
) -> Result<Vec<ReasoningPath>>
pub fn build_reasoning_paths( &self, start_node: &NodeId, query: &[f32], ) -> Result<Vec<ReasoningPath>>
Build multi-hop reasoning paths
Sourcepub fn aggregate_evidence(
&self,
paths: &[ReasoningPath],
) -> Result<Vec<Evidence>>
pub fn aggregate_evidence( &self, paths: &[ReasoningPath], ) -> Result<Vec<Evidence>>
Aggregate evidence from multiple sources
Sourcepub fn generate_prompt(&self, query: &str, context: &Context) -> String
pub fn generate_prompt(&self, query: &str, context: &Context) -> String
Generate context-aware prompt
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request