SentenceTransformer based on BAAI/bge-base-en-v1.5

This is a sentence-transformers model finetuned from BAAI/bge-base-en-v1.5. It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more.

Model Details

Model Description

  • Model Type: Sentence Transformer
  • Base model: BAAI/bge-base-en-v1.5
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': True}) with Transformer model: BertModel 
  (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': True, 'pooling_mode_mean_tokens': False, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
  (2): Normalize()
)

Usage

Direct Usage (Sentence Transformers)

First install the Sentence Transformers library:

pip install -U sentence-transformers

Then you can load this model and run inference.

from sentence_transformers import SentenceTransformer

# Download from the ๐Ÿค— Hub
model = SentenceTransformer("LorMolf/mnrl-toolbench-bge-base-en-v1.5")
# Run inference
sentences = [
    "I'm a big fan of Peruvian football and I'm curious about the competitions and teams of televised football matches in the country. Can you provide me with this information? Additionally, fetch me the premium tips and historical results from the Betigolo Tips API to enhance my football knowledge and betting strategy.",
    'def betigolo_tips_premium_tips:\n\t"""\n\tDescription:\n\tList of active Premium Tips\n\n\tArguments:\n\t---------\n\t"""',
    'def climate_change_live_v27_get_all_climate_change_news:\n\t"""\n\tDescription:\n\tThis endpoint will return back all news about Climate Change from all over the world.\n\n\tArguments:\n\t---------\n\t"""',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]

Evaluation

Metrics

Device Aware Information Retrieval

  • Dataset: dev
  • Evaluated with src.port.retrieval_evaluator.DeviceAwareInformationRetrievalEvaluator
Metric Value
cosine_accuracy@1 0.7155
cosine_accuracy@3 0.8495
cosine_accuracy@5 0.8969
cosine_accuracy@10 0.9381
cosine_precision@1 0.7155
cosine_precision@3 0.4598
cosine_precision@5 0.313
cosine_precision@10 0.1761
cosine_recall@1 0.4076
cosine_recall@3 0.7134
cosine_recall@5 0.7957
cosine_recall@10 0.8765
cosine_ndcg@1 0.7155
cosine_ndcg@3 0.7055
cosine_ndcg@5 0.7419
cosine_ndcg@10 0.776
cosine_mrr@10 0.7924
cosine_map@100 0.7207

Training Details

Training Dataset

