/ Модель

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

Контекст
512 токенов
Параметры
25,9 млн
Архитектура
bert · dense
Базовая модель
all-MiniLM-L6-v2
Библиотека
sentence-transformers
Опубликована
8 авг 2026

csne-minilm-retrieval-50k

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

Дообученный англоязычный Sentence Transformer, который превращает предложения и абзацы в векторы для семантического поиска и извлечения текстов.

21скачиваний за 30 дней0лайковвеса обновлены8 авг 2026

Бенчмарки

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

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Эмбеддинги» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

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

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

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

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

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

Это дообученный Sentence Transformer на базе sentence-transformers/all-MiniLM-L6-v2, созданный автором репозитория opnsrcntrbtrian. Модель кодирует предложения и абзацы в плотные семантические векторы размерности 384 для поиска по смыслу и извлечения релевантных текстов. Архитектура включает энкодер BERT, mean pooling и нормализацию векторов; используется косинусное сходство.

Модель принимает только текст. В README указана максимальная длина последовательности 256 токенов, а в метаданных — контекст 512 токенов; поэтому фактический предел следует сверять с используемой конфигурацией. Для поиска её можно применять вместе с индексом векторного поиска и сравнивать векторы запросов и документов. Данных о лицензии в предоставленных источниках нет.

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

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

Ограничения

README указывает максимальную длину 256 токенов, тогда как метаданные — 512, поэтому длинные входы могут обрезаться в зависимости от конфигурации. Предназначение для английского языка следует из англоязычной базовой модели; качество для других языков не подтверждено.

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

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

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

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

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

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

Открыть на Hugging Face

SentenceTransformer based on sentence-transformers/all-MiniLM-L6-v2

This is a sentence-transformers model finetuned from sentence-transformers/all-MiniLM-L6-v2. It maps sentences & paragraphs to a 384-dimensional dense vector space and can be used for retrieval.

Model Details

