Views
No views yet
ColBERT(
(0): Transformer({'max_seq_length': 179, 'do_lower_case': False}) with Transformer model: ModernBertModel
(1): Dense({'in_features': 768, 'out_features': 128, 'bias': False, 'activation_function': 'torch.nn.modules.linear.Identity'})
)pip install -U pylate1from pylate import indexes, models, retrieve
2
3# Step 1: Load the ColBERT model
4model = models.ColBERT(
5 model_name_or_path=SMARTICT/contrastive-modernbert-tr-base-uncased,
6)
7
8# Step 2: Initialize the Voyager index
9index = indexes.Voyager(
10 index_folder="pylate-index",
11 index_name="index",
12 override=True, # This overwrites the existing index if any
13)
14
15# Step 3: Encode the documents
16documents_ids = ["1", "2", "3"]
17documents = ["document 1 text", "document 2 text", "document 3 text"]
18
19documents_embeddings = model.encode(
20 documents,
21 batch_size=32,
22 is_query=False, # Ensure that it is set to False to indicate that these are documents, not queries
23 show_progress_bar=True,
24)
25
26# Step 4: Add document embeddings to the index by providing embeddings and corresponding ids
27index.add_documents(
28 documents_ids=documents_ids,
29 documents_embeddings=documents_embeddings,
30)1# To load an index, simply instantiate it with the correct folder/name and without overriding it
2index = indexes.Voyager(
3 index_folder="pylate-index",
4 index_name="index",
5)1# Step 1: Initialize the ColBERT retriever
2retriever = retrieve.ColBERT(index=index)
3
4# Step 2: Encode the queries
5queries_embeddings = model.encode(
6 ["query for document 3", "query for document 1"],
7 batch_size=32,
8 is_query=True, # # Ensure that it is set to False to indicate that these are queries
9 show_progress_bar=True,
10)
11
12# Step 3: Retrieve top-k documents
13scores = retriever.retrieve(
14 queries_embeddings=queries_embeddings,
15 k=10, # Retrieve the top 10 matches for each query
16)1from pylate import rank, models
2
3queries = [
4 "query A",
5 "query B",
6]
7
8documents = [
9 ["document A", "document B"],
10 ["document 1", "document C", "document B"],
11]
12
13documents_ids = [
14 [1, 2],
15 [1, 3, 2],
16]
17
18model = models.ColBERT(
19 model_name_or_path=SMARTICT/contrastive-modernbert-tr-base-uncased,
20)
21
22queries_embeddings = model.encode(
23 queries,
24 is_query=True,
25)
26
27documents_embeddings = model.encode(
28 documents,
29 is_query=False,
30)
31
32reranked_documents = rank.rerank(
33 documents_ids=documents_ids,
34 queries_embeddings=queries_embeddings,
35 documents_embeddings=documents_embeddings,
36)query, positive, and negative| query | positive | negative | |
|---|---|---|---|
| type | string | string | string |
| details |
|
|
|
| query | positive | negative |
|---|---|---|
mars to stay misyonunun savunucuları neden ay'ı unutmamızı ve mars'a gitmemizi istiyorlar? | mars to stay misyonunu savunanlar, ay'a göre mars'ın insanlık için daha uygun bir hedef olduğunu düşünüyorlar. çünkü mars'ta su buzları bulunuyor, atmosferi var ve yerçekimi dünya'ya daha yakın. bu faktörler, mars'ta kalıcı bir yaşam kurmayı daha mümkün kılıyor. | mars one projesi, 2024 yılında mars gezegenine insan kolonisi kurmayı amaçlayan bir projeydi. projenin lideri bas lansdorp'tu ve kâr amacı gütmeyen bir girişim olarak hayata geçirilmişti. |
mars to stay misyonunun savunucuları neden ay'ı unutmamızı ve mars'a gitmemizi istiyorlar? | mars to stay misyonunu savunanlar, ay'a göre mars'ın insanlık için daha uygun bir hedef olduğunu düşünüyorlar. çünkü mars'ta su buzları bulunuyor, atmosferi var ve yerçekimi dünya'ya daha yakın. bu faktörler, mars'ta kalıcı bir yaşam kurmayı daha mümkün kılıyor. | mro'nun asıl görevi mars'ın jeolojisini ve iklimini incelemek, gelecekteki iniş alanlarını keşfetmek ve yüzey görevlerinden dünya'ya veri aktarmaktı. bu görev 2010 yılında sona erdi. |
mars to stay misyonunun savunucuları neden ay'ı unutmamızı ve mars'a gitmemizi istiyorlar? | mars to stay misyonunu savunanlar, ay'a göre mars'ın insanlık için daha uygun bir hedef olduğunu düşünüyorlar. çünkü mars'ta su buzları bulunuyor, atmosferi var ve yerçekimi dünya'ya daha yakın. bu faktörler, mars'ta kalıcı bir yaşam kurmayı daha mümkün kılıyor. | ay teorisi, ay'ın hareketlerini anlamak ve tahmin etmek için kullanılır. bu hareketler karmaşıktır ve birçok usulsüzlük içerir. yüzyıllar boyunca bilim insanları, ay'ın hareketlerini daha doğru bir şekilde modellemek için çalışmışlardır. modern gelişmeler sayesinde artık çok yüksek doğrulukta hesaplamalar yapılabiliyor. |
pylate.losses.contrastive.Contrastivequery, positive, and negative| query | positive | negative | |
|---|---|---|---|
| type | string | string | string |
| details |
|
|
|
| query | positive | negative |
|---|---|---|
ekokardiyografi ile hangi kalp problemleri tespit edilebilir? | ekokardiyografi ile ventrikül duvarının hareketleri ve boşluğu, kalp kası büyümeleri ve kalp kapakları incelenebilir. ayrıca kalbe takılan suni kapakçıkların yapı ve işlerlik durumları da ekokardiyografi ile değerlendirilebilir. | ecosan yaklaşımında evsel atık suları, sıvı (gri su) ve katı (tuvalet atıkları) olmak üzere iki temel fraksiyona ayrılır. gri su, banyo, lavabo ve mutfak gibi alanlardan gelen atık sudur ve genellikle doğrudan sulama suyu olarak kullanılabilir veya basit arıtma yöntemleriyle tekrar kullanılabilir hale getirilebilir. katı atıklar ise kompostlama yoluyla gübreye dönüştürülebilir. bu işlemde, atıklar oksijenli bir ortamda mikroorganizmalar tarafından parçalanır ve değerli organik madde elde edilir. |
ekokardiyografi ile hangi kalp problemleri tespit edilebilir? | ekokardiyografi ile ventrikül duvarının hareketleri ve boşluğu, kalp kası büyümeleri ve kalp kapakları incelenebilir. ayrıca kalbe takılan suni kapakçıkların yapı ve işlerlik durumları da ekokardiyografi ile değerlendirilebilir. | oşinografi, fiziksel, kimyasal, jeolojik ve biyolojik olmak üzere dört temel alt dala ayrılır. fiziksel oşinografi, okyanuslardaki akıntılar, dalgalar ve sıcaklık gibi fiziksel süreçleri inceler. kimyasal oşinografi ise okyanus suyundaki kimyasal bileşim, tuzluluk ve kirlilik gibi konuları ele alır. deniz jeolojisi, okyanus tabanının yapısını, depremleri ve volkanik aktiviteyi incelerken, deniz biyolojisi okyanuslardaki yaşamı, ekosistemleri ve organizmalar arasındaki etkileşimi araştırır. |
ekokardiyografi ile hangi kalp problemleri tespit edilebilir? | ekokardiyografi ile ventrikül duvarının hareketleri ve boşluğu, kalp kası büyümeleri ve kalp kapakları incelenebilir. ayrıca kalbe takılan suni kapakçıkların yapı ve işlerlik durumları da ekokardiyografi ile değerlendirilebilir. | ebird, gönüllü kuş gözlemcilerinden gelen verileri toplar. bu gözlemciler, gördükleri kuş türlerini, konumlarını, tarih ve saati ebird platformuna kaydederler. bilim insanları bu büyük veri setini kullanarak kuşların dağılımını, göç yollarını, popülasyon değişimlerini ve çevresel faktörlerin kuşlar üzerindeki etkilerini inceleyebilirler. |
pylate.losses.contrastive.Contrastiveper_device_train_batch_size: 32per_device_eval_batch_size: 32learning_rate: 3e-06num_train_epochs: 4fp16: Trueoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: noprediction_loss_only: Trueper_device_train_batch_size: 32per_device_eval_batch_size: 32per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 3e-06weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 4max_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: Falsefp16: Truefp16_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_torchoptim_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: Falsegradient_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: Nonedispatch_batches: Nonesplit_batches: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Falseuse_liger_kernel: Falseeval_use_gather_object: Falseaverage_tokens_across_devices: Falseprompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: proportional| Epoch | Step | Training Loss |
|---|---|---|
| 0.7321 | 500 | 0.5273 |
| 1.4641 | 1000 | 0.032 |
| 2.1962 | 1500 | 0.0189 |
| 2.9283 | 2000 | 0.0138 |
| 3.6603 | 2500 | 0.0124 |
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{PyLate,
2title={PyLate: Flexible Training and Retrieval for Late Interaction Models},
3author={Chaffin, Antoine and Sourty, Raphaël},
4url={https://github.com/lightonai/pylate},
5year={2024}
6}