pub struct AskArgs {Show 26 fields
pub targets: Vec<String>,
pub question: Option<String>,
pub uri: Option<String>,
pub scope: Option<String>,
pub top_k: usize,
pub snippet_chars: usize,
pub cursor: Option<String>,
pub mode: AskModeArg,
pub json: bool,
pub context_only: bool,
pub sources: bool,
pub mask_pii: bool,
pub memories: bool,
pub llm_context_depth: Option<usize>,
pub start: Option<String>,
pub end: Option<String>,
pub use_model: Option<String>,
pub query_embedding_model: Option<String>,
pub as_of_frame: Option<u64>,
pub as_of_ts: Option<i64>,
pub system_prompt: Option<String>,
pub no_rerank: bool,
pub adaptive: bool,
pub min_relevancy: f32,
pub max_k: usize,
pub adaptive_strategy: AdaptiveStrategyArg,
}Expand description
Arguments for the ask subcommand
Fields§
§targets: Vec<String>§question: Option<String>§uri: Option<String>§scope: Option<String>§top_k: usize§snippet_chars: usize§cursor: Option<String>§mode: AskModeArg§json: bool§context_only: bool§sources: boolShow detailed source information for each citation
mask_pii: boolMask PII (emails, SSNs, phone numbers, etc.) in context before sending to LLM
memories: boolInclude structured memory cards in the context (facts, preferences, etc.)
llm_context_depth: Option<usize>Maximum characters of retrieval context to send to remote LLMs (overrides MEMVID_LLM_CONTEXT_BUDGET)
start: Option<String>§end: Option<String>§use_model: Option<String>§query_embedding_model: Option<String>Embedding model to use for query (must match the model used during ingestion) Options: bge-small, bge-base, nomic, gte-large, openai, openai-small, openai-ada
as_of_frame: Option<u64>Replay: Filter to frames with ID <= AS_OF_FRAME (time-travel view)
as_of_ts: Option<i64>Replay: Filter to frames with timestamp <= AS_OF_TS (time-travel view)
system_prompt: Option<String>Override the default system prompt (useful for providing date context like “Today is March 27, 2023”)
no_rerank: boolSkip cross-encoder reranking (useful in gated environments where model downloads are blocked)
adaptive: boolEnable adaptive retrieval: dynamically determine how many results to return based on relevancy score distribution. Instead of fixed top-k, pulls all results above a relevancy threshold. Use this when answers may span multiple chunks.
min_relevancy: f32Minimum relevancy ratio vs top score (0.0-1.0). Results below this threshold are excluded. Example: 0.5 means only include results with score >= 50% of the top result’s score. Only used when –adaptive is enabled.
max_k: usizeMaximum results to consider for adaptive retrieval (over-retrieval limit). Set high enough to capture all potentially relevant results. Only used when –adaptive is enabled.
adaptive_strategy: AdaptiveStrategyArgAdaptive cutoff strategy: relative (default), absolute, cliff, elbow, or combined
Trait Implementations§
Source§impl Args for AskArgs
impl Args for AskArgs
Source§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§impl FromArgMatches for AskArgs
impl FromArgMatches for AskArgs
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Auto Trait Implementations§
impl Freeze for AskArgs
impl RefUnwindSafe for AskArgs
impl Send for AskArgs
impl Sync for AskArgs
impl Unpin for AskArgs
impl UnwindSafe for AskArgs
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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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>
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>
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