/ Модель

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

Контекст
514 токенов
Параметры
137 млн
Лицензия
Apache 2.0
Архитектура
mpnet · dense
Базовая модель
mpnet-base
Библиотека
sentence-transformers
Опубликована
23 фев 2026

mpnet-base-nq-prompts-hardness-all-alpha-5.0

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

Англоязычная модель MPNet преобразует тексты в векторы для семантического поиска, сопоставления запросов с документами и других задач анализа сходства.

106скачиваний за 30 дней0лайковвеса обновлены23 фев 2026

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Это текстовая модель Sentence Transformers на архитектуре MPNet, разработанная tomaarsen и дообученная на парах запросов и ответов из Natural Questions на базе microsoft/mpnet-base. Она преобразует предложения и абзацы в плотные векторы размерности 768 и предназначена для семантического поиска, сравнения текстов и извлечения релевантных ответов. Для поиска рекомендуется добавлять к запросам префикс «query: », а к документам — «document: »; близость векторов оценивается косинусным сходством.

Модель содержит 136,7 млн параметров, принимает последовательности длиной до 514 токенов по метаданным и рассчитана на английский язык. Помимо поиска и семантического сходства, в карточке указаны сценарии кластеризации, поиска перефразировок и классификации текстов. Веса опубликованы в формате safetensors; лицензия Apache-2.0.

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

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

Ограничения

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

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

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

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

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

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

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

Открыть на Hugging Face

MPNet base trained on Natural Questions pairs

