Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 14
How to use elplaguister/qwen_chemTEB with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("elplaguister/qwen_chemTEB")
sentences = [
"Instruct: \nQuery: Adina Paytan is a research professor at the Institute of Marine Sciences at the University of California, Santa Cruz. known for research into biogeochemical cycling in the present and the past. She has over 270 scientific publications in journals such as Science, Nature, Proceedings of the National Academy of Sciences, and Geophysical Research Letters.",
"Instruct: \nQuery: Semiconductor Materials",
"Instruct: \nQuery: C(CC(=O)O)C(C(=O)N)N",
"Instruct: \nQuery: Geochemists"
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from Qwen/Qwen3-Embedding-0.6B. 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.
SentenceTransformer(
(0): Transformer({'max_seq_length': 1024, 'do_lower_case': False, 'architecture': 'Qwen3Model'})
(1): Pooling({'word_embedding_dimension': 1024, 'pooling_mode_cls_token': False, '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': True, 'include_prompt': True})
(2): Normalize()
)
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("sentence_transformers_model_id")
# Run inference
queries = [
"Instruct: \nQuery: It is branded as Dynorm, Inhibace, Vascace and many other names in various countries. None of these are available in the United States as of May 2010.",
]
documents = [
'Instruct: \nQuery: Enantiopure drugs',
'Instruct: \nQuery: Bioluminescence',
'Instruct: \nQuery: Electrochemists',
]
query_embeddings = model.encode_query(queries)
document_embeddings = model.encode_document(documents)
print(query_embeddings.shape, document_embeddings.shape)
# [1, 1024] [3, 1024]
# Get the similarity scores for the embeddings
similarities = model.similarity(query_embeddings, document_embeddings)
print(similarities)
# tensor([[0.4157, 0.1706, 0.1681]])
anchor and positive| anchor | positive | |
|---|---|---|
| type | string | string |
| details |
|
|
| anchor | positive |
|---|---|
Instruct: |
|
* |
|
* |
|
Contractor Summary |
|
* |
|
* |
|
Ingredients |
|
* |
|
% Wt: <0.1 |
|
OSHA PEL: C 0.1 MG(CRO3)/M3 |
|
ACGIH TLV: 0.5 MG(CR)/M3, A4 |
|
------------------------------ |
|
OSHA PEL: N/K (FP N) |
|
ACGIH TLV: N/K (FP N) |
|
------------------------------ |
|
OSHA PEL: N/K (FP N) |
|
ACGIH TLV: N/K (FP N) |
|
----------------------------- |
|
GUIDELINES ARE BASED ON FEDERAL REGS & |
|
----------------------------- |
|
PLEASE CONSULT LOCAL ENVIRONMENTAL |
|
----------------------------- |
|
* |
|
Health Hazards Data |
|
* |
|
Route Of Entry Inds - Inhalation: YES |
|
Skin: YES |
|
Ingestion: YES |
|
Carcinogenicity Inds - NTP: YES |
|
IARC: YES |
|
OSHA: NO |
|
Effects of Exposure: ACUTE: EYE CONTACT, SKIN CONTACT, SKIN ABSORP: NO EFFECTS |
|
ANTICIPATED. INGESTION: PRACTICALLY NON-TOXIC. INHALATION: NO EFFECTS |
|
ANTICIPATED. POTASSIUM DICHROMATE: CARCINOGEN. EXPERMENTAL MUTAGEN. EXPE |
|
RIMENTAL TERATOGEN. CAUSES BURNS. OXIDIZER. TOXIC. MAY CAUSE ALLERGIC |
|
REACTION. CHRONIC EFFECTS: NO EFTS ANTICIPATED. |
|
Signs And S... |
Instruct: |
Instruct: |
Instruct: |
Instruct: |
Instruct: |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim",
"gather_across_devices": false
}
learning_rate: 0.0001num_train_epochs: 1bf16: Trueoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: noprediction_loss_only: Trueper_device_train_batch_size: 8per_device_eval_batch_size: 8per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 0.0001weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 1max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: {}warmup_ratio: 0.0warmup_steps: 0log_level: passivelog_level_replica: warninglog_on_each_node: Truelogging_nan_inf_filter: Truesave_safetensors: Truesave_on_each_node: Falsesave_only_model: Falserestore_callback_states_from_checkpoint: Falseno_cuda: Falseuse_cpu: Falseuse_mps_device: Falseseed: 42data_seed: Nonejit_mode_eval: Falseuse_ipex: Falsebf16: Truefp16: Falsefp16_opt_level: O1half_precision_backend: autobf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonelocal_rank: 0ddp_backend: Nonetpu_num_cores: Nonetpu_metrics_debug: Falsedebug: []dataloader_drop_last: Falsedataloader_num_workers: 0dataloader_prefetch_factor: Nonepast_index: -1disable_tqdm: Falseremove_unused_columns: Truelabel_names: Noneload_best_model_at_end: Falseignore_data_skip: Falsefsdp: []fsdp_min_num_params: 0fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}fsdp_transformer_layer_cls_to_wrap: Noneaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}deepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torch_fusedoptim_args: Noneadafactor: Falsegroup_by_length: Falselength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falsedataloader_pin_memory: Truedataloader_persistent_workers: Falseskip_memory_metrics: Trueuse_legacy_prediction_loop: Falsepush_to_hub: Falseresume_from_checkpoint: Nonehub_model_id: Nonehub_strategy: every_savehub_private_repo: Nonehub_always_push: Falsehub_revision: Nonegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseinclude_for_metrics: []eval_do_concat_batches: Truefp16_backend: autopush_to_hub_model_id: Nonepush_to_hub_organization: Nonemp_parameters: auto_find_batch_size: Falsefull_determinism: Falsetorchdynamo: Noneray_scope: lastddp_timeout: 1800torch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Falseuse_liger_kernel: Falseliger_kernel_config: Noneeval_use_gather_object: Falseaverage_tokens_across_devices: Falseprompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}@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",
}
@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}
}