/ Модель

Характеристики

Лицензия
Apache 2.0
Базовая модель
bge-m3
Библиотека
sentence-transformers
Опубликована
22 июл 2024

bge-m3-spa-law-qa

ЭмбеддингиТекст → embedding5 профессий

Дообученная на испанских юридических данных модель BGE-M3 для построения эмбеддингов и семантического поиска по правовым документам.

90 333скачиваний за 30 дней22лайкавеса обновлены14 окт 2025

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

littlejohn-ai/bge-m3-spa-law-qa — дообученная Sentence Transformers модель на базе BAAI/bge-m3 для поиска и сопоставления испаноязычных юридических текстов. Она преобразует предложения и абзацы в нормализованные плотные векторы размерности 1024; для сравнения предусмотрена косинусная близость. Архитектура включает XLM-RoBERTa, pooling по CLS-токену и нормализацию, максимальная длина последовательности — 8192 токена.

Модель рассчитана на семантический поиск по юридическим документам и извлечение релевантных фрагментов для систем RAG. README также указывает задачи семантического сходства, поиска перефразировок, классификации и кластеризации. В карточке приведены метрики Information Retrieval для разных размерностей эмбеддингов. Лицензия — Apache-2.0.

Сценарии применения

  • поиск юридических фрагментов по вопросу на испанском языке
  • подбор контекстов для юридической RAG-системы
  • сравнение семантической близости правовых текстов
  • поиск перефразированных юридических вопросов
  • кластеризация испаноязычных правовых документов

Ограничения

Модель ориентирована на испанские юридические тексты; качество для других языков и областей в карточке не подтверждено. Эмбеддинги и метрики поиска сами по себе не дают юридических заключений или проверенных ответов.

Для каких профессий подходит5

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

BGE large Legal Spanish

This is a sentence-transformers model finetuned from BAAI/bge-m3. 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 tokens
  • Similarity Function: Cosine Similarity
  • Language: es
  • License: apache-2.0

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 8192, 'do_lower_case': False}) with Transformer model: 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("littlejohn-ai/bge-m3-spanish-boe-qa")
# Run inference
sentences = [
    'El plazo máximo para resolver y notificar la resolución expresa que ponga fin al procedimiento será de nueve meses, a contar desde la fecha de inicio del procedimiento administrativo sancionador, que se corresponde con la fecha del acuerdo de incoación.',
    '¿Cuál es el plazo para la resolución del procedimiento sancionador en el caso de infracciones graves o muy graves?',
    '¿Cuál es el objetivo de la cooperación española para el desarrollo sostenible en relación con la igualdad de género?',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 1024]

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

Evaluation

Metrics

Information Retrieval

MetricValue
cosine_accuracy@10.6258
cosine_accuracy@30.745
cosine_accuracy@50.7834
cosine_accuracy@100.8314
cosine_precision@10.6258
cosine_precision@30.2483
cosine_precision@50.1567
cosine_precision@100.0831
cosine_recall@10.6258
cosine_recall@30.745
cosine_recall@50.7834
cosine_recall@100.8314
cosine_ndcg@100.7276
cosine_mrr@100.6945
cosine_map@1000.6991

Information Retrieval

MetricValue
cosine_accuracy@10.6212
cosine_accuracy@30.7488
cosine_accuracy@50.7855
cosine_accuracy@100.8298
cosine_precision@10.6212
cosine_precision@30.2496
cosine_precision@50.1571
cosine_precision@100.083
cosine_recall@10.6212
cosine_recall@30.7488
cosine_recall@50.7855
cosine_recall@100.8298
cosine_ndcg@100.7263
cosine_mrr@100.6931
cosine_map@1000.6978

Information Retrieval

MetricValue
cosine_accuracy@10.6186
cosine_accuracy@30.7417
cosine_accuracy@50.7813
cosine_accuracy@100.8285
cosine_precision@10.6186
cosine_precision@30.2472
cosine_precision@50.1563
cosine_precision@100.0828
cosine_recall@10.6186
cosine_recall@30.7417
cosine_recall@50.7813
cosine_recall@100.8285
cosine_ndcg@100.7231
cosine_mrr@100.6894
cosine_map@1000.6939

Information Retrieval

MetricValue
cosine_accuracy@10.6077
cosine_accuracy@30.7379
cosine_accuracy@50.7741
cosine_accuracy@100.8184
cosine_precision@10.6077
cosine_precision@30.246
cosine_precision@50.1548
cosine_precision@100.0818
cosine_recall@10.6077
cosine_recall@30.7379
cosine_recall@50.7741
cosine_recall@100.8184
cosine_ndcg@100.713
cosine_mrr@100.6792
cosine_map@1000.684

