pub struct PutArgs {Show 35 fields
pub file: PathBuf,
pub json: bool,
pub input: Option<String>,
pub uri: Option<String>,
pub title: Option<String>,
pub timestamp: Option<i64>,
pub track: Option<String>,
pub kind: Option<String>,
pub video: bool,
pub transcript: bool,
pub tags: Vec<(String, String)>,
pub labels: Vec<String>,
pub metadata: Vec<String>,
pub no_auto_tag: bool,
pub no_extract_dates: bool,
pub audio: bool,
pub audio_segment_seconds: Option<u32>,
pub embedding: bool,
pub no_embedding: bool,
pub embedding_vec: Option<PathBuf>,
pub vector_compression: bool,
pub contextual: bool,
pub contextual_model: Option<String>,
pub tables: bool,
pub no_tables: bool,
pub update_existing: bool,
pub allow_duplicate: bool,
pub temporal_enrich: bool,
pub parallel_segments: bool,
pub no_parallel_segments: bool,
pub parallel_segment_tokens: Option<usize>,
pub parallel_segment_pages: Option<usize>,
pub parallel_threads: Option<usize>,
pub parallel_queue_depth: Option<usize>,
pub lock: LockCliArgs,
}Expand description
Arguments for the put subcommand
Fields§
§file: PathBufPath to the memory file to append to
json: boolEmit JSON instead of human-readable output
input: Option<String>Read payload bytes from a file instead of stdin
uri: Option<String>Override the derived URI for the document
title: Option<String>Override the derived title for the document
timestamp: Option<i64>Optional POSIX timestamp to store on the frame
track: Option<String>Track name for the frame
kind: Option<String>Kind metadata for the frame
video: boolStore the payload as a binary video without transcoding
transcript: boolAttempt to attach a transcript (Dev/Enterprise tiers only)
Tags to attach in key=value form
labels: Vec<String>Free-form labels to attach to the frame
metadata: Vec<String>Additional metadata payloads expressed as JSON
no_auto_tag: boolDisable automatic tag generation from extracted text
no_extract_dates: boolDisable automatic date extraction from content
audio: boolForce audio analysis and tagging when ingesting binary data
audio_segment_seconds: Option<u32>Override the default segment duration (in seconds) when generating audio snippets
embedding: boolCompute semantic embeddings using the installed model Increases storage overhead from ~5KB to ~270KB per document
no_embedding: boolExplicitly disable embeddings (default, but kept for clarity)
embedding_vec: Option<PathBuf>Path to a JSON file containing a pre-computed embedding vector (e.g., from OpenAI) The JSON file should contain a flat array of floats like [0.1, 0.2, …]
vector_compression: boolEnable Product Quantization compression for vectors (16x compression) Reduces vector storage from ~270KB to ~20KB per document with ~95% accuracy Only applies when –embedding is enabled
contextual: boolEnable contextual retrieval: prepend LLM-generated context to each chunk before embedding This improves retrieval accuracy for preference/personalization queries Requires OPENAI_API_KEY or a local model (phi-3.5-mini)
contextual_model: Option<String>Model to use for contextual retrieval (default: gpt-4o-mini, or “local” for phi-3.5-mini)
tables: boolAutomatically extract tables from PDF documents Uses aggressive mode with fallbacks for best results
no_tables: boolDisable automatic table extraction (when –tables is the default)
update_existing: boolReplace any existing frame with the same URI instead of inserting a duplicate
allow_duplicate: boolAllow inserting a new frame even if a frame with the same URI already exists
temporal_enrich: boolEnable temporal enrichment: resolve relative time phrases (“last year”) to absolute dates Prepends resolved temporal context to chunks for improved temporal question accuracy Requires the temporal_enrich feature in memvid-core
parallel_segments: boolUse the experimental parallel segment builder (requires –features parallel_segments)
no_parallel_segments: boolForce the legacy ingestion path even when the parallel feature is available
parallel_segment_tokens: Option<usize>Target tokens per segment when using the parallel builder
parallel_segment_pages: Option<usize>Target pages per segment when using the parallel builder
parallel_threads: Option<usize>Worker threads used by the parallel builder
parallel_queue_depth: Option<usize>Worker queue depth used by the parallel builder
lock: LockCliArgsImplementations§
Source§impl PutArgs
impl PutArgs
pub fn wants_parallel(&self) -> bool
pub fn sanitized_parallel_opts(&self) -> BuildOpts
Trait Implementations§
Source§impl Args for PutArgs
impl Args for PutArgs
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 PutArgs
impl FromArgMatches for PutArgs
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 PutArgs
impl RefUnwindSafe for PutArgs
impl Send for PutArgs
impl Sync for PutArgs
impl Unpin for PutArgs
impl UnwindSafe for PutArgs
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