pub struct RerankerOptions {
pub max_tokens_total: usize,
pub max_candidates: usize,
pub max_tokens_per_doc: usize,
pub max_tokens_query: Option<usize>,
}Expand description
宿主注册重排回调时一并声明的预算。条数上限与 token 上限是与门,任一到顶就停: 几十字符的短候选,token 预算能装几百条,而重排的成本由批次条数主导,所以条数必须单独封顶; 长正文则由 token 封顶(模型吃不下更多)。两者超出的候选不是变慢就是直接报错。
Fields§
§max_tokens_total: usize送进重排的总预算:查询词 + 所有候选文档,从前往后累加到超额为止。
max_candidates: usize送进重排的候选条数上限。
max_tokens_per_doc: usize§max_tokens_query: Option<usize>查询词的 token 预算,None 表示不截断。
Trait Implementations§
Source§impl Clone for RerankerOptions
impl Clone for RerankerOptions
impl Copy for RerankerOptions
Source§impl Debug for RerankerOptions
impl Debug for RerankerOptions
Source§impl Default for RerankerOptions
impl Default for RerankerOptions
Source§impl<'de> Deserialize<'de> for RerankerOptions
impl<'de> Deserialize<'de> for RerankerOptions
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for RerankerOptions
Source§impl PartialEq for RerankerOptions
impl PartialEq for RerankerOptions
Source§impl Serialize for RerankerOptions
impl Serialize for RerankerOptions
impl StructuralPartialEq for RerankerOptions
Auto Trait Implementations§
impl Freeze for RerankerOptions
impl RefUnwindSafe for RerankerOptions
impl Send for RerankerOptions
impl Sync for RerankerOptions
impl Unpin for RerankerOptions
impl UnsafeUnpin for RerankerOptions
impl UnwindSafe for RerankerOptions
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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>
Converts
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>
Converts
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)
Converts
&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)
Converts
&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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
impl<T> Fruit for T
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