This is a sentence-transformers model finetuned from microsoft/mpnet-base on the natural-questions dataset. 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: microsoft/mpnet-base
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity
  • Training Dataset:
  • Language: en
  • License: apache-2.0

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False, 'architecture': 'MPNetModel'})
  (1): Pooling({'word_embedding_dimension': 768, '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})
)

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("tomaarsen/mpnet-base-nq-prompts-hardness-all-alpha-5.0")
# Run inference
queries = [
    "where does the last name francisco come from",
]
documents = [
    'Francisco Francisco is the Spanish and Portuguese form of the masculine given name Franciscus (corresponding to English Francis).',
    'Book of Esther The Book of Esther, also known in Hebrew as "the Scroll" (Megillah), is a book in the third section (Ketuvim, "Writings") of the Jewish Tanakh (the Hebrew Bible) and in the Christian Old Testament. It is one of the five Scrolls (Megillot) in the Hebrew Bible. It relates the story of a Hebrew woman in Persia, born as Hadassah but known as Esther, who becomes queen of Persia and thwarts a genocide of her people. The story forms the core of the Jewish festival of Purim, during which it is read aloud twice: once in the evening and again the following morning. The books of Esther and Song of Songs are the only books in the Hebrew Bible that do not explicitly mention God.[2]',
    'Times Square Times Square is a major commercial intersection, tourist destination, entertainment center and neighborhood in the Midtown Manhattan section of New York City at the junction of Broadway and Seventh Avenue. It stretches from West 42nd to West 47th Streets.[1] Brightly adorned with billboards and advertisements, Times Square is sometimes referred to as "The Crossroads of the World",[2] "The Center of the Universe",[3] "the heart of The Great White Way",[4][5][6] and the "heart of the world".[7] One of the world\'s busiest pedestrian areas,[8] it is also the hub of the Broadway Theater District[9] and a major center of the world\'s entertainment industry.[10] Times Square is one of the world\'s most visited tourist attractions, drawing an estimated 50 million visitors annually.[11] Approximately 330,000 people pass through Times Square daily,[12] many of them tourists,[13] while over 460,000 pedestrians walk through Times Square on its busiest days.[7]',
]
query_embeddings = model.encode_query(queries)
document_embeddings = model.encode_document(documents)
print(query_embeddings.shape, document_embeddings.shape)
# [1, 768] [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(query_embeddings, document_embeddings)
print(similarities)
# tensor([[0.7693, 0.0224, 0.0037]])

Evaluation

Metrics

Information Retrieval

  • Datasets: NanoClimateFEVER, NanoDBPedia, NanoFEVER, NanoFiQA2018, NanoHotpotQA, NanoMSMARCO, NanoNFCorpus, NanoNQ, NanoQuoraRetrieval, NanoSCIDOCS, NanoArguAna, NanoSciFact and NanoTouche2020
  • Evaluated with InformationRetrievalEvaluator with these parameters:
    {
        "query_prompt": "query: ",
        "corpus_prompt": "document: "
    }
    
MetricNanoClimateFEVERNanoDBPediaNanoFEVERNanoFiQA2018NanoHotpotQANanoMSMARCONanoNFCorpusNanoNQNanoQuoraRetrievalNanoSCIDOCSNanoArguAnaNanoSciFactNanoTouche2020
cosine_accuracy@10.30.620.520.30.580.260.380.40.840.420.260.420.4694
cosine_accuracy@30.440.840.70.50.680.560.440.580.90.560.680.620.8776
cosine_accuracy@50.540.880.780.580.680.660.50.720.960.620.820.70.9184
cosine_accuracy@100.680.940.840.70.740.80.580.761.00.720.920.720.9592
cosine_precision@10.30.620.520.30.580.260.380.40.840.420.260.420.4694
cosine_precision@30.16670.49330.23330.220.28670.18670.27330.20.37330.280.22670.220.5306
cosine_precision@50.1320.460.160.1680.180.1320.260.1520.2440.2280.1640.1520.5306
cosine_precision@100.090.3960.0880.1060.1060.080.2120.0820.1320.170.0920.0820.4184
cosine_recall@10.14330.06050.50.14970.290.260.02240.380.74070.08770.260.3850.0362
cosine_recall@30.22830.13040.660.31090.430.560.04150.570.85870.17270.680.590.1167
cosine_recall@50.280.1810.750.38760.450.660.05340.690.92930.23570.820.6750.1883
cosine_recall@100.370.28140.820.52130.530.80.10320.740.98330.34970.920.710.2842
cosine_ndcg@100.30970.49430.66070.38150.49510.52150.25750.57320.89970.33320.58120.57030.4653
cosine_mrr@100.40760.73520.62440.42620.62980.43360.43450.52520.88490.50790.47230.53420.6618
cosine_map@1000.25340.35540.60710.30870.43070.44140.09510.52280.86890.25850.47610.52620.3677

Nano BEIR

  • Dataset: NanoBEIR_mean
  • Evaluated with NanoBEIREvaluator with these parameters:
    {
        "dataset_names": [
            "climatefever",
            "dbpedia",
            "fever",
            "fiqa2018",
            "hotpotqa",
            "msmarco",
            "nfcorpus",
            "nq",
            "quoraretrieval",
            "scidocs",
            "arguana",
            "scifact",
            "touche2020"
        ],
        "dataset_id": "sentence-transformers/NanoBEIR-en",
        "query_prompts": {
            "climatefever": "query: ",
            "dbpedia": "query: ",
            "fever": "query: ",
            "fiqa2018": "query: ",
            "hotpotqa": "query: ",
            "msmarco": "query: ",
            "nfcorpus": "query: ",
            "nq": "query: ",
            "quoraretrieval": "query: ",
            "scidocs": "query: ",
            "arguana": "query: ",
            "scifact": "query: ",
            "touche2020": "query: "
        },
        "corpus_prompts": {
            "climatefever": "document: ",
            "dbpedia": "document: ",
            "fever": "document: ",
            "fiqa2018": "document: ",
            "hotpotqa": "document: ",
            "msmarco": "document: ",
            "nfcorpus": "document: ",
            "nq": "document: ",
            "quoraretrieval": "document: ",
            "scidocs": "document: ",
            "arguana": "document: ",
            "scifact": "document: ",
            "touche2020": "document: "
        }
    }
    
MetricValue
cosine_accuracy@10.4438
cosine_accuracy@30.6444
cosine_accuracy@50.7199
cosine_accuracy@100.7969
cosine_precision@10.4438
cosine_precision@30.2839
cosine_precision@50.2279
cosine_precision@100.158
cosine_recall@10.255
cosine_recall@30.4115
cosine_recall@50.4846
cosine_recall@100.5702
cosine_ndcg@100.5033
cosine_mrr@100.5598
cosine_map@1000.424

Training Details

Training Dataset

natural-questions

  • Dataset: natural-questions at f9e894e
  • Size: 99,231 training samples
  • Columns: query and answer
  • Approximate statistics based on the first 1000 samples:
    queryanswer
    typestringstring
    detailsmin: 10 tokensmean: 11.74 tokensmax: 24 tokensmin: 15 tokensmean: 137.2 tokensmax: 508 tokens
  • Samples:
    queryanswer
    who is required to report according to the hmdaHome Mortgage Disclosure Act US financial institutions must report HMDA data to their regulator if they meet certain criteria, such as having assets above a specific threshold. The criteria is different for depository and non-depository institutions and are available on the FFIEC website.[4] In 2012, there were 7,400 institutions that reported a total of 18.7 million HMDA records.[5]
    what is the definition of endoplasmic reticulum in biologyEndoplasmic reticulum The endoplasmic reticulum (ER) is a type of organelle in eukaryotic cells that forms an interconnected network of flattened, membrane-enclosed sacs or tube-like structures known as cisternae. The membranes of the ER are continuous with the outer nuclear membrane. The endoplasmic reticulum occurs in most types of eukaryotic cells, but is absent from red blood cells and spermatozoa. There are two types of endoplasmic reticulum: rough and smooth. The outer (cytosolic) face of the rough endoplasmic reticulum is studded with ribosomes that are the sites of protein synthesis. The rough endoplasmic reticulum is especially prominent in cells such as hepatocytes. The smooth endoplasmic reticulum lacks ribosomes and functions in lipid manufacture and metabolism, the production of steroid hormones, and detoxification.[1] The smooth ER is especially abundant in mammalian liver and gonad cells. The lacy membranes of the endoplasmic reticulum were first seen in 1945 using elect...
    what does the ski mean in polish namesPolish name Since the High Middle Ages, Polish-sounding surnames ending with the masculine -ski suffix, including -cki and -dzki, and the corresponding feminine suffix -ska/-cka/-dzka were associated with the nobility (Polish szlachta), which alone, in the early years, had such suffix distinctions.[1] They are widely popular today.
  • Loss: CachedMultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim",
        "mini_batch_size": 16,
        "gather_across_devices": false,
        "directions": [
            "query_to_doc"
        ],
        "partition_mode": "joint",
        "hardness_alpha": 5.0,
        "hardness_mode": "all"
    }
    

