use crate::models::MultiVectorHead;
use crate::multi_vector::MaskedRowFill;
use crate::multi_vector::ScoreReduction;
use crate::registry::DtypeSupport;
use crate::registry::Family;
use crate::registry::Support;
use crate::registry::WeightsFormat;
use crate::registry::multi_vector::entry::MultiVectorEntry;
pub(super) const BGE_M3_MULTI_VECTOR: MultiVectorEntry = MultiVectorEntry {
id: "BAAI/bge-m3",
family: Family::XlmRoberta,
head: MultiVectorHead::M3Colbert,
default_max_length: 8192,
keeps_cls_row: false,
projection_in: 1024,
projection_out: 1024,
projection_bias: true,
normalize: true,
score_reduction: ScoreReduction::MeanByQueryLength,
query_marker: None,
document_marker: None,
query_length: None,
attends_to_mask_tokens: false,
masked_document_row_fill: MaskedRowFill::Zero,
position_scheme: None,
cpu: Support::Verified,
metal: Support::Verified,
cuda: Support::Verified,
dtypes: DtypeSupport {
f32: Support::Verified,
f16: Support::Unsupported,
bf16: Support::Unsupported,
},
license: "MIT",
size_gb: 2.27,
phase: 4,
weights: WeightsFormat::Pickle,
gated: false,
accel_only_dtypes: &[],
cell_exceptions: &[],
};