<jupyter_start><jupyter_text>Exploring<jupyter_code>from simcse import SimCSE
model = SimCSE("princeton-nlp/sup-simcse-bert-base-uncased")
## is supervised and case insensitive
print(model)
embeddings = model.encode("A WOMAN IS READING.")
embeddings1 = model.encode("A Woman Is Reading.")
embeddings2 = model.encode("a woman is reading.")

tokenizer = AutoTokenizer.from_pretrained("princeton-nlp/sup-simcse-bert-base-uncased")

tokens = tokenizer.tokenize("What <extended> happened!")
print(tokens)
ids = tokenizer.convert_tokens_to_ids(tokens)
print(ids)

# ['hello', 'tensor', '##flow', '!']
# [7592, 23435, 12314, 999]
model.similarity(['whaaaaaaaaatttttt'], ['whaaaattttttttttt'])
model = SimCSE("princeton-nlp/sup-simcse-roberta-large")
embeddings = model.encode("A WOMAN IS READING.")
embeddings1 = model.encode("A Woman Is Reading.")
embeddings2 = model.encode("a woman is reading.")
embeddings == embeddings1
print(embeddings.size())
#Compute the cosine similarities between two groups of sentences
sentences_a = ['A woman is reading.', 'A man is playing a guitar.']
sentences_b = ['He plays guitar.', 'A woman is making a photo.']
similarities = model.similarity(sentences_a, sentences_b)
print("\nSim1:",similarities)
sentences_a = ['A woman is reading.', 'A man is playing a guitar.']
sentences_b = ['He is reading.', 'A woman is making a photo.']
similarities = model.similarity(sentences_a, sentences_b)
print("\nSim2", similarities)
sentences_a = ['A woman is reading.',  'A man is playing a guitar.']
sentences_b = ['He is reading.']
similarities = model.similarity(sentences_a, sentences_b)
print("\nSim3:",similarities)
sentences_a = ['A woman is reading.']
sentences_b = ['He is reading.']
similarities = model.similarity(sentences_a, sentences_b)
print("\nSim4:",similarities)
#build index for a group of sentences and search among them
sentences = ['what_extended','what']
model.build_index(sentences)
results = model.search("whaaaaaaaaaaat")
print("\nRes1:",results)
#build index for a group of sentences and search among them
sentences = ['She has 10 apples','She has 100000 apples']
model.build_index(sentences)
results = model.search("He has 100000 apples")
print("\nRes1:",results)
results = model.search("He has 10 apples.")
print("\nRes2:",results)
#build index for a group of sentences and search among them
sentences = ['A woman is reading.', 'A man is playing a guitar.']
model.build_index(sentences)
results = model.search("He plays guitar.")
print("\nRes1:",results)
results = model.search("She plays guitar.")
print("\nRes2:",results)
#build index for a group of sentences and search among them
sentences = ["whaaat!", "whaaattttt"]
model.build_index(sentences)
results = model.search("what")
print("\nRes1:",results)
sentences_a = ["whaat", "whatt"]
sentences_b = ["what"]
similarities = model.similarity(sentences_a, sentences_b)
print("\nSim1:",similarities)
# Uncomment the code below if we need to get the SimCSE code from their git
# !wget https://github.com/princeton-nlp/SimCSE/archive/refs/heads/main.zip
# !unzip main.zip
# !cd SimCSE-main/SentEval/data/downstream/ && wget https://huggingface.co/datasets/princeton-nlp/datasets-for-simcse/resolve/main/senteval.tar && tar xvf senteval.tar
# !ls SimCSE-main/SentEval/data/downstream/STS/STSBenchmark/
# !wget https://huggingface.co/datasets/princeton-nlp/datasets-for-simcse/resolve/main/nli_for_simcse.csv<jupyter_output><empty_output><jupyter_text>Train<jupyter_code>#Run this!

