Snivellus789's picture
Add new SentenceTransformer model.
cabdb50 verified
|
raw
history blame
No virus
23.9 kB
---
base_model: BAAI/bge-small-en-v1.5
datasets: []
language: []
library_name: sentence-transformers
pipeline_tag: sentence-similarity
tags:
- sentence-transformers
- sentence-similarity
- feature-extraction
- generated_from_trainer
- dataset_size:1000
- loss:BatchAllTripletLoss
widget:
- source_sentence: x-code秦皇岛革命工程车型号,所体现出来的不同原理,车厢分为哪几类,他们的轮子和动力系统又分为哪几种类型?请详细介绍一下。
sentences:
- 計算費率給定的延期年金的值。
- 从系统生物学的视角解读生物科技的重要性。
- 新的一年于昨天开始了,请协助完成这篇600字的文章进行时事背景介绍制作,主题有关于“跨年夜上海外滩陈毅广场踩踏事件”五周年。
- source_sentence: 小明家有前后两幅窗户, 前面的有80块玻璃,后面的窗户有36块玻璃, 一共有116块。然后有一天小明前面窗户有6块玻璃碎了,背面的窗户有4块碎了。后来小明爸爸为了修理这两扇窗户,从相同的商店买了5箱玻璃片,每箱里有20片玻璃片。请问为什么小明爸爸要买5箱这么多?请尝试从“最少够买最少的观念”去阐述你的理解。
sentences:
- 'Imagine you''re working on a project that involves transforming news articles
to make them more positive. You''ve been given a list of words that are considered
negative, and your task is to replace them with positive alternatives. Your list
includes words like "failure," "loss," and "tragedy." Your goal is to write a
program in Ruby that can automatically replace these words with their positive
counterparts.
To make things a bit more challenging, you''ve decided to add the ability to handle
multiple negative words in a single sentence. For example, if a sentence contains
both "failure" and "loss," your program should replace both words with positive
alternatives.
As an added bonus, you want to include a table that shows the comparison between
the negative and positive words. The table should include columns for the original
negative word, its positive replacement, and a brief explanation of why the replacement
is more positive.
Can you write a program in Ruby that meets these requirements? '
- 'In the field of e-commerce, how can Scala be used to perform a comprehensive
analysis of purchasing behavior, including identification of the most frequently
purchased products and recommendation of the top three to the marketing team?
To accomplish this, one would load the relevant data into a DataFrame, clean the
data by eliminating missing or duplicated values, then explore the data using
calculated product purchase frequencies. After identifying the top three products
with the highest purchase frequencies, visualizations could be created to aid
in communicating these findings to the marketing team. These products would then
be recommended for targeted advertising campaigns. Please note that this process
assumes that the product information is stored in the second column of the dataset,
although the specific column index may vary depending on the dataset. '
- 'Can you write a JavaScript code that will prompt users to input their names and
messages and display them on the HTML page in a scrambled order? The displayed
dialogue should require the user to unscramble the conversation in order to understand
it. Use the following table to scramble the messages:
| Original Character | Scrambled Character |
|-------------------|---------------------|
| A | E |
| B | Q |
| C | X |
| D | Z |
| E | F |
| F | Y |
| G | H |
| H | P |
| I | K |
| J | L |
| K | W |
| L | M |
| M | S |
| N | O |
| O | T |
| P | U |
| Q | R |
| R | D |
| S | N |
| T | V |
| U | G |
| V | J |
| W | A |
| X | I |
| Y | B |
| Z | C |
Hint: Use the ASCII values of the characters to perform the scrambling. '
- source_sentence: 'I have a challenge for you that involves some complex reasoning
and optimization techniques. I need you to identify a word that can be replaced
by an extensive list of synonyms while keeping its original meaning intact. However,
you cannot use a simple synonym generator. Instead, you must use the WordNet lexical
database and perform multi-step reasoning to find context-specific synonyms. To
make things even more challenging, the puzzle should also involve optimization
techniques that can reduce processing time for larger datasets. Can you provide
me with a Scala code snippet that solves this puzzle? Remember, the solution should
not be a straightforward synonym replacement, but rather a well-thought-out process
that involves sophisticated reasoning and optimization. '
sentences:
- 讨论一下人口老龄化对经济社会的影响。
- 想象一下,你在一个迷宫里,四周是高墙,墙上有许多按钮,按下后就会出现谜语,你需要解开谜语才能前进。现在假设你面前有一个按钮,按下去,出现了这个谜语:
- 'How can I modify the given Java code to output the phrase "If only I could find
my way to the treasure, I would be rich beyond my wildest dreams." using only
two variables and without using any additional ones?
Here''s the given Java code:
String a = "If only I could find my way to the treasure, ";
String b = "I would be rich beyond my wildest dreams.";
System.out.println(a + b);
How can I modify this code to meet the new requirements? '
- source_sentence: 帮我写一个新年祝福吧
sentences:
- 评估一则算式:(111 * 222 * 333 * 444 * 555 * 666 * 777 * 888 * 999)/ 111,111
- '请将_matrix: f(1,0) f(0,1)左乘以下矩阵: 0 -1, 1 1,求出结果。'
- 创建一个存储所有已知星座的字典,但对于某些星座,给定的缩写可能有误。你的程序应该纠正这些错误的缩写,并为用户提供星座的正确全名。你的程序还必须能够对新输入的星座和缩写是否正确。
- source_sentence: 'In Swift, what function can I use to shorten the sentence "I''m
feeling kind of tired after having worked all day" while maintaining the same
meaning and tone? Can you provide an example of the shortened sentence using the
function? '
sentences:
- "How can we use C++ to perform sentiment analysis on customer reviews and generate\
\ appropriate taglines for our face masks product while also taking into account\
\ different age group preferences? Can you provide a sample code that demonstrates\
\ how we can use libraries such as NLTK and Stanford CoreNLP to analyze sentiment\
\ and generate taglines based on the results?\n[C++ code]\n#include <iostream>\n\
#include <fstream>\n#include <string>\n#include <vector>\n#include <algorithm>\n\
#include <iterator>\n#include <nltk/nltk.h>\n#include <stanfordcorenlp/stanfordcorenlp.h>\n\
using namespace std;\nint main()\n{\n // read customer reviews from file\n\
\ ifstream file(\"reviews.txt\");\n string review;\n vector<string> reviews;\n\
\ while (getline(file, review)) {\n reviews.push_back(review);\n \
\ }\n // initialize NLTK and Stanford CoreNLP\n nltk::init();\n stanfordcorenlp::StanfordCoreNLP\
\ pipeline;\n // analyze sentiment for each review and generate tagline\n \
\ for (const auto& review : reviews) {\n auto sentiment = pipeline.sentiment_analysis(review);\n\
\ string tagline;\n if (sentiment == \"positive\") {\n \
\ tagline = \"Protect yourself in style!\";\n } else if (sentiment ==\
\ \"negative\") {\n tagline = \"Stay safe and comfortable!\";\n \
\ } else {\n tagline = \"Stay protected with our high-quality masks!\"\
;\n }\n // consider age group preferences and adjust tagline accordingly\n\
\ // ...\n cout << \"Review: \" << review << endl;\n cout\
\ << \"Sentiment: \" << sentiment << endl;\n cout << \"Tagline: \" << tagline\
\ << endl;\n }\n // cleanup NLTK and Stanford CoreNLP\n nltk::cleanup();\n\
\ pipeline.shutdown();\n return 0;\n} "
- "How can I create a C# program that generates a travel itinerary based on user\
\ preferences and available destinations? The program should take into account\
\ factors such as budget, time of year, and desired activities (such as hiking\
\ or sightseeing). Please use the following data format to represent the available\
\ destinations:\n```csharp\nList<Destination> destinations = new List<Destination>\n\
{\n new Destination\n {\n Name = \"Paris\",\n Country = \"\
France\",\n Activities = new List<string> {\"sightseeing\", \"shopping\"\
, \"museums\"},\n Cost = 5000,\n Season = \"spring\"\n },\n \
\ new Destination\n {\n Name = \"Tokyo\",\n Country = \"Japan\"\
,\n Activities = new List<string> {\"sightseeing\", \"food\", \"temples\"\
},\n Cost = 8000,\n Season = \"fall\"\n },\n new Destination\n\
\ {\n Name = \"Sydney\",\n Country = \"Australia\",\n \
\ Activities = new List<string> {\"beaches\", \"hiking\", \"wildlife\"},\n \
\ Cost = 7000,\n Season = \"summer\"\n },\n new Destination\n\
\ {\n Name = \"Marrakesh\",\n Country = \"Morocco\",\n \
\ Activities = new List<string> {\"sightseeing\", \"shopping\", \"food\"},\n\
\ Cost = 4000,\n Season = \"winter\"\n }\n};\npublic class Destination\n\
{\n public string Name { get; set; }\n public string Country { get; set;\
\ }\n public List<string> Activities { get; set; }\n public int Cost { get;\
\ set; }\n public string Season { get; set; }\n}\n```\nPlease provide step-by-step\
\ instructions for using the program and any necessary inputs. "
- "Convert the given XML code to JSON code. <root>\n <data>\n <item id=\"\
1\">\n <name>Sample data</name>\n <type>Text</type>\n \
\ <value>123</value>\n </item>\n </data>\n</root>"
---
# SentenceTransformer based on BAAI/bge-small-en-v1.5
This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [BAAI/bge-small-en-v1.5](https://huggingface.co/BAAI/bge-small-en-v1.5). It maps sentences & paragraphs to a 384-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-small-en-v1.5](https://huggingface.co/BAAI/bge-small-en-v1.5) <!-- at revision 5c38ec7c405ec4b44b94cc5a9bb96e735b38267a -->
- **Maximum Sequence Length:** 512 tokens
- **Output Dimensionality:** 384 tokens
- **Similarity Function:** Cosine Similarity
<!-- - **Training Dataset:** Unknown -->
<!-- - **Language:** Unknown -->
<!-- - **License:** Unknown -->
### Model Sources
- **Documentation:** [Sentence Transformers Documentation](https://sbert.net)
- **Repository:** [Sentence Transformers on GitHub](https://github.com/UKPLab/sentence-transformers)
- **Hugging Face:** [Sentence Transformers on Hugging Face](https://huggingface.co/models?library=sentence-transformers)
### Full Model Architecture
```
SentenceTransformer(
(0): Transformer({'max_seq_length': 512, 'do_lower_case': True}) with Transformer model: BertModel
(1): Pooling({'word_embedding_dimension': 384, '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:
```bash
pip install -U sentence-transformers
```
Then you can load this model and run inference.
```python
from sentence_transformers import SentenceTransformer
# Download from the 🤗 Hub
model = SentenceTransformer("Snivellus789/router-embedding-tuned")
# Run inference
sentences = [
'In Swift, what function can I use to shorten the sentence "I\'m feeling kind of tired after having worked all day" while maintaining the same meaning and tone? Can you provide an example of the shortened sentence using the function? ',
'Convert the given XML code to JSON code. <root>\n <data>\n <item id="1">\n <name>Sample data</name>\n <type>Text</type>\n <value>123</value>\n </item>\n </data>\n</root>',
'How can I create a C# program that generates a travel itinerary based on user preferences and available destinations? The program should take into account factors such as budget, time of year, and desired activities (such as hiking or sightseeing). Please use the following data format to represent the available destinations:\n```csharp\nList<Destination> destinations = new List<Destination>\n{\n new Destination\n {\n Name = "Paris",\n Country = "France",\n Activities = new List<string> {"sightseeing", "shopping", "museums"},\n Cost = 5000,\n Season = "spring"\n },\n new Destination\n {\n Name = "Tokyo",\n Country = "Japan",\n Activities = new List<string> {"sightseeing", "food", "temples"},\n Cost = 8000,\n Season = "fall"\n },\n new Destination\n {\n Name = "Sydney",\n Country = "Australia",\n Activities = new List<string> {"beaches", "hiking", "wildlife"},\n Cost = 7000,\n Season = "summer"\n },\n new Destination\n {\n Name = "Marrakesh",\n Country = "Morocco",\n Activities = new List<string> {"sightseeing", "shopping", "food"},\n Cost = 4000,\n Season = "winter"\n }\n};\npublic class Destination\n{\n public string Name { get; set; }\n public string Country { get; set; }\n public List<string> Activities { get; set; }\n public int Cost { get; set; }\n public string Season { get; set; }\n}\n```\nPlease provide step-by-step instructions for using the program and any necessary inputs. ',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 384]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]
```
<!--
### Direct Usage (Transformers)
<details><summary>Click to see the direct usage in Transformers</summary>
</details>
-->
<!--
### Downstream Usage (Sentence Transformers)
You can finetune this model on your own dataset.
<details><summary>Click to expand</summary>
</details>
-->
<!--
### Out-of-Scope Use
*List how the model may foreseeably be misused and address what users ought not to do with the model.*
-->
<!--
## Bias, Risks and Limitations
*What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model.*
-->
<!--
### Recommendations
*What are recommendations with respect to the foreseeable issues? For example, filtering explicit content.*
-->
## Training Details
### Training Dataset
#### Unnamed Dataset
* Size: 1,000 training samples
* Columns: <code>sentence</code> and <code>label</code>
* Approximate statistics based on the first 1000 samples:
| | sentence | label |
|:--------|:-----------------------------------------------------------------------------------|:------------------------------------------------|
| type | string | int |
| details | <ul><li>min: 8 tokens</li><li>mean: 95.61 tokens</li><li>max: 512 tokens</li></ul> | <ul><li>0: ~50.00%</li><li>1: ~50.00%</li></ul> |
* Samples:
| sentence | label |
|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------|
| <code>请输出所有跟政企市场相关的关键词列表</code> | <code>0</code> |
| <code>开发一个定制的JavaScript解决方案,用于有效地平衡和排序一个二叉树。你可以假设输入是一个平衡因子擯至2的大O()为Log(N)的AVL树。专注于实现自我调整二叉搜索树的变换,当面对不平衡操作时,如插入或删除节点。确保你的解决方案为潜在的边缘案例做好准备,并具有健壮的错误处理策略。你的代码应该清晰地记录和优化效率。</code> | <code>0</code> |
| <code>在一个尚未被公开的领域中,描述五个最具创新性的产品概念。</code> | <code>0</code> |
* Loss: [<code>BatchAllTripletLoss</code>](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#batchalltripletloss)
### Training Hyperparameters
#### Non-Default Hyperparameters
- `per_device_train_batch_size`: 16
- `per_device_eval_batch_size`: 16
- `learning_rate`: 2e-05
- `num_train_epochs`: 2
- `warmup_ratio`: 0.1
- `bf16`: True
- `batch_sampler`: no_duplicates
#### All Hyperparameters
<details><summary>Click to expand</summary>
- `overwrite_output_dir`: False
- `do_predict`: False
- `eval_strategy`: no
- `prediction_loss_only`: True
- `per_device_train_batch_size`: 16
- `per_device_eval_batch_size`: 16
- `per_gpu_train_batch_size`: None
- `per_gpu_eval_batch_size`: None
- `gradient_accumulation_steps`: 1
- `eval_accumulation_steps`: None
- `learning_rate`: 2e-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`: 2
- `max_steps`: -1
- `lr_scheduler_type`: linear
- `lr_scheduler_kwargs`: {}
- `warmup_ratio`: 0.1
- `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`: True
- `fp16`: False
- `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}
- `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`: False
- `hub_always_push`: False
- `gradient_checkpointing`: False
- `gradient_checkpointing_kwargs`: None
- `include_inputs_for_metrics`: False
- `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
- `dispatch_batches`: None
- `split_batches`: 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
- `batch_sampler`: no_duplicates
- `multi_dataset_batch_sampler`: proportional
</details>
### Training Logs
| Epoch | Step | Training Loss |
|:------:|:----:|:-------------:|
| 1.5873 | 100 | 0.0963 |
### Framework Versions
- Python: 3.10.12
- Sentence Transformers: 3.0.1
- Transformers: 4.42.4
- PyTorch: 2.3.1+cu121
- Accelerate: 0.33.0.dev0
- Datasets: 2.20.0
- Tokenizers: 0.19.1
## Citation
### BibTeX
#### Sentence Transformers
```bibtex
@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",
}
```
#### BatchAllTripletLoss
```bibtex
@misc{hermans2017defense,
title={In Defense of the Triplet Loss for Person Re-Identification},
author={Alexander Hermans and Lucas Beyer and Bastian Leibe},
year={2017},
eprint={1703.07737},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
```
<!--
## Glossary
*Clearly define terms in order to be accessible across audiences.*
-->
<!--
## Model Card Authors
*Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.*
-->
<!--
## Model Card Contact
*Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.*
-->