SentenceTransformer(
(0): Transformer({'transformer_task': 'feature-extraction', 'modality_config': {'text': {'method': 'forward', 'method_output_name': 'last_hidden_state'}}, 'module_output_name': 'token_embeddings', 'architecture': 'MPNetModel'})
(1): Pooling({'embedding_dimension': 768, 'pooling_mode': 'mean', 'include_prompt': True})
(2): Normalize({})
)pip install -U sentence-transformers1from sentence_transformers import SentenceTransformer
2
3# Download from the 🤗 Hub
4model = SentenceTransformer("sentence_transformers_model_id")
5# Run inference
6sentences = [
7 'e medication administration date. This parameter corresponds to the dosageInstruction.timing.repeat.boundsPeriod element\nMedication orders that do not have start and end dates within the search parameter dates are filtered. If the environment supports multiple time zones, the search dates are adjusted one day in both directions, so more medications might be returned than expected. Use caution when filtering a medication list by date as it is possible to filter out important active medications. Starting in the November 2022 version of Epic, this parameter is respected',
8 'e medication administration date. This parameter corresponds to the dosageInstruction.timing.repeat.boundsPeriod element\nMedication orders that do not have start and end dates within the search parameter dates are filtered. If the environment supports multiple time zones, the search dates are adjusted one day in both directions, so more medications might be returned than expected. Use caution when filtering a medication list by date as it is possible to filter out important active medications. Starting in the November 2022 version of Epic, this parameter is respected',
9 'e": {"properties": {"text": {"description": "The flowsheet ID, encoded flowsheet ID, or LOINC codes to flowsheet mapping\nWhat is being measured.", "type": "string"}}, "type": "object"}, "effectiveDateTime": {"description": "The date and time the observation was taken, in ISO format.", "type": "string"}, "resourceType": {"description": "Use \\"Observation\\" for vitals observations.", "type": "string"}, "status": {"description": "The status of the observation. Only a value of \\"final\\" is supported',
10]
11embeddings = model.encode(sentences)
12print(embeddings.shape)
13# [3, 768]
14
15# Get the similarity scores for the embeddings
16similarities = model.similarity(embeddings, embeddings)
17print(similarities)
18# tensor([[1.0000, 1.0000, 0.3683],
19# [1.0000, 1.0000, 0.3683],
20# [0.3683, 0.3683, 1.0000]])anchor and positive| anchor | positive | |
|---|---|---|
| type | string | string |
| details |
|
|
| anchor | positive |
|---|---|
description": "The patient's family (last) name.", "type": "string"}, "gender": {"description": "The patient's legal sex[object Object]Starting in the August 2021 version of Epic, the legal-sex parameter is preferred.", "type": "string"}, "given": {"description": "The patient's given name. May include first and middle names.", "type": "string"}, "identifier": {"description": "The patient's identifier.", "type": "string"}, "legal-sex": {"description": "The patient\u2019s legal sex. Takes precedence over the gender search parameter. Available starting in the August 2021 version of Epic.", "type": "string"}, "name": {"description": "Any part of the patient's name. When discrete name parameters are used, such as family or given, this parameter is ignored.", "type": "string"}, "telecom": {"description": "The patient's phone number or email.", "type": "string"}}, "required": [], "type": "object"}}] | description": "The patient's family (last) name.", "type": "string"}, "gender": {"description": "The patient's legal sex[object Object]Starting in the August 2021 version of Epic, the legal-sex parameter is preferred.", "type": "string"}, "given": {"description": "The patient's given name. May include first and middle names.", "type": "string"}, "identifier": {"description": "The patient's identifier.", "type": "string"}, "legal-sex": {"description": "The patient\u2019s legal sex. Takes precedence over the gender search parameter. Available starting in the August 2021 version of Epic.", "type": "string"}, "name": {"description": "Any part of the patient's name. When discrete name parameters are used, such as family or given, this parameter is ignored.", "type": "string"}, "telecom": {"description": "The patient's phone number or email.", "type": "string"}}, "required": [], "type": "object"}}] |
e to filter out important active medications. Starting in the November 2022 version of Epic, this parameter is respected | |
| In May 2022 and earlier versions of Epic, this parameter is allowed but is ignored and no date filtering is applied.", "type": "string"}, "patient": {"description": "The FHIR patient ID.", "type": "string"}}, "required": ["patient"], "type": "object"}}, {"description": "MedicationRequest.Create", "name": "POST {api_base}/MedicationRequest", "parameters": {"properties": {"authoredOn": {"description": "The date the prescription was written.", "type": "string"}, "dosageInstruction": {"items": {"properties": {"doseAndRate": {"items": {"properties": {"doseQuantity": {"properties": {"unit": {"description": "unit for the dose such as "g" ", "type": "string"}, "value": {"type": "number"}}, "type": "object"}, "rateQuantity": {"properties": {"unit": {"description": "unit for the rate such as "h" ", "type": "string"}, "value": {"type": "number"}}, "type": "object"}}, "type"... | e to filter out important active medications. Starting in the November 2022 version of Epic, this parameter is respected |
| In May 2022 and earlier versions of Epic, this parameter is allowed but is ignored and no date filtering is applied.", "type": "string"}, "patient": {"description": "The FHIR patient ID.", "type": "string"}}, "required": ["patient"], "type": "object"}}, {"description": "MedicationRequest.Create", "name": "POST {api_base}/MedicationRequest", "parameters": {"properties": {"authoredOn": {"description": "The date the prescription was written.", "type": "string"}, "dosageInstruction": {"items": {"properties": {"doseAndRate": {"items": {"properties": {"doseQuantity": {"properties": {"unit": {"description": "unit for the dose such as "g" ", "type": "string"}, "value": {"type": "number"}}, "type": "object"}, "rateQuantity": {"properties": {"unit": {"description": "unit for the rate such as "h" ", "type": "string"}, "value": {"type": "number"}}, "type": "object"}}, "type"... | |
e": {"properties": {"text": {"description": "The flowsheet ID, encoded flowsheet ID, or LOINC codes to flowsheet mapping[object Object]What is being measured.", "type": "string"}}, "type": "object"}, "effectiveDateTime": {"description": "The date and time the observation was taken, in ISO format.", "type": "string"}, "resourceType": {"description": "Use "Observation" for vitals observations.", "type": "string"}, "status": {"description": "The status of the observation. Only a value of "final" is supported | e": {"properties": {"text": {"description": "The flowsheet ID, encoded flowsheet ID, or LOINC codes to flowsheet mapping[object Object]What is being measured.", "type": "string"}}, "type": "object"}, "effectiveDateTime": {"description": "The date and time the observation was taken, in ISO format.", "type": "string"}, "resourceType": {"description": "Use "Observation" for vitals observations.", "type": "string"}, "status": {"description": "The status of the observation. Only a value of "final" is supported |
MultipleNegativesRankingLoss with these parameters:
1{
2 "scale": 20.0,
3 "similarity_fct": "cos_sim",
4 "gather_across_devices": false,
5 "directions": [
6 "query_to_doc"
7 ],
8 "partition_mode": "joint",
9 "hardness_mode": null,
10 "hardness_strength": 0.0
11}per_device_train_batch_size: 32num_train_epochs: 2learning_rate: 2e-05warmup_steps: 0.05fp16: Trueper_device_train_batch_size: 32num_train_epochs: 2max_steps: -1learning_rate: 2e-05lr_scheduler_type: linearlr_scheduler_kwargs: Nonewarmup_steps: 0.05optim: adamw_torch_fusedoptim_args: Noneweight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08optim_target_modules: Nonegradient_accumulation_steps: 1average_tokens_across_devices: Truemax_grad_norm: 1.0label_smoothing_factor: 0.0bf16: Falsefp16: Truebf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonegradient_checkpointing: Falsegradient_checkpointing_kwargs: Nonetorch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneuse_liger_kernel: Falseliger_kernel_config: Noneuse_cache: Falseneftune_noise_alpha: Nonetorch_empty_cache_steps: Noneauto_find_batch_size: Falselog_on_each_node: Truelogging_nan_inf_filter: Trueinclude_num_input_tokens_seen: nolog_level: passivelog_level_replica: warningdisable_tqdm: Falseproject: huggingfacetrackio_space_id: Nonetrackio_bucket_id: Nonetrackio_static_space_id: Noneper_device_eval_batch_size: 8prediction_loss_only: Trueeval_on_start: Falseeval_do_concat_batches: Trueeval_use_gather_object: Falseeval_accumulation_steps: Noneinclude_for_metrics: []batch_eval_metrics: Falsesave_only_model: Falsesave_on_each_node: Falseenable_jit_checkpoint: Falsepush_to_hub: Falsehub_private_repo: Nonehub_model_id: Nonehub_strategy: every_savehub_always_push: Falsehub_revision: Noneload_best_model_at_end: Falseignore_data_skip: Falserestore_callback_states_from_checkpoint: Falsefull_determinism: Falseseed: 42data_seed: Noneuse_cpu: Falseaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}parallelism_config: Nonedataloader_drop_last: Falsedataloader_num_workers: 0dataloader_pin_memory: Truedataloader_persistent_workers: Falsedataloader_prefetch_factor: Noneremove_unused_columns: Truelabel_names: Nonetrain_sampling_strategy: randomlength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falseddp_static_graph: Noneddp_backend: Noneddp_timeout: 1800fsdp: []fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}deepspeed: Nonedebug: []skip_memory_metrics: Truedo_predict: Falseresume_from_checkpoint: Nonewarmup_ratio: Nonelocal_rank: -1prompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Training Loss |
|---|---|---|
| 0.2604 | 25 | 0.3777 |
| 0.5208 | 50 | 0.3348 |
| 0.7812 | 75 | 0.3936 |
| 1.0417 | 100 | 0.3583 |
| 1.3021 | 125 | 0.3227 |
| 1.5625 | 150 | 0.3224 |
| 1.8229 | 175 | 0.3492 |
1@inproceedings{reimers-2019-sentence-bert,
2 title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
3 author = "Reimers, Nils and Gurevych, Iryna",
4 booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
5 month = "11",
6 year = "2019",
7 publisher = "Association for Computational Linguistics",
8 url = "https://arxiv.org/abs/1908.10084",
9}1@misc{oord2019representationlearningcontrastivepredictive,
2 title={Representation Learning with Contrastive Predictive Coding},
3 author={Aaron van den Oord and Yazhe Li and Oriol Vinyals},
4 year={2019},
5 eprint={1807.03748},
6 archivePrefix={arXiv},
7 primaryClass={cs.LG},
8 url={https://arxiv.org/abs/1807.03748},
9}