%cd ../content/drive/MyDrive/CSCI_544_NLP_Project/Twitter_Bot_Detection/Data/Model_TwiBot_Similarity_With_Metadata_360k_Tweets
!pwd<jupyter_output>/content/drive/.shortcut-targets-by-id/1ygEmNCP-_htwwx_sBJE2NdJ3Nb7aJhr3/CSCI_544_NLP_Project/Twitter_Bot_Detection/Data/Model_TwiBot_Similarity_With_Metadata_360k_Tweets
/content/drive/.shortcut-targets-by-id/1ygEmNCP-_htwwx_sBJE2NdJ3Nb7aJhr3/CSCI_544_NLP_Project/Twitter_Bot_Detection/Data/Model_TwiBot_Similarity_With_Metadata_360k_Tweets<jupyter_text>Deleting a folder - USE WITH CAUTION!<jupyter_code># import shutil
# shutil.rmtree('/content/drive/MyDrive/CSCI_544_NLP_Project/Twitter_Bot_Detection/Data/twiBot-similarity-20epochs-sup-simcse-bert-base-uncased')<jupyter_output><empty_output><jupyter_text>Training with TwiBot - GPU<jupyter_code>!pwd
!cd SimCSE-main && python train.py --model_name_or_path bert-base-uncased \
    --train_file ../train_triplets.csv \
    --output_dir ../twiBot-sup-simcse-bert-base-uncased \
    --num_train_epochs 1 \
    --per_device_train_batch_size 32 \
    --learning_rate 5e-5 \
    --max_seq_length 32 \
    --evaluation_strategy steps \
    --metric_for_best_model stsb_spearman \
    --load_best_model_at_end \
    --overwrite_output_dir \
    --temp 0.05 \
    --do_train \<jupyter_output>11/19/2021 23:21:27 - INFO - __main__ -   PyTorch: setting up devices
