LorMolf's picture
Add final trained model
1141abe verified
metadata
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:1000
  - loss:MultipleNegativesRankingLoss
base_model: BAAI/bge-base-en-v1.5
widget:
  - source_sentence: >-
      I'm organizing a surprise party for my sister and I need synonyms for the
      word 'celebrate'. Could you also provide the lexical field for the word
      'birthday' and the Scrabble score for the word 'festivity'? Moreover,
      search for translations of the phrase 'Happy anniversary' from English to
      French using the MyMemory Translation Memory API.
    sentences:
      - "def endlessmedicalapi_getoutcomes:\n\t\"\"\"\n\tDescription:\n\tGetOutcomes\n\n\tArguments:\n\t---------\n\t\"\"\""
      - "def dicolink_get_lexical_field:\n\t\"\"\"\n\tDescription:\n\tGet Lexical Field for a word\n\n\tArguments:\n\t---------\n\t- mot : string (required)\n\t  Default: cheval\n\t\"\"\""
      - "def Indie_Songs_:_DistroKid_&_Unsigned.Get_Top_50_indie_songs:\n\t\"\"\"\n\tDescription:\n\tGet TOP 50 indie songs based on their daily stream increase ratio\n\n\tArguments:\n\t---------\n\t\"\"\""
  - source_sentence: >-
      I'm planning a family game night and I need some new games to play. Can
      you provide me with the details of a random card from Hearthstone and
      recommend some PlayStation games with good deals?
    sentences:
      - "def playstation_store_deals_api_playstationdeals:\n\t\"\"\"\n\tDescription:\n\tThere is only 1 parameter for this API endpoint.\n\t\n\t1. playstation_deals/?count=0\n\t\n\tcount = 0 (Min is 0, starting of the list. Max value depends on the total number of games available.)\n\tNote: Since its a List of Items, If the maximum number of games available on deals is 771 then you have to enter (771-1) = 770 to get the last game on the deal.\n\t\n\tThis will provide you with the game data as given below which contains name, price, platform, discount percent, discounted price, total no. of games, etc..:\n\t\n\t{\n\t  \"name\": \"God of War III Remastered\",\n\t  \"titleId\": \"CUSA01623_00\",\n\t  \"platform\": [\n\t    \"PS4\"\n\t  ],\n\t  \"basePrice\": \"$19.99\",\n\t  \"discountPercent\": \"-50%\",\n\t  \"discountPrice\": \"$9.99\",\n\t  \"url\": \"https://store.playstation.com/en-us/product/UP9000-CUSA01623_00-0000GODOFWAR3PS4\",\n\t  \"Total No. of Games\": 771\n\t}\n\n\tArguments:\n\t---------\n\t- count : NUMBER (required)\n\t  Default: 0\n\t\"\"\""
      - "def captcha_verify_the_captcha:\n\t\"\"\"\n\tDescription:\n\tVerify the captcha\n\n\tArguments:\n\t---------\n\t- captcha : STRING (required)\n\t  Default: Captcha Text\n\t- uuid : STRING (required)\n\t  Default: UUID\n\t\"\"\""
      - "def teste_getinventory:\n\t\"\"\"\n\tDescription:\n\tReturns a map of status codes to quantities\n\n\tArguments:\n\t---------\n\t\"\"\""
  - source_sentence: >-
      I'm conducting research on the NFT market. Could you fetch the top-selling
      NFTs today and the volume and trades of the top trending collections this
      month? This information will be valuable for my analysis.
    sentences:
      - "def icai_chartered_accountant_verification_get_call:\n\t\"\"\"\n\tDescription:\n\tUsed to fetch api result using the request id received in responses.\n\n\tArguments:\n\t---------\n\t- request_id : STRING (required)\n\t  Default: 68bbb910-da9b-4d8a-9a1d-4bd878b19846\n\t\"\"\""
      - "def top_nft_sales_top_nfts_today:\n\t\"\"\"\n\tDescription:\n\tTop selling NFTs today\n\n\tArguments:\n\t---------\n\t\"\"\""
      - "def lorem_ipsum_api_sentence:\n\t\"\"\"\n\tDescription:\n\tCreate lorem ipsum by defining the number of sentences\n\n\tArguments:\n\t---------\n\t\"\"\""
  - source_sentence: >-
      I'm planning a surprise birthday party for my friend next week and I want
      to gather some interesting facts and news articles about birthdays. Can
      you provide me with random birthday facts and the latest news articles
      related to birthdays from different sources? Additionally, please
      recommend some popular party venues and catering services in my area.
    sentences:
      - "def reuters_business_and_financial_news_get_article_by_category_id_and_article_date:\n\t\"\"\"\n\tDescription:\n\tGet Article by category id and article date\n\tex :/api/v1/category-id-8/article-date-11-04-2021\n\t\n\tcategory - category id from Category endpoint\n\tdate-{day-month-year}\n\n\tArguments:\n\t---------\n\t- category : string (required)\n\t  Default: 8\n\t- date : string (required)\n\t  Default: 11-04-2021\n\t- category-id : STRING (required)\n\t  Default: 8\n\t- ArticleDate : STRING (required)\n\t  Default: 11-04-2021\n\t\"\"\""
      - "def NPS-Net_Promoter_Score.Read_a_survey_NLP:\n\t\"\"\"\n\tDescription:\n\tGet a detail of customer survey answer by its survey id (sid), and applies to the third answer (a3) the sentiment analysis feature.\n\n\tArguments:\n\t---------\n\t- sid : string (required)\n\t\"\"\""
      - "def bbc_good_food_api_categories_collections_ids:\n\t\"\"\"\n\tDescription:\n\tGet all categories collection with there names and namd id\n\n\tArguments:\n\t---------\n\t\"\"\""
  - source_sentence: >-
      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.
    sentences:
      - "def car_data_types:\n\t\"\"\"\n\tDescription:\n\tget a list of supported types\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\"\"\""
      - "def betigolo_tips_premium_tips:\n\t\"\"\"\n\tDescription:\n\tList of active Premium Tips\n\n\tArguments:\n\t---------\n\t\"\"\""