Evaluation Dataset

natural-questions

  • Dataset: natural-questions at f9e894e
  • Size: 1,000 evaluation samples
  • Columns: query and answer
  • Approximate statistics based on the first 1000 samples:
    queryanswer
    typestringstring
    detailsmin: 10 tokensmean: 11.78 tokensmax: 22 tokensmin: 11 tokensmean: 135.64 tokensmax: 512 tokens
  • Samples:
    queryanswer
    difference between russian blue and british blue catRussian Blue The coat is known as a "double coat", with the undercoat being soft, downy and equal in length to the guard hairs, which are an even blue with silver tips. However, the tail may have a few very dull, almost unnoticeable stripes. The coat is described as thick, plush and soft to the touch. The feeling is softer than the softest silk. The silver tips give the coat a shimmering appearance. Its eyes are almost always a dark and vivid green. Any white patches of fur or yellow eyes in adulthood are seen as flaws in show cats.[3] Russian Blues should not be confused with British Blues (which are not a distinct breed, but rather a British Shorthair with a blue coat as the British Shorthair breed itself comes in a wide variety of colors and patterns), nor the Chartreux or Korat which are two other naturally occurring breeds of blue cats, although they have similar traits.
    who played the little girl on mrs doubtfireMara Wilson Mara Elizabeth Wilson[2] (born July 24, 1987) is an American writer and former child actress. She is known for playing Natalie Hillard in Mrs. Doubtfire (1993), Susan Walker in Miracle on 34th Street (1994), Matilda Wormwood in Matilda (1996) and Lily Stone in Thomas and the Magic Railroad (2000). Since retiring from film acting, Wilson has focused on writing.
    what year did the movie the sound of music come outThe Sound of Music (film) The film was released on March 2, 1965 in the United States, initially as a limited roadshow theatrical release. Although critical response to the film was widely mixed, the film was a major commercial success, becoming the number one box office movie after four weeks, and the highest-grossing film of 1965. By November 1966, The Sound of Music had become the highest-grossing film of all-time—surpassing Gone with the Wind—and held that distinction for five years. The film was just as popular throughout the world, breaking previous box-office records in twenty-nine countries. Following an initial theatrical release that lasted four and a half years, and two successful re-releases, the film sold 283 million admissions worldwide and earned a total worldwide gross of $286,000,000.
  • Loss: CachedMultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim",
        "mini_batch_size": 16,
        "gather_across_devices": false,
        "directions": [
            "query_to_doc"
        ],
        "partition_mode": "joint",
        "hardness_alpha": 5.0,
        "hardness_mode": "all"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 256
  • num_train_epochs: 1
  • learning_rate: 2e-05
  • warmup_steps: 0.1
  • bf16: True
  • eval_strategy: steps
  • per_device_eval_batch_size: 256
  • seed: 12
  • prompts: {'query': 'query: ', 'answer': 'document: '}
  • batch_sampler: no_duplicates

All Hyperparameters

  • per_device_train_batch_size: 256
  • 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: True
  • 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: trackio
  • eval_strategy: steps
  • per_device_eval_batch_size: 256
  • 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: 12
  • 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: False
  • 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_backend: None
  • ddp_timeout: 1800
  • fsdp: []
  • fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
  • deepspeed: None
  • debug: []
  • skip_memory_metrics: True
  • do_predict: False
  • resume_from_checkpoint: None
  • warmup_ratio: None
  • local_rank: -1
  • prompts: {'query': 'query: ', 'answer': 'document: '}
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional
  • router_mapping: {}
  • learning_rate_mapping: {}