11/19/2021 23:21:27 - INFO - __main__ -   Set device to CUDA
11/19/2021 23:21:27 - WARNING - __main__ -   Process rank: -1, device: cuda:0, n_gpu: 1 distributed training: False, 16-bits training: False
11/19/2021 23:21:27 - INFO - __main__ -   Training/evaluation parameters OurTrainingArguments(output_dir='../twiBot-sup-simcse-bert-base-uncased', overwrite_output_dir=True, do_train=True, do_eval=True, do_predict=False, evaluation_strategy=<EvaluationStrategy.STEPS: 'steps'>, prediction_loss_only=False, per_device_train_batch_size=32, per_device_eval_batch_size=8, per_gpu_train_batch_size=None, per_gpu_eval_batch_size=None, gradient_accumulation_steps=1, eval_accumulation_steps=None, learning_rate=5e-05, weight_decay=0.0, adam_beta1=0.9, adam_beta2=0.999, adam_epsilon=1e-08, max_grad_norm=1.0, num_train_epochs=1.0, max_steps=-1, lr_scheduler_type=<SchedulerType.LINEAR: 'linear'>, warmup_steps=0, logging_dir='runs/Nov1[...]<jupyter_text>Training with TwiBot 20 epochs - GPU<jupyter_code>!cd SimCSE-main && python train.py --model_name_or_path bert-base-uncased \
    --train_file ../train_triplets.csv \
    --output_dir ../twiBot-20epochs-sup-simcse-bert-base-uncased \
    --num_train_epochs 20 \
    --per_device_train_batch_size 32 \
    --learning_rate 5e-5 \
    --max_seq_length 32 \
    --evaluation_strategy steps \
    --metric_for_best_model stsb_spearman \
    --load_best_model_at_end \
    --pooler_type cls \
    --overwrite_output_dir \
    --temp 0.05 \
    --do_train \<jupyter_output><empty_output><jupyter_text>Training with TwiBot dataset built on *similarity* - GPU<jupyter_code>!pwd
# Don't run again!

# Extract only the tweet data from the dataset and copy to train_triplets_with_similarity_only_tweets.csv
df = pd.read_csv("/content/drive/MyDrive/CSCI_544_NLP_Project/Twitter_Bot_Detection/Data/train_triplets_with_similarity.csv")
df_only_tweets = df[['sent0', 'sent1', 'hard_neg']]
df_only_tweets.to_csv("train_triplets_with_similarity_only_tweets.csv", index=False)
!cd SimCSE-main && python train.py --model_name_or_path bert-base-uncased \
    --train_file ../train_triplets_with_similarity_only_tweets.csv \
    --output_dir ../twiBot-similarity-sup-simcse-bert-base-uncased \
    --num_train_epochs 1 \
    --per_device_train_batch_size 32 \
    --learning_rate 5e-5 \
    --max_seq_length 32 \
    --evaluation_strategy steps \
    --metric_for_best_model stsb_spearman \
    --load_best_model_at_end \
    --overwrite_output_dir \
    --temp 0.05 \
    --do_train \
!cd SimCSE-main && python train.py --model_name_or_path bert-base-uncased \
    --train_file ../train_triplets_with_similarity_only_tweets.csv \
    --output_dir ../twiBot-similarity-10epochs-sup-simcse-bert-base-uncased \
    --num_train_epochs 10 \
    --per_device_train_batch_size 32 \
    --learning_rate 5e-5 \
    --max_seq_length 32 \
    --evaluation_strategy steps \
    --metric_for_best_model stsb_spearman \
    --load_best_model_at_end \
    --overwrite_output_dir \
    --temp 0.05 \
    --do_train \<jupyter_output>11/23/2021 04:13:50 - INFO - __main__ -   PyTorch: setting up devices
11/23/2021 04:13:50 - INFO - __main__ -   Set device to CUDA
11/23/2021 04:13:50 - WARNING - __main__ -   Process rank: -1, device: cuda:0, n_gpu: 1 distributed training: False, 16-bits training: False
11/23/2021 04:13:50 - INFO - __main__ -   Training/evaluation parameters OurTrainingArguments(output_dir='../twiBot-similarity-10epochs-sup-simcse-bert-base-uncased', overwrite_output_dir=True, do_train=True, do_eval=True, do_predict=False, evaluation_strategy=<EvaluationStrategy.STEPS: 'steps'>, prediction_loss_only=False, per_device_train_batch_size=32, per_device_eval_batch_size=8, per_gpu_train_batch_size=None, per_gpu_eval_batch_size=None, gradient_accumulation_steps=1, eval_accumulation_steps=None, learning_rate=5e-05, weight_decay=0.0, adam_beta1=0.9, adam_beta2=0.999, adam_epsilon=1e-08, max_grad_norm=1.0, num_train_epochs=10.0, max_steps=-1, lr_scheduler_type=<SchedulerType.LINEAR: 'linear'>, warmup_steps=0, l[...]<jupyter_text>Training with TwiBot dataset built on *similarity* - 15 epochs - GPU<jupyter_code>!cd SimCSE-main && python train.py --model_name_or_path bert-base-uncased \
    --train_file ../train_triplets_with_similarity_only_tweets.csv \
    --output_dir ../twiBot-similarity-15epochs-sup-simcse-bert-base-uncased \
    --num_train_epochs 15 \
    --per_device_train_batch_size 32 \
    --learning_rate 5e-5 \
    --max_seq_length 32 \
    --evaluation_strategy steps \
    --metric_for_best_model stsb_spearman \
    --load_best_model_at_end \
    --overwrite_output_dir \
    --temp 0.05 \
    --do_train \<jupyter_output>11/24/2021 00:26:15 - INFO - __main__ -   PyTorch: setting up devices
11/24/2021 00:26:15 - INFO - __main__ -   Set device to CUDA
11/24/2021 00:26:15 - WARNING - __main__ -   Process rank: -1, device: cuda:0, n_gpu: 1 distributed training: False, 16-bits training: False
11/24/2021 00:26:15 - INFO - __main__ -   Training/evaluation parameters OurTrainingArguments(output_dir='../twiBot-similarity-15epochs-sup-simcse-bert-base-uncased', overwrite_output_dir=True, do_train=True, do_eval=True, do_predict=False, evaluation_strategy=<EvaluationStrategy.STEPS: 'steps'>, prediction_loss_only=False, per_device_train_batch_size=32, per_device_eval_batch_size=8, per_gpu_train_batch_size=None, per_gpu_eval_batch_size=None, gradient_accumulation_steps=1, eval_accumulation_steps=None, learning_rate=5e-05, weight_decay=0.0, adam_beta1=0.9, adam_beta2=0.999, adam_epsilon=1e-08, max_grad_norm=1.0, num_train_epochs=15.0, max_steps=-1, lr_scheduler_type=<SchedulerType.LINEAR: 'linear'>, warmup_steps=0, l[...]<jupyter_text>Training with TwiBot dataset built on *similarity* - 20 epochs - GPU<jupyter_code>!cd SimCSE-main && python train.py --model_name_or_path ../twiBot-similarity-10epochs-sup-simcse-bert-base-uncased \
    --train_file ../train_triplets_with_similarity_only_tweets.csv \
    --output_dir ../twiBot-similarity-20epochs-sup-simcse-bert-base-uncased \
    --num_train_epochs 20 \
    --per_device_train_batch_size 32 \
    --learning_rate 5e-5 \
    --max_seq_length 32 \
    --evaluation_strategy steps \
    --metric_for_best_model stsb_spearman \
    --load_best_model_at_end \
    --overwrite_output_dir \
    --temp 0.05 \
    --do_train \<jupyter_output>11/23/2021 11:29:08 - INFO - __main__ -   PyTorch: setting up devices
11/23/2021 11:29:08 - INFO - __main__ -   Set device to CUDA
11/23/2021 11:29:08 - WARNING - __main__ -   Process rank: -1, device: cuda:0, n_gpu: 1 distributed training: False, 16-bits training: False
11/23/2021 11:29:08 - INFO - __main__ -   Training/evaluation parameters OurTrainingArguments(output_dir='../twiBot-similarity-20epochs-sup-simcse-bert-base-uncased', overwrite_output_dir=True, do_train=True, do_eval=True, do_predict=False, evaluation_strategy=<EvaluationStrategy.STEPS: 'steps'>, prediction_loss_only=False, per_device_train_batch_size=32, per_device_eval_batch_size=8, per_gpu_train_batch_size=None, per_gpu_eval_batch_size=None, gradient_accumulation_steps=1, eval_accumulation_steps=None, learning_rate=5e-05, weight_decay=0.0, adam_beta1=0.9, adam_beta2=0.999, adam_epsilon=1e-08, max_grad_norm=1.0, num_train_epochs=20.0, max_steps=-1, lr_scheduler_type=<SchedulerType.LINEAR: 'linear'>, warmup_steps=0, l[...]<jupyter_text>Training with 360k TwiBot dataset built on *similarity* with metadata - 1 epoch<jupyter_code>!pwd
!cd ../SimCSE-main && python train.py --model_name_or_path bert-base-uncased \
    --train_file ../Model_TwiBot_Similarity_With_Metadata_360k_Tweets/train_all_data_triplets_with_similarity_for_simcse.csv \
    --output_dir ../Model_TwiBot_Similarity_With_Metadata_360k_Tweets/twiBot-360k-similarity-metadata-1epoch \
    --num_train_epochs 1 \
    --per_device_train_batch_size 32 \
    --learning_rate 5e-5 \
    --max_seq_length 48 \
    --evaluation_strategy steps \
    --metric_for_best_model stsb_spearman \
    --load_best_model_at_end \
    --overwrite_output_dir \
    --temp 0.05 \
    --do_train \<jupyter_output>11/27/2021 14:26:21 - INFO - __main__ -   PyTorch: setting up devices
11/27/2021 14:26:21 - INFO - __main__ -   Set device to CUDA
11/27/2021 14:26:21 - WARNING - __main__ -   Process rank: -1, device: cuda:0, n_gpu: 1 distributed training: False, 16-bits training: False
11/27/2021 14:26:21 - INFO - __main__ -   Training/evaluation parameters OurTrainingArguments(output_dir='../Model_TwiBot_Similarity_With_Metadata_360k_Tweets/twiBot-360k-similarity-metadata-1epoch', overwrite_output_dir=True, do_train=True, do_eval=True, do_predict=False, evaluation_strategy=<EvaluationStrategy.STEPS: 'steps'>, prediction_loss_only=False, per_device_train_batch_size=32, per_device_eval_batch_size=8, per_gpu_train_batch_size=None, per_gpu_eval_batch_size=None, gradient_accumulation_steps=1, eval_accumulation_steps=None, learning_rate=5e-05, weight_decay=0.0, adam_beta1=0.9, adam_beta2=0.999, adam_epsilon=1e-08, max_grad_norm=1.0, num_train_epochs=1.0, max_steps=-1, lr_scheduler_type=<SchedulerType.LINE[...]<jupyter_text>Training with 360k TwiBot dataset built on similarity with metadata - no tags for uppercase - 1 epoch LR 5e-5--model_name_or_path bert-base-uncased<jupyter_code>!cd ../SimCSE-main && python train.py --model_name_or_path bert-base-uncased \
    --train_file ../Model_TwiBot_Similarity_With_Metadata_360k_Tweets/train_all_data_triplets_with_similarity_for_simcse.csv \
    --output_dir ../Model_TwiBot_Similarity_With_Metadata_360k_Tweets/twiBot-360k-similarity-metadata-1epoch_LR5e-5_bert_base_uncased \
    --num_train_epochs 1 \
    --per_device_train_batch_size 32 \
    --learning_rate 5e-5 \
    --max_seq_length 48 \
    --evaluation_strategy steps \
    --metric_for_best_model stsb_spearman \
    --load_best_model_at_end \
    --overwrite_output_dir \
    --temp 0.05 \
    --do_train \<jupyter_output>11/28/2021 08:06:07 - INFO - __main__ -   PyTorch: setting up devices
11/28/2021 08:06:07 - INFO - __main__ -   Set device to CUDA
11/28/2021 08:06:07 - WARNING - __main__ -   Process rank: -1, device: cuda:0, n_gpu: 1 distributed training: False, 16-bits training: False
11/28/2021 08:06:07 - INFO - __main__ -   Training/evaluation parameters OurTrainingArguments(output_dir='../Model_TwiBot_Similarity_With_Metadata_360k_Tweets/twiBot-360k-similarity-metadata-1epoch_LR5e-5_bert_base_uncased', overwrite_output_dir=True, do_train=True, do_eval=True, do_predict=False, evaluation_strategy=<EvaluationStrategy.STEPS: 'steps'>, prediction_loss_only=False, per_device_train_batch_size=32, per_device_eval_batch_size=8, per_gpu_train_batch_size=None, per_gpu_eval_batch_size=None, gradient_accumulation_steps=1, eval_accumulation_steps=None, learning_rate=5e-05, weight_decay=0.0, adam_beta1=0.9, adam_beta2=0.999, adam_epsilon=1e-08, max_grad_norm=1.0, num_train_epochs=1.0, max_steps=-1, lr_scheduler[...]<jupyter_text>Training with 360k TwiBot dataset built on similarity with metadata - no tags for uppercase - 1 epoch LR 5e-5-model_name_or_path princeton-nlp/sup-simcse-roberta-base<jupyter_code>!cd ../SimCSE-main && python train.py --model_name_or_path princeton-nlp/sup-simcse-roberta-base \
    --train_file ../Model_TwiBot_Similarity_With_Metadata_360k_Tweets/train_all_data_triplets_with_similarity_for_simcse.csv \
    --output_dir ../Model_TwiBot_Similarity_With_Metadata_360k_Tweets/twiBot-360k-similarity-metadata-1epoch_LR5e-5_roberta_base \
    --num_train_epochs 1 \
    --per_device_train_batch_size 32 \
    --learning_rate 5e-5 \
    --max_seq_length 48 \
    --evaluation_strategy steps \
    --metric_for_best_model stsb_spearman \
    --load_best_model_at_end \
    --overwrite_output_dir \
    --temp 0.05 \
    --do_train \<jupyter_output><empty_output><jupyter_text>Training with 360k TwiBot dataset built on similarity with metadata - no tags for uppercase - 1 epoch LR 1e-5--model_name_or_path bert-base-uncased<jupyter_code>!cd ../SimCSE-main && python train.py --model_name_or_path bert-base-uncased \
    --train_file ../Model_TwiBot_Similarity_With_Metadata_360k_Tweets/train_all_data_triplets_with_similarity_for_simcse.csv \
    --output_dir ../Model_TwiBot_Similarity_With_Metadata_360k_Tweets/twiBot-360k-similarity-metadata-1epoch_LR1e-5_bert_base_uncased \
    --num_train_epochs 1 \
    --per_device_train_batch_size 32 \
    --learning_rate 1e-5 \
    --max_seq_length 48 \
    --evaluation_strategy steps \
    --metric_for_best_model stsb_spearman \
    --load_best_model_at_end \
    --overwrite_output_dir \
    --temp 0.05 \
    --do_train \<jupyter_output><empty_output><jupyter_text>Training with 360k TwiBot dataset built on similarity with metadata - no tags for uppercase - 1 epoch LR 1e-5-model_name_or_path princeton-nlp/sup-simcse-roberta-base<jupyter_code>!cd ../SimCSE-main && python train.py --model_name_or_path princeton-nlp/sup-simcse-roberta-base \
    --train_file ../Model_TwiBot_Similarity_With_Metadata_360k_Tweets/train_all_data_triplets_with_similarity_for_simcse.csv \
    --output_dir ../Model_TwiBot_Similarity_With_Metadata_360k_Tweets/twiBot-360k-similarity-metadata-1epoch_LR1e-5_roberta_base \
    --num_train_epochs 1 \
    --per_device_train_batch_size 32 \
    --learning_rate 1e-5 \
    --max_seq_length 48 \
    --evaluation_strategy steps \
    --metric_for_best_model stsb_spearman \
    --load_best_model_at_end \
    --overwrite_output_dir \
    --temp 0.05 \
    --do_train \<jupyter_output>11/30/2021 01:40:36 - INFO - __main__ -   PyTorch: setting up devices
11/30/2021 01:40:36 - INFO - __main__ -   Set device to CUDA
11/30/2021 01:40:36 - WARNING - __main__ -   Process rank: -1, device: cuda:0, n_gpu: 1 distributed training: False, 16-bits training: False
11/30/2021 01:40:36 - INFO - __main__ -   Training/evaluation parameters OurTrainingArguments(output_dir='../Model_TwiBot_Similarity_With_Metadata_360k_Tweets/twiBot-360k-similarity-metadata-1epoch_LR1e-5_roberta_base', overwrite_output_dir=True, do_train=True, do_eval=True, do_predict=False, evaluation_strategy=<EvaluationStrategy.STEPS: 'steps'>, prediction_loss_only=False, per_device_train_batch_size=32, per_device_eval_batch_size=8, per_gpu_train_batch_size=None, per_gpu_eval_batch_size=None, gradient_accumulation_steps=1, eval_accumulation_steps=None, learning_rate=1e-05, weight_decay=0.0, adam_beta1=0.9, adam_beta2=0.999, adam_epsilon=1e-08, max_grad_norm=1.0, num_train_epochs=1.0, max_steps=-1, lr_scheduler_type[...]<jupyter_text>Load model<jupyter_code>ls drive/MyDrive/twiBot-20epochs-sup-simcse-bert-base-uncased
!pwd
sent1 = ['the butlers visitor experience will leave you with cherished memories and your tastebuds longing for more butlers chocolate . check availability here <_url_> <_url_>']
sent2 = ['angel food cake hack to satisfy your cravings <_url_>']
sen_neg = ['adding seasonal words to search terms can help your items surface in search results . <_url_> ( seller central login required )']
# Trained on the twibot-similarity-based dataset - 20 epoch
model_twi = model = SimCSE("/content/drive/MyDrive/CSCI_544_NLP_Project/Twitter_Bot_Detection/Data/twiBot-similarity-20epochs-sup-simcse-bert-base-uncased")
# model_twi

sim1= model_twi.similarity(sent1, sent2)
sim2 = model_twi.similarity(sent1, sen_neg)
print("\nPos:",sim1)
print("\nNeg:",sim2)<jupyter_output>Some weights of BertModel were not initialized from the model checkpoint at /content/drive/MyDrive/CSCI_544_NLP_Project/Twitter_Bot_Detection/Data/twiBot-similarity-20epochs-sup-simcse-bert-base-uncased and are newly initialized: ['bert.pooler.dense.weight', 'bert.pooler.dense.bias']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
100%|██████████| 1/1 [00:00<00:00, 71.59it/s]
100%|██████████| 1/1 [00:00<00:00, 93.03it/s]
100%|██████████| 1/1 [00:00<00:00, 107.22it/s]
100%|██████████| 1/1 [00:00<00:00, 105.35it/s]
{'fraction_non_alphanumeric': 0.1196861008136344, 'fraction_numerical': 0.04992537672716769, 'mean_word_length': 4.907849829351536, 'pattern_counts': {'":': 0, '<': 69, '<?xml version=': 0, '>': 64, 'https://': 3, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 3, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '14', 'dir': 'jupyter-structured-clean-dedup', 'id': '143130', 'license': 'MIT', 'n_tokens_mistral': 8521, 'n_tokens_neox': 7709, 'n_words': 1320, 'path': 'SimCSE_Training.ipynb', 'repo_name': 'vrundha/bot-on-my-watch', 'size': '20771'}