#[non_exhaustive]pub struct SemanticSimilarityMetric<E> { /* private fields */ }Available on crate feature
experimental only.Expand description
A semantic similarity metric. Uses cosine similarity. In broad terms, cosine similarity can be used to measure how similar two documents are. This can be useful for things like quickly testing semantic similarity between two documents.
Implementations§
Source§impl<E> SemanticSimilarityMetric<E>where
E: EmbeddingModel,
impl<E> SemanticSimilarityMetric<E>where
E: EmbeddingModel,
pub fn builder(embedding_model: E) -> SemanticSimilarityMetricBuilder<E>
pub fn reference_answer(&self) -> &str
Trait Implementations§
Source§impl<E: Clone> Clone for SemanticSimilarityMetric<E>
impl<E: Clone> Clone for SemanticSimilarityMetric<E>
Source§fn clone(&self) -> SemanticSimilarityMetric<E>
fn clone(&self) -> SemanticSimilarityMetric<E>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<E: Debug> Debug for SemanticSimilarityMetric<E>
impl<E: Debug> Debug for SemanticSimilarityMetric<E>
Source§impl<E> Eval<SemanticSimilarityMetricScore> for SemanticSimilarityMetric<E>where
E: EmbeddingModel + 'static,
impl<E> Eval<SemanticSimilarityMetricScore> for SemanticSimilarityMetric<E>where
E: EmbeddingModel + 'static,
async fn eval( &self, input: String, ) -> EvalOutcome<SemanticSimilarityMetricScore>
Source§fn eval_batch(
&self,
input: Vec<String>,
concurrency_limit: usize,
) -> impl Future<Output = Vec<EvalOutcome<Output>>> + Send
fn eval_batch( &self, input: Vec<String>, concurrency_limit: usize, ) -> impl Future<Output = Vec<EvalOutcome<Output>>> + Send
Send a bunch of inputs to be evaluated all in one call.
You can set the concurrency limit to help alleviate issues
with model provider API limits, as sending requests too quickly may
result in throttling or temporary request refusal.
Auto Trait Implementations§
impl<E> Freeze for SemanticSimilarityMetric<E>where
E: Freeze,
impl<E> RefUnwindSafe for SemanticSimilarityMetric<E>where
E: RefUnwindSafe,
impl<E> Send for SemanticSimilarityMetric<E>where
E: Send,
impl<E> Sync for SemanticSimilarityMetric<E>where
E: Sync,
impl<E> Unpin for SemanticSimilarityMetric<E>where
E: Unpin,
impl<E> UnwindSafe for SemanticSimilarityMetric<E>where
E: UnwindSafe,
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> CloneDebuggableStorage for Twhere
T: DebuggableStorage + Clone,
impl<T> CloneDebuggableStorage for Twhere
T: DebuggableStorage + Clone,
fn clone_storage(&self) -> Box<dyn CloneDebuggableStorage>
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> CloneableStorage for T
impl<T> CloneableStorage for T
fn clone_storage(&self) -> Box<dyn CloneableStorage>
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> 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