Model Description

  • Model Type: Sentence Transformer
  • Base model: sentence-transformers/all-MiniLM-L6-v2
  • Maximum Sequence Length: 256 tokens
  • Output Dimensionality: 384 dimensions
  • Similarity Function: Cosine Similarity
  • Supported Modality: Text

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'transformer_task': 'feature-extraction', 'modality_config': {'text': {'method': 'forward', 'method_output_name': 'last_hidden_state'}}, 'module_output_name': 'token_embeddings', 'architecture': 'BertModel'})
  (1): Pooling({'embedding_dimension': 384, 'pooling_mode': 'mean', '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("opnsrcntrbtrian/csne-minilm-retrieval-50k")
# Run inference
queries = [
    'Go straight down and turn off the motors. Do not call this function if you use the with keyword. Landing is done automatically when the context goes out of scope.',
]
documents = [
    'MotionCommander.land def land(self, velocity=VELOCITY): pass if self._is_flying: self.down(self._thread.get_height(), velocity) self._thread.stop() self._thread = None self._cf.commander.send_stop_setpoint() self._is_flying = False',
    "issuer_create_credential async def issuer_create_credential(wallet_handle: int, cred_offer_json: str, cred_req_json: str, cred_values_json: str, rev_reg_id: Optional[str], blob_storage_reader_handle: Optional[int]) -> (str, Optional[str], Optional[str]): pass logger = logging.getLogger(__name__) logger.debug('issuer_create_credential: >>> wallet_handle: %r, cred_offer_json: %r, cred_req_json: %r, cred_values_json: %r, rev_reg_id: %r, blob_storage_reader_handle: %r', wallet_handle, cred_offer_json, cred_req_json, cred_values_json, rev_reg_id, blob_storage_reader_handle) if not hasattr(issuer_create_credential, 'cb'): logger.debug('issuer_create_credential: Creating callback') issuer_create_credential.cb = create_cb(CFUNCTYPE(None, c_int32, c_int32, c_char_p, c_char_p, c_char_p)) c_wallet_handle = c_int32(wallet_handle) c_cred_offer_json = c_char_p(cred_offer_json.encode('utf-8')) c_cred_req_json = c_char_p(cred_req_json.encode('utf-8')) c_cred_values_json = c_char_p(cred_values_json.encode('utf-8')) c_rev_reg_id = c_char_p(rev_reg_id.encode('utf-8')) if rev_reg_id is not None else None c_blob_storage_reader_handle = c_int32(blob_storage_reader_handle) if blob_storage_reader_handle else -1 cred_json, cred_revoc_id, revoc_reg_delta_json = await do_call('indy_issuer_create_credential', c_wallet_handle, c_cred_offer_json, c_cred_req_json, c_cred_values_json, c_rev_reg_id, c_blob_storage_reader_handle, issuer_create_credential.cb) cred_json = cred_json.decode() cred_revoc_id = cred_revoc_id.decode() if cred_revoc_id else None revoc_reg_delta_json = revoc_reg_delta_json.decode() if revoc_reg_delta_json else None res = (cred_json, cred_revoc_id, revoc_reg_delta_json) logger.debug('issuer_create_credential: <<< res: %r', res) return res",
    'EventPlayer.project_events def project_events(self, initial_state, domain_events): pass return reduce(self._mutator_func or self.mutate, domain_events, initial_state)',
]
query_embeddings = model.encode_query(queries)
document_embeddings = model.encode_document(documents)
print(query_embeddings.shape, document_embeddings.shape)
# [1, 384] [3, 384]

# Get the similarity scores for the embeddings
similarities = model.similarity(query_embeddings, document_embeddings)
print(similarities)
# tensor([[ 0.5800, -0.1288,  0.1306]])

Training Details

Training Dataset

Unnamed Dataset

  • Size: 50,000 training samples
  • Columns: query and code
  • Approximate statistics based on the first 100 samples:
    querycode
    typestringstring
    modalitytexttext
    detailsmin: 6 tokensmean: 33.5 tokensmax: 187 tokensmin: 37 tokensmean: 134.54 tokensmax: 256 tokens
  • Samples:
    querycode
    Deal with the response url from a Discovery ServiceBase.parse_discovery_service_response def parse_discovery_service_response(url='', query='', returnIDParam='entityID'): pass if url: part = urlparse(url) qsd = parse_qs(part[4]) elif query: qsd = parse_qs(query) else: qsd = {} try: return qsd[returnIDParam][0] except KeyError: return ''
    Given a set of argument tuples, set their value in a data dictionary if not blankarg_tup_to_dict def arg_tup_to_dict(argument_tuples): pass data = dict() for arg_name, arg_val in argument_tuples: if arg_val is not None: if arg_val is True: arg_val = 'true' elif arg_val is False: arg_val = 'false' data[arg_name] = arg_val return data
    Returns a generator over the (phenotypeAssociationSet, nextPageToken) pairs defined by the specified requestBackend.phenotypeAssociationSetsGenerator def phenotypeAssociationSetsGenerator(self, request): pass dataset = self.getDataRepository().getDataset(request.dataset_id) return self._topLevelObjectGenerator(request, dataset.getNumPhenotypeAssociationSets(), dataset.getPhenotypeAssociationSetByIndex)
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim",
        "gather_across_devices": false,
        "directions": [
            "query_to_doc"
        ],
        "partition_mode": "joint",
        "hardness_mode": null,
        "hardness_strength": 0.0
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 64
  • num_train_epochs: 1
  • learning_rate: 2e-05
  • warmup_steps: 0.1
  • dataloader_drop_last: True

All Hyperparameters

  • per_device_train_batch_size: 64
  • num_train_epochs: 1
  • max_steps: -1
  • learning_rate: 2e-05
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: None
  • warmup_steps: 0.1
  • optim: adamw_torch_fused
  • optim_args: None
  • weight_decay: 0.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • optim_target_modules: None
  • gradient_accumulation_steps: 1
  • average_tokens_across_devices: True
  • max_grad_norm: 1.0
  • label_smoothing_factor: 0.0
  • bf16: False
  • fp16: False
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: None
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • torch_compile: False
  • torch_compile_backend: None
  • torch_compile_mode: None
  • use_liger_kernel: False
  • liger_kernel_config: None
  • use_cache: False
  • neftune_noise_alpha: None
  • torch_empty_cache_steps: None
  • auto_find_batch_size: False
  • log_on_each_node: True
  • logging_nan_inf_filter: True
  • include_num_input_tokens_seen: no
  • log_level: passive
  • log_level_replica: warning
  • disable_tqdm: False
  • project: huggingface
  • trackio_space_id: None
  • trackio_bucket_id: None
  • trackio_static_space_id: None
  • per_device_eval_batch_size: 8
  • prediction_loss_only: True
  • eval_on_start: False
  • eval_do_concat_batches: True
  • eval_use_gather_object: False
  • eval_accumulation_steps: None
  • include_for_metrics: []
  • batch_eval_metrics: False
  • save_only_model: False
  • save_on_each_node: False
  • enable_jit_checkpoint: False
  • push_to_hub: False
  • hub_private_repo: None
  • hub_model_id: None
  • hub_strategy: every_save
  • hub_always_push: False
  • hub_revision: None
  • load_best_model_at_end: False
  • ignore_data_skip: False
  • restore_callback_states_from_checkpoint: False
  • full_determinism: False
  • seed: 42
  • data_seed: None
  • use_cpu: False
  • accelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
  • parallelism_config: None
  • dataloader_drop_last: True
  • dataloader_num_workers: 0
  • dataloader_pin_memory: True
  • dataloader_persistent_workers: False
  • dataloader_prefetch_factor: None
  • remove_unused_columns: True
  • label_names: None
  • train_sampling_strategy: random
  • length_column_name: length
  • ddp_find_unused_parameters: None
  • ddp_bucket_cap_mb: None
  • ddp_broadcast_buffers: False
  • ddp_static_graph: None
  • ddp_backend: None
  • ddp_timeout: 1800
  • fsdp: None
  • fsdp_config: None
  • deepspeed: None
  • debug: []
  • skip_memory_metrics: True
  • do_predict: False
  • resume_from_checkpoint: None
  • warmup_ratio: None
  • local_rank: -1
  • prompts: None
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional
  • router_mapping: {}
  • learning_rate_mapping: {}

Training Logs

EpochStepTraining Loss
0.64025000.2286

Training Time

  • Training: 11.7 minutes

Framework Versions

  • Python: 3.12.13
  • Sentence Transformers: 5.6.0
  • Transformers: 5.13.1
  • PyTorch: 2.11.0+cu128
  • Accelerate: 1.14.0
  • Datasets: 4.0.0
  • Tokenizers: 0.22.2

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{oord2019representationlearningcontrastivepredictive,
      title={Representation Learning with Contrastive Predictive Coding},
      author={Aaron van den Oord and Yazhe Li and Oriol Vinyals},
      year={2019},
      eprint={1807.03748},
      archivePrefix={arXiv},
      primaryClass={cs.LG},
      url={https://arxiv.org/abs/1807.03748},
}

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

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

GPU в ailist

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

Можно запустить

Подбираем GPU…

Класс архитектуры
BertModel
Ревизия весов
a41f5d2

0 моделей