Training Logs

EpochStepTraining LossValidation LossNanoClimateFEVER_cosine_ndcg@10NanoDBPedia_cosine_ndcg@10NanoFEVER_cosine_ndcg@10NanoFiQA2018_cosine_ndcg@10NanoHotpotQA_cosine_ndcg@10NanoMSMARCO_cosine_ndcg@10NanoNFCorpus_cosine_ndcg@10NanoNQ_cosine_ndcg@10NanoQuoraRetrieval_cosine_ndcg@10NanoSCIDOCS_cosine_ndcg@10NanoArguAna_cosine_ndcg@10NanoSciFact_cosine_ndcg@10NanoTouche2020_cosine_ndcg@10NanoBEIR_mean_cosine_ndcg@10
-1-1--0.04420.08510.03260.02820.06250.07080.02620.03310.67470.03870.27640.06170.07210.1159
0.002619.3422---------------
0.012959.1766---------------
0.0258108.8670---------------
0.0387157.9321---------------
0.0515205.8408---------------
0.0644253.6564---------------
0.0773302.2895---------------
0.0902351.4957---------------
0.1031401.0442---------------
0.1160450.7989---------------
0.1289500.65750.51980.27560.45900.67350.41140.42820.45400.20960.43600.85980.33220.52370.50840.45400.4635
0.1418550.5243---------------
0.1546600.5643---------------
0.1675650.5590---------------
0.1804700.4985---------------
0.1933750.4089---------------
0.2062800.4351---------------
0.2191850.4130---------------
0.2320900.4352---------------
0.2448950.3779---------------
0.25771000.36060.30760.32360.47540.66400.38880.49010.50320.23630.51120.90300.33510.56740.55480.47220.4942
0.27061050.4047---------------
0.28351100.4120---------------
0.29641150.3394---------------
0.30931200.3744---------------
0.32221250.3736---------------
0.33511300.2948---------------
0.34791350.3233---------------
0.36081400.3565---------------
0.37371450.3238---------------
0.38661500.28310.26370.31580.49830.65120.37630.45710.51150.24860.54200.88420.33240.57410.57450.45480.4939
0.39951550.3720---------------
0.41241600.3592---------------
0.42531650.2991---------------
0.43811700.2958---------------
0.45101750.3226---------------
0.46391800.2951---------------
0.47681850.3060---------------
0.48971900.2506---------------
0.50261950.3007---------------
0.51552000.32080.24360.31410.50360.67190.38790.48860.51080.25160.55780.88970.31930.58920.55600.45930.5000
0.52842050.2859---------------
0.54122100.3029---------------
0.55412150.2659---------------
0.56702200.2518---------------
0.57992250.2803---------------
0.59282300.3089---------------
0.60572350.3148---------------
0.61862400.2952---------------
0.63142450.2399---------------
0.64432500.31490.22450.31400.49730.67100.37040.48590.51700.25230.56200.88660.32520.58260.56570.46360.4995
0.65722550.2538---------------
0.67012600.2956---------------
0.68302650.2829---------------
0.69592700.2534---------------
0.70882750.3006---------------
0.72162800.2546---------------
0.73452850.2997---------------
0.74742900.2666---------------
0.76032950.2982---------------
0.77323000.25180.21880.30650.48660.66950.38730.47590.52810.25720.57710.89900.33520.57960.57920.46530.5036
0.78613050.3230---------------
0.79903100.3156---------------
0.81193150.2447---------------
0.82473200.2802---------------
0.83763250.2851---------------
0.85053300.2484---------------
0.86343350.2494---------------
0.87633400.2469---------------
0.88923450.2830---------------
0.90213500.22370.21500.31330.49410.66920.38840.48470.52190.26190.57320.89990.33430.58420.57030.46530.5047
0.91493550.3342---------------
0.92783600.2899---------------
0.94073650.3153---------------
0.95363700.2633---------------
0.96653750.2459---------------
0.97943800.2777---------------
0.99233850.2546---------------
-1-1--0.30970.49430.66070.38150.49510.52150.25750.57320.89970.33320.58120.57030.46530.5033

Framework Versions

  • Python: 3.11.6
  • Sentence Transformers: 5.3.0.dev0
  • Transformers: 5.3.0.dev0
  • PyTorch: 2.10.0+cu126
  • Accelerate: 1.12.0
  • Datasets: 4.3.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",
}

CachedMultipleNegativesRankingLoss

@misc{gao2021scaling,
    title={Scaling Deep Contrastive Learning Batch Size under Memory Limited Setup},
    author={Luyu Gao and Yunyi Zhang and Jiawei Han and Jamie Callan},
    year={2021},
    eprint={2101.06983},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
MPNetModel
Ревизия весов
41d7ced

0 моделей