BGE-M3 Legal Spanish (Fine-tuned)

This is a sentence-transformers model finetuned from BAAI/bge-m3 on the rtz20250828 dataset. It maps sentences & paragraphs to a 1024-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-m3
  • Maximum Sequence Length: 8192 tokens
  • Output Dimensionality: 1024 dimensions
  • Similarity Function: Cosine Similarity
  • Training Dataset:
  • Language: es
  • License: apache-2.0

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 8192, 'do_lower_case': False, 'architecture': 'XLMRobertaModel'})
  (1): Pooling({'word_embedding_dimension': 1024, '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("sentence_transformers_model_id")
# Run inference
queries = [
    "\u00bfQu\u00e9 normativa constitucional y legal fundament\u00f3 la decisi\u00f3n de la Sala de Admisi\u00f3n de la Corte Constitucional para admitir la acci\u00f3n extraordinaria de protecci\u00f3n N\u00b0 1259-11-EP?",
]
documents = [
    'La decisión de la Sala de Admisión de la Corte Constitucional para admitir la acción extraordinaria de protección N° 1259-11-EP se fundamentó en diversas disposiciones constitucionales y legales. En primer lugar, se invocó el artículo 17 del Reglamento de Sustanciación de Procesos de Competencia de la Corte Constitucional, que establece la competencia de la Sala para avocar conocimiento de las causas. Además, se hizo referencia al artículo 10 de la Constitución, que reconoce a las personas y colectivos como titulares de derechos, y al numeral 1 del artículo 86 ibídem, que permite a cualquier persona proponer acciones jurisdiccionales. Un punto crucial fue el artículo 437 de la Constitución, el cual determina que la acción extraordinaria de protección procede contra sentencias, autos definitivos y resoluciones con fuerza de sentencia, siempre que el recurrente demuestre la violación del debido proceso u otros derechos constitucionales. En concordancia con esto, se citó el artículo 58 de la Ley Orgánica de Garantías Jurisdiccionales y Control Constitucional (LOGJCC), que define el objeto de la acción extraordinaria de protección como la salvaguarda de derechos constitucionales y del debido proceso en resoluciones judiciales firmes. Finalmente, se aplicaron los artículos 61 y 62 de la LOGJCC, que prevén los requisitos para la admisibilidad de dicha acción, y el artículo 12 del Reglamento de Sustanciación de Procesos de Competencia de la Corte Constitucional, que regula el procedimiento de admisión.',
    'La Sala de Admisión de la Corte Constitucional, en el caso N°. 2544-17-EP, inadmitió la acción extraordinaria de protección interpuesta por Mariana Lucia Paredes Serrano debido al incumplimiento de requisitos de admisibilidad esenciales establecidos en el artículo 62 de la Ley Orgánica de Garantías Jurisdiccionales y Control Constitucional (LOGJCC). Específicamente, la Sala determinó que la accionante no aportó argumento alguno que justificara la relevancia constitucional del problema jurídico planteado ni de su pretensión, tal como lo exige el numeral 2 de dicho artículo. Adicionalmente, se concluyó que el fundamento de la acción se limitaba a la consideración de que la sentencia impugnada era injusta o equivocada y a la alegación de una errónea aplicación de la ley, extremos contemplados en los numerales 3 y 4 del artículo 62. La Corte enfatizó que su revisión se circunscribe a la posible vulneración de derechos constitucionales, y no a la apreciación sobre la corrección de la aplicación del derecho ordinario o la valoración de hechos, lo cual impidió la admisión de la acción por no cumplir con los criterios de excepcionalidad y estricta interpretación requeridos.',
    'La Corte Constitucional podría admitir una Acción Extraordinaria de Protección si la resolución de segunda instancia, como la emitida por la Primera Sala de lo Laboral de la Corte Provincial de Justicia del Guayas en el caso de José Oswaldo Quimi Bohórquez, incurre en una violación flagrante de derechos constitucionales y el debido proceso. Esto incluye la falta de motivación, la incongruencia, la arbitrariedad o la irrazonabilidad del fallo, que vulneren derechos como la tutela judicial efectiva (Art. 75 CRE), la seguridad jurídica (Art. 82 CRE) o la estabilidad laboral. La Corte examinaría si la vía judicial ordinaria fue inadecuada o ineficaz para proteger los derechos del accionante, tal como lo establece el artículo 42 de la LOGJCC, y si la resolución judicial de instancia inferior contraviene la supremacía de la Constitución (Art. 424 CRE) o restringe el contenido de los derechos garantizados (Art. 11 CRE).',
]
query_embeddings = model.encode_query(queries)
document_embeddings = model.encode_document(documents)
print(query_embeddings.shape, document_embeddings.shape)
# [1, 1024] [3, 1024]

# Get the similarity scores for the embeddings
similarities = model.similarity(query_embeddings, document_embeddings)
print(similarities)
# tensor([[0.8826, 0.0198, 0.0195]])

Evaluation

Metrics

Information Retrieval

Metric Value
cosine_accuracy@1 0.8973
cosine_accuracy@3 0.9458
cosine_accuracy@5 0.9587
cosine_accuracy@10 0.9695
cosine_precision@1 0.8973
cosine_precision@3 0.3153
cosine_precision@5 0.1917
cosine_precision@10 0.097
cosine_recall@1 0.8973
cosine_recall@3 0.9458
cosine_recall@5 0.9587
cosine_recall@10 0.9695
cosine_ndcg@10 0.9352
cosine_mrr@10 0.924
cosine_map@100 0.9251

Information Retrieval

Metric Value
cosine_accuracy@1 0.8961
cosine_accuracy@3 0.945
cosine_accuracy@5 0.9574
cosine_accuracy@10 0.9695
cosine_precision@1 0.8961
cosine_precision@3 0.315
cosine_precision@5 0.1915
cosine_precision@10 0.097
cosine_recall@1 0.8961
cosine_recall@3 0.945
cosine_recall@5 0.9574
cosine_recall@10 0.9695
cosine_ndcg@10 0.9345
cosine_mrr@10 0.923
cosine_map@100 0.9241

Information Retrieval

Metric Value
cosine_accuracy@1 0.8951
cosine_accuracy@3 0.9439
cosine_accuracy@5 0.9581
cosine_accuracy@10 0.9693
cosine_precision@1 0.8951
cosine_precision@3 0.3146
cosine_precision@5 0.1916
cosine_precision@10 0.0969
cosine_recall@1 0.8951
cosine_recall@3 0.9439
cosine_recall@5 0.9581
cosine_recall@10 0.9693
cosine_ndcg@10 0.9338
cosine_mrr@10 0.9222
cosine_map@100 0.9233

Training Details

Training Dataset

rtz20250828

  • Dataset: rtz20250828 at 03e19d5
  • Size: 137,404 training samples
  • Columns: query and pos
  • Approximate statistics based on the first 1000 samples:
    query pos
    type string string
    details
    • min: 16 tokens
    • mean: 53.26 tokens
    • max: 103 tokens
    • min: 79 tokens
    • mean: 231.68 tokens
    • max: 523 tokens
  • Samples:
    query pos
    ¿Qué derechos constitucionales específicos se alegan vulnerados en la acción extraordinaria de protección presentada por la Agencia de Viajes y Turismo Wanderjhar del Ecuador S.A. contra las resoluciones de la Corte Nacional y Provincial de Justicia? En la acción extraordinaria de protección interpuesta por la Agencia de Viajes y Turismo Wanderjhar del Ecuador S.A., se alegan vulnerados varios derechos constitucionales específicos. Entre ellos se mencionan la aplicación directa e inmediata de la Constitución (Art. 11, numeral 3), la aplicación e interpretación que favorezca la vigencia de la norma constitucional (Art. 11, numeral 5), el derecho a la tutela judicial efectiva, imparcial y expedita (Art. 75), el derecho al debido proceso (Art. 76, numeral 1), el derecho a la seguridad jurídica (Art. 82), el principio de motivación y congruencia (Art. 76, literal i), el principio de jerarquía y prevalencia de la Constitución (Art. 424 y 425), y el reconocimiento del arbitraje y la mediación como medios alternativos de solución de conflictos (Art. 190). La argumentación se centra en que las decisiones judiciales ordinarias desconocieron la cláusula arbitral pactada, violando así estos derechos fundamentales.
    ¿En qué fecha y bajo qué número de causa se dictó la sentencia que Hugo Eduardo Pérez Pacheco busca impugnar mediante una Acción Extraordinaria de Protección ante la Corte Constitucional? La sentencia que Hugo Eduardo Pérez Pacheco busca impugnar fue dictada el 02 de Julio del 2014 a las 16h55, y fue notificada el 07 de julio del 2014, dentro de la Causa No 1972-12. El Sr. Pérez Pacheco, en calidad de ex trabajador de la Mutualista Benalcázar en liquidación, considera que dicha resolución de la Sala de lo Laboral de la Corte Nacional de Justicia viola el debido proceso y sus derechos constitucionales y laborales. Específicamente, alega que se le negó el pago completo de la jubilación patronal global que le correspondía, a diferencia de otros ex compañeros de trabajo. La acción se fundamenta en los artículos 58 y siguientes de la Ley Orgánica de Garantías Jurisdiccionales y Control Constitucional, buscando la protección de sus derechos fundamentales ante la máxima instancia constitucional del país, dado que la sentencia de la Corte Nacional es inapelable.
    ¿Qué tipo de personalidad jurídica se concedió a la Sociedad de Especialidades Clínicas Santo Domingo “SOEC.SD” y cuál es su domicilio, según el Acuerdo Ministerial Nro. 00000091 del Ministerio de Salud Pública? El Acuerdo Ministerial Nro. 00000091 del Ministerio de Salud Pública concedió personalidad jurídica y aprobó el estatuto de la Sociedad de Especialidades Clínicas Santo Domingo “SOEC.SD”. La organización tiene su domicilio establecido en la ciudad de Santo Domingo, provincia del Santo Domingo de los Tsáchilas. La concesión de esta personalidad jurídica se realizó en ejercicio de las atribuciones delegadas al Viceministro de Gobernanza y Vigilancia de la Salud, y la sociedad deberá cumplir con las obligaciones estipuladas en el Reglamento para el Funcionamiento del Sistema Unificado de Información de las Organizaciones Sociales y Ciudadanas.
  • Loss: MatryoshkaLoss with these parameters:
    {
        "loss": "MultipleNegativesRankingLoss",
        "matryoshka_dims": [
            1024,
            768,
            512
        ],
        "matryoshka_weights": [
            1,
            1,
            1
        ],
        "n_dims_per_step": -1
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 32
  • gradient_accumulation_steps: 4
  • learning_rate: 2e-05
  • num_train_epochs: 4
  • lr_scheduler_type: cosine
  • warmup_ratio: 0.1
  • bf16: True
  • load_best_model_at_end: True
  • batch_sampler: no_duplicates

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: epoch
  • 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: 4
  • eval_accumulation_steps: None
  • torch_empty_cache_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: 4
  • max_steps: -1
  • lr_scheduler_type: cosine
  • 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: True
  • 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: True
  • 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_fused
  • 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
  • hub_revision: None
  • 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
  • liger_kernel_config: None
  • eval_use_gather_object: False
  • average_tokens_across_devices: True
  • prompts: None
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional
  • router_mapping: {}
  • learning_rate_mapping: {}

Training Logs

Epoch Step Training Loss eval_dim_1024_cosine_ndcg@10 eval_dim_768_cosine_ndcg@10 eval_dim_512_cosine_ndcg@10
0.0932 25 0.6298 - - -
0.1864 50 0.1027 - - -
0.2796 75 0.0493 - - -
0.3728 100 0.0394 - - -
0.4660 125 0.0297 - - -
0.5592 150 0.0336 - - -
0.6524 175 0.0249 - - -
0.7456 200 0.0223 - - -
0.8388 225 0.0243 - - -
0.9320 250 0.0172 - - -
1.0 269 - 0.9314 0.9300 0.9279
1.0224 275 0.018 - - -
1.1156 300 0.0165 - - -
1.2088 325 0.0138 - - -
1.3020 350 0.0132 - - -
1.3952 375 0.0084 - - -
1.4884 400 0.007 - - -
1.5815 425 0.0076 - - -
1.6747 450 0.0065 - - -
1.7679 475 0.0063 - - -
1.8611 500 0.0062 - - -
1.9543 525 0.005 - - -
2.0 538 - 0.9343 0.9341 0.9327
2.0447 550 0.0049 - - -
2.1379 575 0.0043 - - -
2.2311 600 0.0041 - - -
2.3243 625 0.0041 - - -
2.4175 650 0.0034 - - -
2.5107 675 0.0039 - - -
2.6039 700 0.0036 - - -
2.6971 725 0.004 - - -
2.7903 750 0.0036 - - -
2.8835 775 0.0042 - - -
2.9767 800 0.003 - - -
3.0 807 - 0.9354 0.9348 0.9336
3.0671 825 0.0032 - - -
3.1603 850 0.0029 - - -
3.2535 875 0.0031 - - -
3.3467 900 0.0033 - - -
3.4399 925 0.0029 - - -
3.5331 950 0.003 - - -
3.6263 975 0.0032 - - -
3.7195 1000 0.0029 - - -
3.8127 1025 0.0034 - - -
3.9059 1050 0.0029 - - -
3.9991 1075 0.0028 - - -
4.0 1076 - 0.9352 0.9345 0.9338

Framework Versions

  • Python: 3.11.11
  • Sentence Transformers: 5.1.0
  • Transformers: 4.55.4
  • PyTorch: 2.8.0.dev20250319+cu128
  • Accelerate: 1.10.1
  • Datasets: 4.0.0
  • Tokenizers: 0.21.4

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

MatryoshkaLoss

@misc{kusupati2024matryoshka,
    title={Matryoshka Representation Learning},
    author={Aditya Kusupati and Gantavya Bhatt and Aniket Rege and Matthew Wallingford and Aditya Sinha and Vivek Ramanujan and William Howard-Snyder and Kaifeng Chen and Sham Kakade and Prateek Jain and Ali Farhadi},
    year={2024},
    eprint={2205.13147},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}

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
1
Safetensors
Model size
0.6B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for wilfredomartel/bge-m3-es-legal-155k

Base model

BAAI/bge-m3
Finetuned
(347)
this model

Evaluation results