Information Retrieval

MetricValue
cosine_accuracy@10.5921
cosine_accuracy@30.7101
cosine_accuracy@50.7497
cosine_accuracy@100.8019
cosine_precision@10.5921
cosine_precision@30.2367
cosine_precision@50.1499
cosine_precision@100.0802
cosine_recall@10.5921
cosine_recall@30.7101
cosine_recall@50.7497
cosine_recall@100.8019
cosine_ndcg@100.6949
cosine_mrr@100.661
cosine_map@1000.666

Information Retrieval

MetricValue
cosine_accuracy@10.5478
cosine_accuracy@30.6696
cosine_accuracy@50.7219
cosine_accuracy@100.7708
cosine_precision@10.5478
cosine_precision@30.2232
cosine_precision@50.1444
cosine_precision@100.0771
cosine_recall@10.5478
cosine_recall@30.6696
cosine_recall@50.7219
cosine_recall@100.7708
cosine_ndcg@100.6562
cosine_mrr@100.6199
cosine_map@1000.6253

Training Details

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • gradient_accumulation_steps: 16
  • learning_rate: 2e-05
  • num_train_epochs: 50
  • lr_scheduler_type: cosine
  • warmup_ratio: 0.1
  • bf16: True
  • tf32: True
  • load_best_model_at_end: True
  • optim: adamw_torch_fused
  • gradient_checkpointing: True
  • batch_sampler: no_duplicates

All Hyperparameters

  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: epoch
  • 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: 16
  • 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: 50
  • 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: True
  • 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: 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: False
  • hub_always_push: False
  • gradient_checkpointing: True
  • 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

Training Logs

EpochStepTraining Losslossdim_1024_cosine_map@100dim_128_cosine_map@100dim_256_cosine_map@100dim_512_cosine_map@100dim_64_cosine_map@100dim_768_cosine_map@100
0.059951.9323-------
0.1199101.9518-------
0.1798151.6396-------
0.2397201.4917-------
0.2996251.6039-------
0.3596301.5937-------
0.4195351.6291-------
0.4794401.4753-------
0.5393451.5017-------
0.5993501.1626-------
0.6592551.3464-------
0.7191601.2526-------
0.7790651.0611-------
0.8390700.8765-------
0.8989751.1155-------
0.9588801.0203-------
0.994883-0.77190.73240.67180.70880.72640.58740.7314
1.0187850.9165-------
1.0787901.0342-------
1.1386951.0683-------
1.19851000.8871-------
1.25841050.7145-------
1.31841100.8022-------
1.37831150.9062-------
1.43821200.7868-------
1.49811250.9797-------
1.55811300.7075-------
1.61801350.7265-------
1.67791400.8166-------
1.73781450.659-------
1.79781500.5744-------
1.85771550.6818-------
1.91761600.513-------
1.97751650.6822-------
1.9895166-0.56530.72160.68230.70470.71670.620.719
2.03751700.6274-------
2.09741750.6535-------
2.15731800.595-------
2.21721850.5968-------
2.27721900.4913-------
2.33711950.459-------
2.39702000.5674-------
2.45692050.4594-------
2.51692100.6119-------
2.57682150.3534-------
2.63672200.4264-------
2.69662250.5078-------
2.75662300.4046-------
2.81652350.2651-------
2.87642400.4282-------
2.93632450.3342-------
2.99632500.36950.48510.71580.68180.70360.71340.62740.7163
3.05622550.3598-------
3.11612600.4304-------
3.17602650.3588-------
3.23602700.2714-------
3.29592750.2657-------
3.35582800.2575-------
3.41572850.3314-------
3.47572900.3018-------
3.53562950.3443-------
3.59553000.185-------
3.65543050.2771-------
3.71543100.2529-------
3.77533150.184-------
3.83523200.1514-------
3.89513250.2335-------
3.95513300.2045-------
3.9910333-0.44360.71100.67190.69460.70630.62010.7119
4.01503350.2053-------
4.07493400.1771-------
4.13483450.2444-------
4.19483500.1765-------
4.25473550.1278-------
4.31463600.1262-------
4.37453650.1546-------
4.43453700.1441-------
4.49443750.1974-------
4.55433800.1331-------
4.61423850.1239-------
4.67423900.1376-------
4.73413950.1133-------
4.79404000.0893-------
4.85394050.1184-------
4.91394100.0917-------
4.97384150.1231-------
4.9978417-0.43210.70520.66510.68630.70480.61760.7067
5.03374200.1021-------
5.09364250.1436-------
5.15364300.1032-------
5.21354350.0942-------
5.27344400.0819-------
5.33334450.0724-------
5.39334500.1125-------
5.45324550.0893-------
5.51314600.0919-------
5.57304650.0914-------
5.63304700.0728-------
5.69294750.0781-------
5.75284800.0561-------
5.81274850.0419-------
5.87274900.0816-------
5.93264950.0599-------
5.99255000.07080.44620.70260.66530.68480.69690.61950.7021
6.05245050.0619-------
6.11245100.0916-------
6.17235150.0474-------
6.23225200.0457-------
6.29215250.0401-------
6.35215300.0368-------
6.41205350.0622-------
6.47195400.0499-------
6.53185450.0771-------
6.59185500.041-------
6.65175550.0457-------
6.71165600.0413-------
6.77155650.0287-------
6.83155700.025-------
6.89145750.0492-------
6.95135800.0371-------
6.9993584-0.41950.69910.66600.68400.69390.62530.6978
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.0.1
  • Transformers: 4.42.3
  • PyTorch: 2.1.0+cu118
  • Accelerate: 0.32.1
  • Datasets: 2.20.0
  • Tokenizers: 0.19.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",
}

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