Unnamed Dataset

  • Size: 1,000 training samples
  • Columns: sentence_0, sentence_1, and sentence_2
  • Approximate statistics based on the first 1000 samples:
    sentence_0 sentence_1 sentence_2
    type string string string
    details
    • min: 22 tokens
    • mean: 59.32 tokens
    • max: 163 tokens
    • min: 27 tokens
    • mean: 73.59 tokens
    • max: 512 tokens
    • min: 28 tokens
    • mean: 71.86 tokens
    • max: 512 tokens
  • Samples:
    sentence_0 sentence_1 sentence_2
    I am planning a trip to Paris from July 10th to July 15th. Can you provide me with the working hours for this period, considering the Federal holidays in France? Also, recommend some events happening in Paris during this time and send me the calendar invites for these events. def working_days__1_3_add_working_hours:
    """
    Description:
    Add an amount of working time to a given start date/time

    Arguments:
    ---------
    - start_date : STRING (required)
    Description: The start date (YYYY-MM-DD)
    Default: 2013-12-31
    - country_code : STRING (required)
    Description: The ISO country code (2 letters). See available countries & configurations
    Default: US
    - start_time : STRING (required)
    Description: The start time in a 24 hours format with leading zeros.
    Default: 08:15
    """
    def betigolo_predictions_sample_predictions:
    """
    Description:
    Get a list of a sample of matches of the previous day, including predictions for many markets.

    Arguments:
    ---------
    """
    I'm organizing a company event and I need to find a venue that can accommodate 100 people. Can you suggest some event spaces in the city with good reviews? Also, I would like to gather information about nearby transportation options and recommend some local catering services. def socie_get_members:
    """
    Description:
    Retrieve all or some members of your community.

    Arguments:
    ---------
    """
    def pinterest_apis_search_user:
    """
    Description:
    Search user by keyword

    Arguments:
    ---------
    - keyword : STRING (required)
    Default: Trang Bui
    """
    I want to surprise my friends with a Netflix binge session and I'm looking for some highly ranked series. Can you provide me with a list of the top 100 ranked Netflix original series? Also, check if the word 'chimpo' is vulgar using the SHIMONETA API. def shimoneta_send_a_word_to_check:
    """
    Description:
    The API returns what the word means if the word is vulgar.

    Arguments:
    ---------
    - word : STRING (required)
    Default: chimpo
    """
    def NPS-Net_Promoter_Score.Read_a_survey_NLP:
    """
    Description:
    Get a detail of customer survey answer by its survey id (sid), and applies to the third answer (a3) the sentiment analysis feature.

    Arguments:
    ---------
    - sid : string (required)
    """
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 32
  • num_train_epochs: 5
  • fp16: True
  • multi_dataset_batch_sampler: round_robin

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 32
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 1
  • eval_accumulation_steps: None
  • torch_empty_cache_steps: None
  • learning_rate: 5e-05
  • weight_decay: 0.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1.0
  • num_train_epochs: 5
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.0
  • warmup_steps: 0
  • log_level: passive
  • log_level_replica: warning
  • log_on_each_node: True
  • logging_nan_inf_filter: True
  • save_safetensors: True
  • save_on_each_node: False
  • save_only_model: False
  • restore_callback_states_from_checkpoint: False
  • no_cuda: False
  • use_cpu: False
  • use_mps_device: False
  • seed: 42
  • data_seed: None
  • jit_mode_eval: False
  • use_ipex: False
  • bf16: False
  • fp16: True
  • fp16_opt_level: O1
  • half_precision_backend: auto
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: None
  • local_rank: 0
  • ddp_backend: None
  • tpu_num_cores: None
  • tpu_metrics_debug: False
  • debug: []
  • dataloader_drop_last: False
  • dataloader_num_workers: 0
  • dataloader_prefetch_factor: None
  • past_index: -1
  • disable_tqdm: False
  • remove_unused_columns: True
  • label_names: None
  • load_best_model_at_end: False
  • ignore_data_skip: False
  • fsdp: []
  • fsdp_min_num_params: 0
  • fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
  • tp_size: 0
  • fsdp_transformer_layer_cls_to_wrap: None
  • accelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
  • deepspeed: None
  • label_smoothing_factor: 0.0
  • optim: adamw_torch
  • optim_args: None
  • adafactor: False
  • group_by_length: False
  • length_column_name: length
  • ddp_find_unused_parameters: None
  • ddp_bucket_cap_mb: None
  • ddp_broadcast_buffers: False
  • dataloader_pin_memory: True
  • dataloader_persistent_workers: False
  • skip_memory_metrics: True
  • use_legacy_prediction_loop: False
  • push_to_hub: False
  • resume_from_checkpoint: None
  • hub_model_id: None
  • hub_strategy: every_save
  • hub_private_repo: None
  • hub_always_push: False
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • include_for_metrics: []
  • eval_do_concat_batches: True
  • fp16_backend: auto
  • push_to_hub_model_id: None
  • push_to_hub_organization: None
  • mp_parameters:
  • auto_find_batch_size: False
  • full_determinism: False
  • torchdynamo: None
  • ray_scope: last
  • ddp_timeout: 1800
  • torch_compile: False
  • torch_compile_backend: None
  • torch_compile_mode: None
  • include_tokens_per_second: False
  • include_num_input_tokens_seen: False
  • neftune_noise_alpha: None
  • optim_target_modules: None
  • batch_eval_metrics: False
  • eval_on_start: False
  • use_liger_kernel: False
  • eval_use_gather_object: False
  • average_tokens_across_devices: False
  • prompts: None
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: round_robin

Training Logs

Epoch Step dev_cosine_ndcg@10
-1 -1 0.6750
0.1875 6 0.6878
0.375 12 0.7236
0.5625 18 0.7443
0.75 24 0.7579
0.9375 30 0.7684
1.0 32 0.7687
1.125 36 0.7710
1.3125 42 0.7752
1.5 48 0.7745
1.6875 54 0.7795
1.875 60 0.7769
2.0 64 0.7782
2.0625 66 0.7793
2.25 72 0.7808
2.4375 78 0.7791
2.625 84 0.7794
2.8125 90 0.7778
3.0 96 0.7773
3.1875 102 0.7765
3.375 108 0.7767
3.5625 114 0.7760
3.75 120 0.7756
3.9375 126 0.7768
4.0 128 0.7766
4.125 132 0.7766
4.3125 138 0.7759
4.5 144 0.7760
4.6875 150 0.7760
4.875 156 0.7760
5.0 160 0.7760

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 4.0.2
  • Transformers: 4.51.2
  • PyTorch: 2.6.0+cu124
  • Accelerate: 1.6.0
  • Datasets: 3.5.0
  • Tokenizers: 0.21.1

Citation

BibTeX

Sentence Transformers

@inproceedings{reimers-2019-sentence-bert,
    title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
    author = "Reimers, Nils and Gurevych, Iryna",
    booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
    month = "11",
    year = "2019",
    publisher = "Association for Computational Linguistics",
    url = "https://arxiv.org/abs/1908.10084",
}

MultipleNegativesRankingLoss

@misc{henderson2017efficient,
    title={Efficient Natural Language Response Suggestion for Smart Reply},
    author={Matthew Henderson and Rami Al-Rfou and Brian Strope and Yun-hsuan Sung and Laszlo Lukacs and Ruiqi Guo and Sanjiv Kumar and Balint Miklos and Ray Kurzweil},
    year={2017},
    eprint={1705.00652},
    archivePrefix={arXiv},
    primaryClass={cs.CL}
}
Downloads last month
0
Safetensors
Model size
109M params
Tensor type
F32
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for LorMolf/mnrl-toolbench-bge-base-en-v1.5

Finetuned
(405)
this model

Evaluation results