SentenceTransformer based on intfloat/multilingual-e5-small

This is a sentence-transformers model finetuned from intfloat/multilingual-e5-small. 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: intfloat/multilingual-e5-small
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 384 dimensions
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: BertModel 
  (1): Pooling({'word_embedding_dimension': 384, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, '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("vkimbris/e5-small-ru-laws-habr-qa")
# Run inference
sentences = [
    'Как я могу определить условия взаимных поездок для владельцев дипломатических паспортов между РФ и Филиппинами в рамках данного соглашения?',
    ' \nРОССИЙСКАЯ ФЕДЕРАЦИЯ\n \nФЕДЕРАЛЬНЫЙ ЗАКОН\n \nО ратификации Соглашения между Правительством Российской Федерации и Правительством Республики Филиппины об условиях взаимных поездок владельцев дипломатических и служебных (официальных) паспортов\n \nПринят Государственной Думой 17 октября 2008 года\nОдобрен Советом Федерации 27 октября 2008 года\n \nРатифицировать Соглашение между Правительством Российской Федерации и Правительством Республики Филиппины об условиях взаимных поездок владельцев дипломатических и служебных (официальных) паспортов, подписанное в городе Маниле 3 августа 2007 года.\n \nПрезидент Российской Федерации Д.Медведев\n \nМосква, Кремль\n8 ноября 2008 года\n№ 199-ФЗ\n ',
    ' \nПРАВИТЕЛЬСТВО РОССИЙСКОЙ ФЕДЕРАЦИИ\n \nРАСПОРЯЖЕНИЕ\n \nот 14 июля 2012 г. № 1267-р\n \nМОСКВА\n \n1. Выдать разрешение Китайской Стороне на пересечение до 30 сентября 2012 г. государственной границы Российской Федерации вне выделенных воздушных коридоров Российской Федерации при проведении аэрофотосъемки приграничных районов Российской Федерации.\n2. Минобороны России по согласованию с заинтересованными федеральными органами исполнительной власти определить условия пересечения государственной границы Российской Федерации при совершении разворотов в воздушном пространстве Российской Федерации китайскими самолетами, выполняющими аэрофотосъемку приграничных районов Российской Федерации, исходя из того что даты полетов будут согласовываться по дипломатическим каналам.\n3. МИДу России проинформировать Китайскую Сторону о принятом решении.\n \nПредседатель Правительства\nРоссийской Федерации Д.Медведев\n ',
]
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]

Training Details

Training Dataset

Unnamed Dataset

  • Size: 2,971 training samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchor positive negative
    type string string string
    details
    • min: 2 tokens
    • mean: 30.23 tokens
    • max: 70 tokens
    • min: 55 tokens
    • mean: 169.82 tokens
    • max: 378 tokens
    • min: 55 tokens
    • mean: 179.34 tokens
    • max: 337 tokens
  • Samples:
    anchor positive negative
    Какие документы добавлены в перечень сведений, которые могут быть предоставлены в рамках статьи 7 ФЗ "О государственной регистрации юридических лиц и индивидуальных предпринимателей"?
    РОССИЙСКАЯ ФЕДЕРАЦИЯ

    ФЕДЕРАЛЬНЫЙ ЗАКОН

    О внесении изменения в статью 7 Федерального закона "О государственной регистрации юридических лиц и индивидуальных предпринимателей"

    Принят Государственной Думой 13 июля 2023 года
    Одобрен Советом Федерации 19 июля 2023 года

    Внести в абзац первый пункта 1 статьи 7 Федерального закона от 8 августа 2001 года № 129-ФЗ "О государственной регистрации юридических лиц и индивидуальных предпринимателей" (Собрание законодательства Российской Федерации, 2001, № 33, ст. 3431; 2003, № 26, ст. 2565; 2013, № 30, ст. 4084; № 44, ст. 5633; 2015, № 13, ст. 1811; 2016, № 27, ст. 4248, 4294) изменение, дополнив его после слов "индивидуальном предпринимателе" словами ", копий содержащихся в едином государственном реестре юридических лиц учредительного документа юридического лица и внесенных в него изменений".

    Президент Российской Федерации В.Путин

    Москва, Кремль
    24 июля 2023 года
    № 353-ФЗ

    ПОСТАНОВЛЕНИЕ

    ГОСУДАРСТВЕННОЙ ДУМЫ
    ФЕДЕРАЛЬНОГО СОБРАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

    О проекте федерального закона № 720000-6 "О внесении изменений в часть первую Гражданского кодекса Российской Федерации и отдельные законодательные акты Российской Федерации"

    Государственная Дума Федерального Собрания Российской Федерации постановляет:
    1. Принять во втором чтении проект федерального закона № 720000-6 "О внесении изменений в Федеральный закон "О государственной регистрации юридических лиц и индивидуальных предпринимателей" с новым наименованием "О внесении изменений в часть первую Гражданского кодекса Российской Федерации и отдельные законодательные акты Российской Федерации".
    2. Настоящее Постановление вступает в силу со дня его принятия.

    Председатель Государственной Думы
    Федерального Собрания
    Российской Федерации С.Е.Нарышкин

    Москва
    17 июня 2016 года
    № 9260-6 ГД
    Сайт, веб-приложение или веб-сервис? Сайт - представительские функции (чаще всего).
    Компания через сайт взаимодействует со своими клиентами (существующими и потенциальными), партнёрами и тд.
    Компания публикует информацию.
    Веб-приложение - программное средство (иногда, аппаратно-программное) для автоматизации бизнеса. Решает какие-то конкретные задачи конкретной компании или конкретного человека.
    Компания обрабатывает информацию для себя.
    Веб-сервис - система, предоставляющая услугу (услуги) своим клиентам.
    Компания предоставляет услуги (возможно по предоставлению и обработки информации ).
    Считаю, что у вас - сервис.
    Попробую просто:

    API для сайта — это скрипт (как правило), который принимает запросы (по методам GET (site.ru/api.php?a=b), POST) и отдаёт не обычный HTML для браузеров, а результат запроса в определённом формате (XML, JSON, php serialize()-ed).

    Соответственно предназначен он не пользователям, а скрипту со стороннего сайта/сервиса/программки, который посылает эти GET/POST запросы, получает результат и как-то использует данные. Посылает он запросы естественно не просто так, а чтобы выполнить определённое действие (напр. как действия которые выполняют пользователи сайта через браузер).

    Пользователям-программистам он нужен для интеграции с другими сайтами/сервисами программами, или автоматизации некоторых действий, создав программку для вашего сайта. Соответствено нужен он обычно только очень популярным сайтам/сервисам.
    Кастомная кнопка «Назад» в iOS? как понимаю, это просто иконка, которую поместили на картинку и заблокировали там же, чтобы при скроле она оставалась на месте или это прозрачный Navigation Bar???
    не факт. не заблокирует ли Apple приложение за такую кнопку, ведь чтобы вернуться назад придется обязательно скроллить вверх?
    не заблокируют. И скролить не полностью вверх. Ведь можно сделать что при например 30 пикселях скрола кнопна выежала назад. Пример тому приложение ВК когда листаете навбар улетает но стои немного вернуться как он сразу на месте.
    Несколько полезных репо по теме раз, два.
    Если QT берется только ради кроссплатформенности, так существует xamarin для мобильного C#+mono для Linux, OS X.
    Delphi XE5 также позволяет делать приложения под iOS,Andoid,Windows и OS X.
    Это так, если уж вы работали с С# и Delphi.
    С точки зрения пользователя, по моему, удобней таки отдельный интерфейс для каждой платформы по гайдлайнам. Меня, например, бесит приложение ВК на андроиде, которое, похоже делалось с одним интерфейсом на все платформы ибо, например, на физическую кнопку "назад" оно не реагирует.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Evaluation Dataset

Unnamed Dataset

  • Size: 331 evaluation samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 331 samples:
    anchor positive negative
    type string string string
    details
    • min: 6 tokens
    • mean: 30.31 tokens
    • max: 56 tokens
    • min: 76 tokens
    • mean: 171.21 tokens
    • max: 396 tokens
    • min: 83 tokens
    • mean: 183.6 tokens
    • max: 396 tokens
  • Samples:
    anchor positive negative
    Какие атрибуты должны быть отражены в системе для корректного учета указов о помиловании?
    УКАЗ

    ПРЕЗИДЕНТА РОССИЙСКОЙ ФЕДЕРАЦИИ

    О помиловании Калимуллиной С.Ф.

    Руководствуясь принципами гуманности, постановляю:
    помиловать КАЛИМУЛЛИНУ Светлану Фаритовну, 1980 года рождения, осужденную 25 июня 2009 г. Кировским районным судом г. Казани Республики Татарстан, освободив ее от дальнейшего отбывания наказания в виде лишения свободы.

    Президент Российской Федерации Д.Медведев

    Москва, Кремль
    27 января 2011 года
    № 107

    РОССИЙСКАЯ ФЕДЕРАЦИЯ

    ФЕДЕРАЛЬНЫЙ ЗАКОН

    О внесении изменения в статью 82 Уголовного кодекса
    Российской Федерации

    Принят Государственной Думой 24 сентября 2010 года
    Одобрен Советом Федерации 29 сентября 2010 года

    Статья 1

    Внести в часть первую статьи 82 Уголовного кодекса Российской Федерации (Собрание законодательства Российской Федерации, 1996, № 25, ст. 2954; 2001, № 11, ст. 1002; 2003, № 50, ст. 4848; 2010, № 8, ст. 780) изменение, дополнив ее после слов "кроме осужденных к" словами "ограничению свободы, к".

    Статья 2

    Настоящий Федеральный закон вступает в силу со дня его официального опубликования.

    Президент Российской Федерации Д.Медведев

    Москва, Кремль
    4 октября 2010 года
    № 270-ФЗ
    Какие изменения необходимо внести в информационную систему для корректного отображения новых формулировок в примечаниях к статьям 260 и 261 УК РФ после замены слова "таксам" на "таксам и методике"?
    РОССИЙСКАЯ ФЕДЕРАЦИЯ

    ФЕДЕРАЛЬНЫЙ ЗАКОН

    О внесении изменений в статьи 260 и 261 Уголовного кодекса Российской Федерации

    Принят Государственной Думой 1 июля 2015 года
    Одобрен Советом Федерации 8 июля 2015 года

    Внести в Уголовный кодекс Российской Федерации (Собрание законодательства Российской Федерации, 1996, № 25, ст. 2954; 2001, № 53, ст. 5028; 2003, № 50, ст. 4848; 2006, № 50, ст. 5279; 2008, № 30, ст. 3601; 2010, № 19, ст. 2289; 2011, № 1, ст. 54; № 11, ст. 1495; № 50, ст. 7362; 2014, № 30, ст. 4278) следующие изменения:
    1) в примечании к статье 260 слово "таксам" заменить словами "таксам и методике";
    2) в примечании к статье 261 слово "таксам" заменить словами "таксам и методике".

    Президент Российской Федерации В.Путин

    Москва, Кремль
    13 июля 2015 года
    № 267-ФЗ

    РОССИЙСКАЯ ФЕДЕРАЦИЯ

    ФЕДЕРАЛЬНЫЙ ЗАКОН

    О внесении изменения в статью 82 Уголовного кодекса
    Российской Федерации

    Принят Государственной Думой 24 сентября 2010 года
    Одобрен Советом Федерации 29 сентября 2010 года

    Статья 1

    Внести в часть первую статьи 82 Уголовного кодекса Российской Федерации (Собрание законодательства Российской Федерации, 1996, № 25, ст. 2954; 2001, № 11, ст. 1002; 2003, № 50, ст. 4848; 2010, № 8, ст. 780) изменение, дополнив ее после слов "кроме осужденных к" словами "ограничению свободы, к".

    Статья 2

    Настоящий Федеральный закон вступает в силу со дня его официального опубликования.

    Президент Российской Федерации Д.Медведев

    Москва, Кремль
    4 октября 2010 года
    № 270-ФЗ
    FreeBSD и ZFS Около года FreeBSD c ZFS в продуктиве на файловом сервере. Средняя отдача — 1ТБ трафика в сутки. Сервер: CPU — 2xOpteron 2214, Mem — 32G, контроллер — AMCC 9650SE-12M, диски — Seagate серии NS, 10-12 штук + SSD Intel X25-M под кэш устройство. Ни одного зависания связанного с ZFS за всё время работы сервера. Единственная проблема — замена отказавших дисков в raidz. Делаешь replace диску, пул резилверится на новый диск, а старый не уходит из конфигурации. Находил PR по этому багу, починили ли его или нет — не знаю. POST /json/favorites/ HTTP/1.1

    Host: habrahabr.ru

    Connection: keep-alive

    Content-Length: 25

    Accept: application/json, text/javascript, /; q=0.01

    Origin: habrahabr.ru

    X-Requested-With: XMLHttpRequest

    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36

    Content-Type: application/x-www-form-urlencoded; charset=UTF-8

    Referer: habrahabr.ru/qa/41576/

    Accept-Encoding: gzip,deflate,sdch

    Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4

    Cookie: PHPSESSID=fffraae8d5; hsec_id=4fffcbdbdebe539a313368f36e6; hl_flow=posts; __utma=164318880.1913179960.1370773129.1370773129.1370784648.2; __utmb=164318880.8.10.1370784648; __utmc=164318880; __utmz=164318880.1370773129.1.1.utmcsr=google
    utmccn=(organic) utmcmd=organic

    tt=16&ti=41576&action=add

    посмотрите каких заголовков не хватает для полного счастья

    например X-Requested-With: XMLHttpRequest
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • overwrite_output_dir: True
  • eval_strategy: epoch
  • per_device_train_batch_size: 256
  • learning_rate: 0.0002
  • num_train_epochs: 7
  • warmup_steps: 20
  • seed: 21
  • load_best_model_at_end: True

All Hyperparameters

Click to expand
  • overwrite_output_dir: True
  • do_predict: False
  • eval_strategy: epoch
  • prediction_loss_only: True
  • per_device_train_batch_size: 256
  • per_device_eval_batch_size: 8
  • 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: 0.0002
  • weight_decay: 0.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1.0
  • num_train_epochs: 7
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.0
  • warmup_steps: 20
  • 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: 21
  • data_seed: None
  • jit_mode_eval: False
  • use_ipex: False
  • bf16: False
  • 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: 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
  • 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
  • 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
  • use_liger_kernel: False
  • eval_use_gather_object: False
  • average_tokens_across_devices: False
  • prompts: None
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Validation Loss
1.0 12 0.2855
2.0 24 0.2239
3.0 36 0.2088
4.0 48 0.2320
5.0 60 0.2298
6.0 72 0.2348
7.0 84 0.2385
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.4.1
  • Transformers: 4.49.0
  • PyTorch: 2.6.0+cu124
  • Accelerate: 1.4.0
  • Datasets: 3.3.2
  • Tokenizers: 0.21.0

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}
}
Downloads last month
58
Safetensors
Model size
118M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for vkimbris/e5-small-ru-laws-habr-qa

Finetuned
(77)
this model