pipeline_tag: sentence-similarity
library_name: sentence-transformers
metrics:
  - cosine_accuracy@1
  - cosine_accuracy@3
  - cosine_accuracy@5
  - cosine_accuracy@10
  - cosine_precision@1
  - cosine_precision@3
  - cosine_precision@5
  - cosine_precision@10
  - cosine_recall@1
  - cosine_recall@3
  - cosine_recall@5
  - cosine_recall@10
  - cosine_ndcg@1
  - cosine_ndcg@3
  - cosine_ndcg@5
  - cosine_ndcg@10
  - cosine_mrr@10
  - cosine_map@100
model-index:
  - name: SentenceTransformer based on BAAI/bge-base-en-v1.5
    results:
      - task:
          type: device-aware-information-retrieval
          name: Device Aware Information Retrieval
        dataset:
          name: dev
          type: dev
        metrics:
          - type: cosine_accuracy@1
            value: 0.7154639175257732
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8494845360824742
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.8969072164948454
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.9381443298969072
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.7154639175257732
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.45979381443298967
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.31298969072164956
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.17608247422680418
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.407594501718213
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.7134020618556701
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.795704467353952
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.8765292096219931
            name: Cosine Recall@10
          - type: cosine_ndcg@1
            value: 0.7154639175257732
            name: Cosine Ndcg@1
          - type: cosine_ndcg@3
            value: 0.7055299224270164
            name: Cosine Ndcg@3
          - type: cosine_ndcg@5
            value: 0.7418598245527984
            name: Cosine Ndcg@5
          - type: cosine_ndcg@10
            value: 0.7759821535840169
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.7923711340206183
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.7207130597174141
            name: Cosine Map@100

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}
}