pub struct NerDetector { /* private fields */ }Expand description
NER detector backed by a pinned local model artifact set. Multiple
NerDetector instances with different backends may be stacked in the
same Pipeline; span-conflict resolution picks winners across detectors.
Implementations§
Source§impl NerDetector
impl NerDetector
Sourcepub fn load(model_dir: &Path) -> Result<Self, NerLoadError>
pub fn load(model_dir: &Path) -> Result<Self, NerLoadError>
Full load: verify artifacts, initialize the configured backend. Fails closed on any load error.
pub fn load_with_options( model_dir: &Path, options: NerOptions, ) -> Result<Self, NerLoadError>
pub fn locale(&self) -> Option<&str>
pub fn backend_kind(&self) -> NerBackendKind
pub fn recognizer_version_id(&self) -> &str
Sourcepub fn merge_bio_spans(
labels: &LabelMap,
subword_spans: &[(usize, usize)],
subword_labels: &[&str],
source: &str,
) -> Vec<Detection>
pub fn merge_bio_spans( labels: &LabelMap, subword_spans: &[(usize, usize)], subword_labels: &[&str], source: &str, ) -> Vec<Detection>
Label/offset reconstruction helper. Public for testing the BIO merge.
subword_spans are byte ranges against the tokenizer input string,
subword_labels are CoNLL-style labels per subword (e.g. O, B-PER,
I-PER). Returns merged detections, dropping labels absent from the
label map and subword spans overlapping special tokens (empty ranges).
pub fn merge_bio_span_results( labels: &LabelMap, subword_spans: &[(usize, usize)], subword_labels: &[&str], subword_scores: &[f32], source: &str, ) -> Vec<NerSpanResult>
Source§impl NerDetector
impl NerDetector
Sourcepub fn verify_artifacts(
model_dir: &Path,
) -> Result<VerifiedArtifacts, NerLoadError>
pub fn verify_artifacts( model_dir: &Path, ) -> Result<VerifiedArtifacts, NerLoadError>
Verify SHA256SUMS, parse labels.json and config.json. No backend
initialization. Used both by load and by unit tests.
Trait Implementations§
Source§impl Debug for NerDetector
impl Debug for NerDetector
Auto Trait Implementations§
impl !RefUnwindSafe for NerDetector
impl !UnwindSafe for NerDetector
impl Freeze for NerDetector
impl Send for NerDetector
impl Sync for NerDetector
impl Unpin for NerDetector
impl UnsafeUnpin for NerDetector
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
impl<T> ErasedDestructor for Twhere
T: 'static,
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