pub struct ContextBuilder { /* private fields */ }Expand description
Token-budgeted context assembler.
Retrieves facts via hybrid search, ranks by tier priority, fills
a token budget greedily, and returns a ContextBlock ready for
LLM prompt injection.
Implementations§
Source§impl ContextBuilder
impl ContextBuilder
pub fn new( fact_store: Arc<dyn FactStore>, vector_store: Arc<dyn VectorStore>, graph_store: Arc<dyn GraphStore>, embedding: Arc<dyn EmbeddingProvider>, config: ContextConfig, ) -> Self
Sourcepub fn with_estimator(self, estimator: Box<dyn TokenEstimator>) -> Self
pub fn with_estimator(self, estimator: Box<dyn TokenEstimator>) -> Self
Override the default token estimator.
Sourcepub async fn build(
&self,
query: &str,
scope: &Scope,
) -> Result<ContextBlock, MemoryError>
pub async fn build( &self, query: &str, scope: &Scope, ) -> Result<ContextBlock, MemoryError>
Build a context block for the given query and scope.
Auto Trait Implementations§
impl Freeze for ContextBuilder
impl !RefUnwindSafe for ContextBuilder
impl Send for ContextBuilder
impl Sync for ContextBuilder
impl Unpin for ContextBuilder
impl UnsafeUnpin for ContextBuilder
impl !UnwindSafe for ContextBuilder
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 more