---
language:
- en
license: apache-2.0
library_name: sentence-transformers
tags:
- sentence-transformers
- sentence-similarity
- feature-extraction
- generated_from_trainer
- dataset_size:882
- loss:MatryoshkaLoss
- loss:TripletLoss
base_model: BAAI/bge-base-en-v1.5
datasets: []
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@10
- cosine_mrr@10
- cosine_map@100
widget:
- source_sentence: 'hide: footer
Fields
Fields in Argilla are define the content of a record that will be reviewed by
a user.'
sentences:
- The tourists tried to hide their footprints in the sand as they walked along the
deserted beach.
- Can the rg.Suggestion class be used to handle model predictions in Argilla?
- Can users customize the fields in Argilla to fit their specific annotation needs?
- source_sentence: "=== \"Single condition\"\n\n=== \"Multiple conditions\"\n\nFilter\
\ by status\n\nYou can filter records based on their status. The status can be\
\ pending, draft, submitted, or discarded.\n\n```python\nimport argilla_sdk as\
\ rg\n\nclient = rg.Argilla(api_url=\"\", api_key=\"\")\n\nworkspace = client.workspaces(\"\
my_workspace\")\n\ndataset = client.datasets(name=\"my_dataset\", workspace=workspace)\n\
\nstatus_filter = rg.Query(\n filter = rg.Filter((\"status\", \"==\", \"submitted\"\
))\n)"
sentences:
- The submitted application was rejected due to incomplete documentation.
- How can I apply filters to records by their status in Argilla?
- Can Argilla's IntegerMetadataProperty support a range of integer values as metadata?
- source_sentence: 'description: In this section, we will provide a step-by-step guide
to show how to filter and query a dataset.
Query, filter, and export records
This guide provides an overview of how to query and filter a dataset in Argilla
and export records.'
sentences:
- The new restaurant in town offers a unique filter coffee that is a must-try for
coffee enthusiasts.
- Is it possible to design a user role with tailored access permissions within Argilla?
- Can Argilla be employed to search and filter datasets based on particular requirements
or keywords?
- source_sentence: 'hide: footer
Fields
Fields in Argilla are define the content of a record that will be reviewed by
a user.'
sentences:
- Is it possible for annotators to tailor Argilla's fields to their unique annotation
requirements?
- The tourists tried to hide their footprints in the sand as they walked along the
deserted beach.
- Can this partnership with Prolific provide researchers with a broader range of
annotators to draw from, enhancing the quality of their studies?
- source_sentence: 'hide: footer
rg.Argilla
To interact with the Argilla server from python you can use the Argilla class.
The Argilla client is used to create, get, update, and delete all Argilla resources,
such as workspaces, users, datasets, and records.
Usage Examples
Connecting to an Argilla server
To connect to an Argilla server, instantiate the Argilla class and pass the api_url
of the server and the api_key to authenticate.
```python
import argilla_sdk as rg'
sentences:
- Can the Argilla class be employed to streamline dataset administration tasks in
my Argilla server setup?
- Is it possible to create new data entries in my dataset via Argilla's annotation
tools?
- The Argilla flowers were blooming beautifully in the garden.
pipeline_tag: sentence-similarity
model-index:
- name: BGE base ArgillaSDK Matryoshka
results:
- task:
type: information-retrieval
name: Information Retrieval
dataset:
name: dim 768
type: dim_768
metrics:
- type: cosine_accuracy@1
value: 0.1326530612244898
name: Cosine Accuracy@1
- type: cosine_accuracy@3
value: 0.2857142857142857
name: Cosine Accuracy@3
- type: cosine_accuracy@5
value: 0.3877551020408163
name: Cosine Accuracy@5
- type: cosine_accuracy@10
value: 0.5204081632653061
name: Cosine Accuracy@10
- type: cosine_precision@1
value: 0.1326530612244898
name: Cosine Precision@1
- type: cosine_precision@3
value: 0.09523809523809525
name: Cosine Precision@3
- type: cosine_precision@5
value: 0.07755102040816327
name: Cosine Precision@5
- type: cosine_precision@10
value: 0.05204081632653061
name: Cosine Precision@10
- type: cosine_recall@1
value: 0.1326530612244898
name: Cosine Recall@1
- type: cosine_recall@3
value: 0.2857142857142857
name: Cosine Recall@3
- type: cosine_recall@5
value: 0.3877551020408163
name: Cosine Recall@5
- type: cosine_recall@10
value: 0.5204081632653061
name: Cosine Recall@10
- type: cosine_ndcg@10
value: 0.3086125494748455
name: Cosine Ndcg@10
- type: cosine_mrr@10
value: 0.24321752510528016
name: Cosine Mrr@10
- type: cosine_map@100
value: 0.26038538311827203
name: Cosine Map@100
- task:
type: information-retrieval
name: Information Retrieval
dataset:
name: dim 512
type: dim_512
metrics:
- type: cosine_accuracy@1
value: 0.10204081632653061
name: Cosine Accuracy@1
- type: cosine_accuracy@3
value: 0.2755102040816326
name: Cosine Accuracy@3
- type: cosine_accuracy@5
value: 0.3877551020408163
name: Cosine Accuracy@5
- type: cosine_accuracy@10
value: 0.5102040816326531
name: Cosine Accuracy@10
- type: cosine_precision@1
value: 0.10204081632653061
name: Cosine Precision@1
- type: cosine_precision@3
value: 0.09183673469387756
name: Cosine Precision@3
- type: cosine_precision@5
value: 0.07755102040816327
name: Cosine Precision@5
- type: cosine_precision@10
value: 0.05102040816326531
name: Cosine Precision@10
- type: cosine_recall@1
value: 0.10204081632653061
name: Cosine Recall@1
- type: cosine_recall@3
value: 0.2755102040816326
name: Cosine Recall@3
- type: cosine_recall@5
value: 0.3877551020408163
name: Cosine Recall@5
- type: cosine_recall@10
value: 0.5102040816326531
name: Cosine Recall@10
- type: cosine_ndcg@10
value: 0.29420081448590024
name: Cosine Ndcg@10
- type: cosine_mrr@10
value: 0.22640913508260446
name: Cosine Mrr@10
- type: cosine_map@100
value: 0.24259809105769914
name: Cosine Map@100
- task:
type: information-retrieval
name: Information Retrieval
dataset:
name: dim 256
type: dim_256
metrics:
- type: cosine_accuracy@1
value: 0.12244897959183673
name: Cosine Accuracy@1
- type: cosine_accuracy@3
value: 0.2755102040816326
name: Cosine Accuracy@3
- type: cosine_accuracy@5
value: 0.3877551020408163
name: Cosine Accuracy@5
- type: cosine_accuracy@10
value: 0.5
name: Cosine Accuracy@10
- type: cosine_precision@1
value: 0.12244897959183673
name: Cosine Precision@1
- type: cosine_precision@3
value: 0.09183673469387753
name: Cosine Precision@3
- type: cosine_precision@5
value: 0.07755102040816327
name: Cosine Precision@5
- type: cosine_precision@10
value: 0.049999999999999996
name: Cosine Precision@10
- type: cosine_recall@1
value: 0.12244897959183673
name: Cosine Recall@1
- type: cosine_recall@3
value: 0.2755102040816326
name: Cosine Recall@3
- type: cosine_recall@5
value: 0.3877551020408163
name: Cosine Recall@5
- type: cosine_recall@10
value: 0.5
name: Cosine Recall@10
- type: cosine_ndcg@10
value: 0.2931450934182018
name: Cosine Ndcg@10
- type: cosine_mrr@10
value: 0.2290937803692905
name: Cosine Mrr@10
- type: cosine_map@100
value: 0.24454883014070852
name: Cosine Map@100
- task:
type: information-retrieval
name: Information Retrieval
dataset:
name: dim 128
type: dim_128
metrics:
- type: cosine_accuracy@1
value: 0.09183673469387756
name: Cosine Accuracy@1
- type: cosine_accuracy@3
value: 0.25510204081632654
name: Cosine Accuracy@3
- type: cosine_accuracy@5
value: 0.3163265306122449
name: Cosine Accuracy@5
- type: cosine_accuracy@10
value: 0.46938775510204084
name: Cosine Accuracy@10
- type: cosine_precision@1
value: 0.09183673469387756
name: Cosine Precision@1
- type: cosine_precision@3
value: 0.08503401360544219
name: Cosine Precision@3
- type: cosine_precision@5
value: 0.06326530612244897
name: Cosine Precision@5
- type: cosine_precision@10
value: 0.046938775510204075
name: Cosine Precision@10
- type: cosine_recall@1
value: 0.09183673469387756
name: Cosine Recall@1
- type: cosine_recall@3
value: 0.25510204081632654
name: Cosine Recall@3
- type: cosine_recall@5
value: 0.3163265306122449
name: Cosine Recall@5
- type: cosine_recall@10
value: 0.46938775510204084
name: Cosine Recall@10
- type: cosine_ndcg@10
value: 0.2629197762336244
name: Cosine Ndcg@10
- type: cosine_mrr@10
value: 0.1992265954000647
name: Cosine Mrr@10
- type: cosine_map@100
value: 0.2164845577697655
name: Cosine Map@100
- task:
type: information-retrieval
name: Information Retrieval
dataset:
name: dim 64
type: dim_64
metrics:
- type: cosine_accuracy@1
value: 0.08163265306122448
name: Cosine Accuracy@1
- type: cosine_accuracy@3
value: 0.25510204081632654
name: Cosine Accuracy@3
- type: cosine_accuracy@5
value: 0.3163265306122449
name: Cosine Accuracy@5
- type: cosine_accuracy@10
value: 0.47959183673469385
name: Cosine Accuracy@10
- type: cosine_precision@1
value: 0.08163265306122448
name: Cosine Precision@1
- type: cosine_precision@3
value: 0.08503401360544219
name: Cosine Precision@3
- type: cosine_precision@5
value: 0.06326530612244897
name: Cosine Precision@5
- type: cosine_precision@10
value: 0.04795918367346938
name: Cosine Precision@10
- type: cosine_recall@1
value: 0.08163265306122448
name: Cosine Recall@1
- type: cosine_recall@3
value: 0.25510204081632654
name: Cosine Recall@3
- type: cosine_recall@5
value: 0.3163265306122449
name: Cosine Recall@5
- type: cosine_recall@10
value: 0.47959183673469385
name: Cosine Recall@10
- type: cosine_ndcg@10
value: 0.2610977190273289
name: Cosine Ndcg@10
- type: cosine_mrr@10
value: 0.19399497894395853
name: Cosine Mrr@10
- type: cosine_map@100
value: 0.20591442395637935
name: Cosine Map@100
---
# BGE base ArgillaSDK Matryoshka
This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [BAAI/bge-base-en-v1.5](https://huggingface.co/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](https://huggingface.co/BAAI/bge-base-en-v1.5)
- **Maximum Sequence Length:** 512 tokens
- **Output Dimensionality:** 768 tokens
- **Similarity Function:** Cosine Similarity
- **Language:** en
- **License:** apache-2.0
### 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': 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:
```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("plaguss/bge-base-argilla-sdk-matryoshka")
# Run inference
sentences = [
'hide: footer\n\nrg.Argilla\n\nTo interact with the Argilla server from python you can use the Argilla class. The Argilla client is used to create, get, update, and delete all Argilla resources, such as workspaces, users, datasets, and records.\n\nUsage Examples\n\nConnecting to an Argilla server\n\nTo connect to an Argilla server, instantiate the Argilla class and pass the api_url of the server and the api_key to authenticate.\n\n```python\nimport argilla_sdk as rg',
'Can the Argilla class be employed to streamline dataset administration tasks in my Argilla server setup?',
'The Argilla flowers were blooming beautifully in the garden.',
]
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
#### Information Retrieval
* Dataset: `dim_768`
* Evaluated with [InformationRetrievalEvaluator
](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.InformationRetrievalEvaluator)
| Metric | Value |
|:--------------------|:-----------|
| cosine_accuracy@1 | 0.1327 |
| cosine_accuracy@3 | 0.2857 |
| cosine_accuracy@5 | 0.3878 |
| cosine_accuracy@10 | 0.5204 |
| cosine_precision@1 | 0.1327 |
| cosine_precision@3 | 0.0952 |
| cosine_precision@5 | 0.0776 |
| cosine_precision@10 | 0.052 |
| cosine_recall@1 | 0.1327 |
| cosine_recall@3 | 0.2857 |
| cosine_recall@5 | 0.3878 |
| cosine_recall@10 | 0.5204 |
| cosine_ndcg@10 | 0.3086 |
| cosine_mrr@10 | 0.2432 |
| **cosine_map@100** | **0.2604** |
#### Information Retrieval
* Dataset: `dim_512`
* Evaluated with [InformationRetrievalEvaluator
](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.InformationRetrievalEvaluator)
| Metric | Value |
|:--------------------|:-----------|
| cosine_accuracy@1 | 0.102 |
| cosine_accuracy@3 | 0.2755 |
| cosine_accuracy@5 | 0.3878 |
| cosine_accuracy@10 | 0.5102 |
| cosine_precision@1 | 0.102 |
| cosine_precision@3 | 0.0918 |
| cosine_precision@5 | 0.0776 |
| cosine_precision@10 | 0.051 |
| cosine_recall@1 | 0.102 |
| cosine_recall@3 | 0.2755 |
| cosine_recall@5 | 0.3878 |
| cosine_recall@10 | 0.5102 |
| cosine_ndcg@10 | 0.2942 |
| cosine_mrr@10 | 0.2264 |
| **cosine_map@100** | **0.2426** |
#### Information Retrieval
* Dataset: `dim_256`
* Evaluated with [InformationRetrievalEvaluator
](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.InformationRetrievalEvaluator)
| Metric | Value |
|:--------------------|:-----------|
| cosine_accuracy@1 | 0.1224 |
| cosine_accuracy@3 | 0.2755 |
| cosine_accuracy@5 | 0.3878 |
| cosine_accuracy@10 | 0.5 |
| cosine_precision@1 | 0.1224 |
| cosine_precision@3 | 0.0918 |
| cosine_precision@5 | 0.0776 |
| cosine_precision@10 | 0.05 |
| cosine_recall@1 | 0.1224 |
| cosine_recall@3 | 0.2755 |
| cosine_recall@5 | 0.3878 |
| cosine_recall@10 | 0.5 |
| cosine_ndcg@10 | 0.2931 |
| cosine_mrr@10 | 0.2291 |
| **cosine_map@100** | **0.2445** |
#### Information Retrieval
* Dataset: `dim_128`
* Evaluated with [InformationRetrievalEvaluator
](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.InformationRetrievalEvaluator)
| Metric | Value |
|:--------------------|:-----------|
| cosine_accuracy@1 | 0.0918 |
| cosine_accuracy@3 | 0.2551 |
| cosine_accuracy@5 | 0.3163 |
| cosine_accuracy@10 | 0.4694 |
| cosine_precision@1 | 0.0918 |
| cosine_precision@3 | 0.085 |
| cosine_precision@5 | 0.0633 |
| cosine_precision@10 | 0.0469 |
| cosine_recall@1 | 0.0918 |
| cosine_recall@3 | 0.2551 |
| cosine_recall@5 | 0.3163 |
| cosine_recall@10 | 0.4694 |
| cosine_ndcg@10 | 0.2629 |
| cosine_mrr@10 | 0.1992 |
| **cosine_map@100** | **0.2165** |
#### Information Retrieval
* Dataset: `dim_64`
* Evaluated with [InformationRetrievalEvaluator
](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.InformationRetrievalEvaluator)
| Metric | Value |
|:--------------------|:-----------|
| cosine_accuracy@1 | 0.0816 |
| cosine_accuracy@3 | 0.2551 |
| cosine_accuracy@5 | 0.3163 |
| cosine_accuracy@10 | 0.4796 |
| cosine_precision@1 | 0.0816 |
| cosine_precision@3 | 0.085 |
| cosine_precision@5 | 0.0633 |
| cosine_precision@10 | 0.048 |
| cosine_recall@1 | 0.0816 |
| cosine_recall@3 | 0.2551 |
| cosine_recall@5 | 0.3163 |
| cosine_recall@10 | 0.4796 |
| cosine_ndcg@10 | 0.2611 |
| cosine_mrr@10 | 0.194 |
| **cosine_map@100** | **0.2059** |
## Training Details
### Training Dataset
#### Unnamed Dataset
* Size: 882 training samples
* Columns: anchor
, positive
, and negative
* Approximate statistics based on the first 1000 samples:
| | anchor | positive | negative |
|:--------|:-----------------------------------------------------------------------------------|:----------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------|
| type | string | string | string |
| details |
``
!!! note "Update the metadata"
ThemetadataofRecordobject is a python dictionary. So to update the metadata of a record, you can iterate over the records and update the metadata by key or usingmetadata.update`. After that, you should update the records in the dataset.
| Can I use Argilla to annotate the metadata of Record objects and update them in the dataset?
| The beautiful scenery of the Argilla valley in Italy is perfect for a relaxing summer vacation.
|
| git checkout [branch-name]
git rebase [default-branch]
```
If everything is right, we need to commit and push the changes to your fork. For that, run the following commands:
```sh
Add the changes to the staging area
git add filename
Commit the changes by writing a proper message
git commit -m "commit-message"
Push the changes to your fork
| Can I commit Argilla's annotation changes and push them to a forked project repository after rebasing from the default branch?
| The beautiful beach in Argilla, Spain, is a popular spot for surfers to catch a wave and enjoy the sunny weather.
|
| Accessing Record Attributes
The Record object has suggestions, responses, metadata, and vectors attributes that can be accessed directly whilst iterating over records in a dataset.
python
for record in dataset.records(
with_suggestions=True,
with_responses=True,
with_metadata=True,
with_vectors=True
):
print(record.suggestions)
print(record.responses)
print(record.metadata)
print(record.vectors)
| Is it possible to retrieve the suggestions, responses, metadata, and vectors of a Record object at the same time when iterating over a dataset in Argilla?
| The new hiking trail offered breathtaking suggestions for scenic views, responses to environmental concerns, and metadata about the surrounding ecosystem, but it lacked vectors for navigation.
|
* Loss: [MatryoshkaLoss
](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#matryoshkaloss) with these parameters:
```json
{
"loss": "TripletLoss",
"matryoshka_dims": [
768,
512,
256,
128,
64
],
"matryoshka_weights": [
1,
1,
1,
1,
1
],
"n_dims_per_step": -1
}
```
### Training Hyperparameters
#### Non-Default Hyperparameters
- `eval_strategy`: epoch
- `per_device_eval_batch_size`: 4
- `gradient_accumulation_steps`: 4
- `learning_rate`: 2e-05
- `lr_scheduler_type`: cosine
- `warmup_ratio`: 0.1
- `load_best_model_at_end`: True
#### All Hyperparameters