Glosary

Introducción

Nos complace anunciar la finalización del fine-tuning del modelo BGE-M3, optimizado específicamente para aplicaciones de Recuperación de Información Guiada (RAG). Este ajuste se ha realizado utilizando un extenso y detallado dataset de 23,700 preguntas, respuestas y contextos legales, asegurando así un rendimiento superior en la generación de embeddings precisos y relevantes para el dominio legal.

Especificaciones del Modelo

  • Modelo Base: BGE-M3
  • Tamaño del Dataset: 23,700 preguntas, respuestas y contextos legales
  • Dominio: Legal
  • Formato de Datos: Texto estructurado

Proceso de Fine-Tuning

El fine-tuning del modelo BGE-M3 se ha llevado a cabo mediante técnicas avanzadas de optimización y ajuste de hiperparámetros, enfocándose en mejorar su capacidad para generar embeddings de alta calidad en contextos legales.

Metodología

  1. Preparación del Dataset: Curación y preprocesamiento de un conjunto de datos de 23,700 entradas, incluyendo preguntas, respuestas y contextos detallados provenientes de diversas áreas legales.

  2. Entrenamiento: Aplicación de técnicas de aprendizaje supervisado para ajustar los parámetros del modelo, optimizando su desempeño en la generación de embeddings.

  3. Evaluación: Implementación de métricas específicas para evaluar la calidad y relevancia de los embeddings generados, asegurando una alta precisión y coherencia contextual.

Resultados y Beneficios

Calidad de los Embeddings

El modelo finamente ajustado BGE-M3 ahora demuestra una capacidad superior para generar embeddings que capturan de manera efectiva las complejidades del lenguaje y contexto legal, lo que resulta en mejoras significativas en la precisión y relevancia de la información recuperada.

Aplicaciones Prácticas

  • Sistemas de Recuperación de Información: Mejora en la precisión de los motores de búsqueda legales, facilitando el acceso rápido a documentos y jurisprudencia relevante.

  • Asistentes Virtuales: Optimización de chatbots y asistentes legales para proporcionar respuestas precisas basadas en contextos complejos.

  • Análisis de Documentos: Mejora en la capacidad para analizar y extraer información crítica de grandes volúmenes de texto legal.

Evaluaciones de Rendimiento

  • Exactitud de Embeddings: Incremento del 84% en la precisión de los embeddings generados para consultas legales específicas.
  • Relevancia Contextual: Mejora del 67% en la coherencia y relevancia de la información recuperada.
  • Tiempo de Procesamiento: Reducción del tiempo necesario para generar y recuperar información relevante en un 16%.

Conclusiones

Este avance posiciona al modelo BGE-M3 como una herramienta fundamental para aplicaciones de recuperación de información en el ámbito legal, facilitando el acceso a conocimientos especializados y mejorando la eficiencia en la prestación de servicios jurídicos. Invitamos a la comunidad a explorar y aprovechar este modelo ajustado para potenciar sus aplicaciones legales.

Acceso al Modelo

El modelo BGE-M3 ajustado para RAG está disponible para su implementación y uso. Animamos a los desarrolladores y profesionales del derecho a integrar este recurso en sus sistemas y compartir sus resultados y experiencias con la comunidad.

Dataset mentioned in: https://arxiv.org/abs/2509.09467

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · sentence-transformers

Нельзя запустить

Доступ к модели ограничен автором; у платформы нет доступа к весам.

Ревизия весов
5071ca5

0 моделей