diff --git a/README.md b/README.md index 727b6e8..240590e 100644 --- a/README.md +++ b/README.md @@ -178,7 +178,7 @@ optimization_settings: # defines weight of each metric in optimization function metric_weights: f1: 1 - total_indexing_time: 1 + total_indexing_time: 1 # weight for total indexing time (seconds to reach 100% indexed) algorithms: ["hnsw"] # indexing algorithm to be included in the study vector_data_types: ["float16", "float32"] # data types to be included in the study distance_metrics: ["cosine"] # distance metrics to be included in the study @@ -202,6 +202,12 @@ embedding_models: ``` +The `total_indexing_time` metric is measured in **seconds** using wall-clock time +from when indexing starts until Redis reports `percent_indexed == 1`. When a +study reuses an existing index without reloading data, the previously measured +indexing time is reused instead of querying `index.info()["total_indexing_time"]`. + + #### Code ```python import os diff --git a/docs/examples/grid_study/00_grid_study.ipynb b/docs/examples/grid_study/00_grid_study.ipynb index b14821d..60c13e6 100644 --- a/docs/examples/grid_study/00_grid_study.ipynb +++ b/docs/examples/grid_study/00_grid_study.ipynb @@ -167,13 +167,13 @@ "name": "stdout", "output_type": "stream", "text": [ - "13:00:50 beir.datasets.data_loader INFO Loading Corpus...\n" + "07:34:25 beir.datasets.data_loader INFO Loading Corpus...\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "16d7f78e84204a4bb550cac5d50d0d27", + "model_id": "9b5555ba1bf5499d99d5d94a93fdb543", "version_major": 2, "version_minor": 0 }, @@ -188,11 +188,11 @@ "name": "stdout", "output_type": "stream", "text": [ - "13:00:50 beir.datasets.data_loader INFO Loaded 3633 TEST Documents.\n", - "13:00:50 beir.datasets.data_loader INFO Doc Example: {'text': 'Recent studies have suggested that statins, an established drug group in the prevention of cardiovascular mortality, could delay or prevent breast cancer recurrence but the effect on disease-specific mortality remains unclear. We evaluated risk of breast cancer death among statin users in a population-based cohort of breast cancer patients. The study cohort included all newly diagnosed breast cancer patients in Finland during 1995–2003 (31,236 cases), identified from the Finnish Cancer Registry. Information on statin use before and after the diagnosis was obtained from a national prescription database. We used the Cox proportional hazards regression method to estimate mortality among statin users with statin use as time-dependent variable. A total of 4,151 participants had used statins. During the median follow-up of 3.25 years after the diagnosis (range 0.08–9.0 years) 6,011 participants died, of which 3,619 (60.2%) was due to breast cancer. After adjustment for age, tumor characteristics, and treatment selection, both post-diagnostic and pre-diagnostic statin use were associated with lowered risk of breast cancer death (HR 0.46, 95% CI 0.38–0.55 and HR 0.54, 95% CI 0.44–0.67, respectively). The risk decrease by post-diagnostic statin use was likely affected by healthy adherer bias; that is, the greater likelihood of dying cancer patients to discontinue statin use as the association was not clearly dose-dependent and observed already at low-dose/short-term use. The dose- and time-dependence of the survival benefit among pre-diagnostic statin users suggests a possible causal effect that should be evaluated further in a clinical trial testing statins’ effect on survival in breast cancer patients.', 'title': 'Statin Use and Breast Cancer Survival: A Nationwide Cohort Study from Finland'}\n", - "13:00:50 beir.datasets.data_loader INFO Loading Queries...\n", - "13:00:50 beir.datasets.data_loader INFO Loaded 323 TEST Queries.\n", - "13:00:50 beir.datasets.data_loader INFO Query Example: Do Cholesterol Statin Drugs Cause Breast Cancer?\n" + "07:34:25 beir.datasets.data_loader INFO Loaded 3633 TEST Documents.\n", + "07:34:25 beir.datasets.data_loader INFO Doc Example: {'text': 'Recent studies have suggested that statins, an established drug group in the prevention of cardiovascular mortality, could delay or prevent breast cancer recurrence but the effect on disease-specific mortality remains unclear. We evaluated risk of breast cancer death among statin users in a population-based cohort of breast cancer patients. The study cohort included all newly diagnosed breast cancer patients in Finland during 1995–2003 (31,236 cases), identified from the Finnish Cancer Registry. Information on statin use before and after the diagnosis was obtained from a national prescription database. We used the Cox proportional hazards regression method to estimate mortality among statin users with statin use as time-dependent variable. A total of 4,151 participants had used statins. During the median follow-up of 3.25 years after the diagnosis (range 0.08–9.0 years) 6,011 participants died, of which 3,619 (60.2%) was due to breast cancer. After adjustment for age, tumor characteristics, and treatment selection, both post-diagnostic and pre-diagnostic statin use were associated with lowered risk of breast cancer death (HR 0.46, 95% CI 0.38–0.55 and HR 0.54, 95% CI 0.44–0.67, respectively). The risk decrease by post-diagnostic statin use was likely affected by healthy adherer bias; that is, the greater likelihood of dying cancer patients to discontinue statin use as the association was not clearly dose-dependent and observed already at low-dose/short-term use. The dose- and time-dependence of the survival benefit among pre-diagnostic statin users suggests a possible causal effect that should be evaluated further in a clinical trial testing statins’ effect on survival in breast cancer patients.', 'title': 'Statin Use and Breast Cancer Survival: A Nationwide Cohort Study from Finland'}\n", + "07:34:25 beir.datasets.data_loader INFO Loading Queries...\n", + "07:34:25 beir.datasets.data_loader INFO Loaded 323 TEST Queries.\n", + "07:34:25 beir.datasets.data_loader INFO Query Example: Do Cholesterol Statin Drugs Cause Breast Cancer?\n" ] } ], @@ -328,23 +328,37 @@ "name": "stdout", "output_type": "stream", "text": [ - "13:01:00 datasets INFO PyTorch version 2.3.0 available.\n", - "13:01:00 sentence_transformers.SentenceTransformer INFO Use pytorch device_name: mps\n", - "13:01:00 sentence_transformers.SentenceTransformer INFO Load pretrained SentenceTransformer: sentence-transformers/all-MiniLM-L6-v2\n", + "07:35:25 datasets INFO PyTorch version 2.3.0 available.\n", + "07:35:26 sentence_transformers.SentenceTransformer INFO Use pytorch device_name: mps\n", + "07:35:26 sentence_transformers.SentenceTransformer INFO Load pretrained SentenceTransformer: sentence-transformers/all-MiniLM-L6-v2\n", "Recreating: loading corpus from file\n", - "13:01:16 sentence_transformers.SentenceTransformer INFO Use pytorch device_name: mps\n", - "13:01:16 sentence_transformers.SentenceTransformer INFO Load pretrained SentenceTransformer: sentence-transformers/all-MiniLM-L6-v2\n", - "Running search method: bm25 with dtype: float16\n", + "07:35:44 sentence_transformers.SentenceTransformer INFO Use pytorch device_name: mps\n", + "07:35:44 sentence_transformers.SentenceTransformer INFO Load pretrained SentenceTransformer: sentence-transformers/all-MiniLM-L6-v2\n", + "Running search method: bm25 with dtype: float16\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/robert.shelton/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ranx/metrics/ndcg.py:72: NumbaTypeSafetyWarning: \u001b[1m\u001b[1m\u001b[1munsafe cast from uint64 to int64. Precision may be lost.\u001b[0m\u001b[0m\u001b[0m\n", + " scores[i] = _ndcg(qrels[i], run[i], k, rel_lvl, jarvelin)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Running search method: vector with dtype: float16\n", "Running search method: hybrid with dtype: float16\n", "Running search method: rerank with dtype: float16\n", - "13:01:34 sentence_transformers.cross_encoder.CrossEncoder INFO Use pytorch device: mps\n" + "07:36:08 sentence_transformers.cross_encoder.CrossEncoder INFO Use pytorch device: mps\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b9816133ed5c49c4a12a53d0876769ff", + "model_id": "9439c4a54ef942899f77024ceabb7ae5", "version_major": 2, "version_minor": 0 }, @@ -358,7 +372,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d6d52a2bc54c4422a6134a698350a62b", + "model_id": "a3bf9e67410e473d8a51e70a9f6b7be6", "version_major": 2, "version_minor": 0 }, @@ -372,7 +386,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "44ef516b52eb4ea591cd5071843923bc", + "model_id": "f77af1a1895144ac8db4d04a9492a0d9", "version_major": 2, "version_minor": 0 }, @@ -386,7 +400,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "0c0a2e39e31540ad9ae9696abe095a8d", + "model_id": "acb9f23a167a4874b2468c7460faf2c7", "version_major": 2, "version_minor": 0 }, @@ -400,7 +414,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ecd585eed1574821b64238304462b3a2", + "model_id": "1f36cf25f4844a98abb6518e888350dc", "version_major": 2, "version_minor": 0 }, @@ -414,7 +428,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "98d7bc97dc0442298427df560e24be21", + "model_id": "99d5f4d9c5824db9927a38170e6be384", "version_major": 2, "version_minor": 0 }, @@ -428,7 +442,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "09cb472db3ab4bf6981d7e476fe41bca", + "model_id": "f08bba7cb18c40d1b82e9aa8358a3d50", "version_major": 2, "version_minor": 0 }, @@ -442,7 +456,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "682b7efc509444b3ae6f7e18c838ee56", + "model_id": "e5f31a904f994bb3bee4ae2789800866", "version_major": 2, "version_minor": 0 }, @@ -456,7 +470,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1638692892c04adeb3e9937ef1d13bee", + "model_id": "1eedb0da1f3949ed98b9252d3b9d39ed", "version_major": 2, "version_minor": 0 }, @@ -470,7 +484,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "63f570942e494e9494591cf420b16d8e", + "model_id": "c5c7e2b7cf6e40de8f125128721bd37b", "version_major": 2, "version_minor": 0 }, @@ -484,7 +498,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6c0f0f23db534bb59fae3cabb2e51957", + "model_id": "23dbe603b0d14ae790b78bca9d150d3a", "version_major": 2, "version_minor": 0 }, @@ -498,7 +512,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "50f8d240d97b467790de8e157d6cee88", + "model_id": "538109b8894d4ef4979d8e3cdbc9d0b6", "version_major": 2, "version_minor": 0 }, @@ -512,7 +526,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4fc002b339524e568ae4df556e84d62c", + "model_id": "99cd1e407823477bbeb2784357ca98b3", "version_major": 2, "version_minor": 0 }, @@ -526,7 +540,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f0d4b1c9eb714029aed153b07a52d694", + "model_id": "6632cc4c6bf140618c1581c08da8098e", "version_major": 2, "version_minor": 0 }, @@ -540,7 +554,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9f8aa54ac79749fb8850a6facc3a222c", + "model_id": "9182d833ac9c40e4b800314e3c02262e", "version_major": 2, "version_minor": 0 }, @@ -554,7 +568,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5a6355a4a4c24f06b16f418393d79a64", + "model_id": "c281d733ca9144639fb1093d72da5715", "version_major": 2, "version_minor": 0 }, @@ -568,7 +582,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "dd6af9bd6c9844b6ba0a454e4dd4a8f2", + "model_id": "4d84a23d160649c4b3ea4cc9eed0b39a", "version_major": 2, "version_minor": 0 }, @@ -582,7 +596,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "736deeeb6cf9455ca3f04dc25b288cef", + "model_id": "f5fd847c94f640028d6cb4c83aaade61", "version_major": 2, "version_minor": 0 }, @@ -596,7 +610,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8a98992dec084ba5923be2b171c37e87", + "model_id": "869306389cf445b79460548ca43370f4", "version_major": 2, "version_minor": 0 }, @@ -610,7 +624,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "77bddb9b6e2d41afa72d0f4d3db13ced", + "model_id": "cde83b1bf7e745b399e981cb5e0904a3", "version_major": 2, "version_minor": 0 }, @@ -624,7 +638,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ff5345d045844e4cb4f91cb1fcb3f9f8", + "model_id": "e6f6d21971a0413aa3a6eb6c56fd3d6e", "version_major": 2, "version_minor": 0 }, @@ -638,7 +652,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a538f7287f634e409c03e1e8a42922a4", + "model_id": "7c5b1a2660bc4df0aa934af4f01dc782", "version_major": 2, "version_minor": 0 }, @@ -652,7 +666,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "36915cc7295a419ba6ca28dfca284315", + "model_id": "5ce65ec7d30d41c8998900bd3882f70e", "version_major": 2, "version_minor": 0 }, @@ -666,7 +680,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5a3c1a0bac204f6292bb92cdc3a0e56c", + "model_id": "cc9240e1bda14972bbf7e161bda45a8d", "version_major": 2, "version_minor": 0 }, @@ -680,7 +694,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d9df3b6b306a46ad8da85d83e68ce39c", + "model_id": "0b3545b8abbf468ca4ad885f4569eb01", "version_major": 2, "version_minor": 0 }, @@ -694,7 +708,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "97c511fe1b07496390f2e061741761af", + "model_id": "7c81f71b8dbf4e1a9772e187f42ce8e4", "version_major": 2, "version_minor": 0 }, @@ -708,7 +722,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c6125da1706044d09897b13a82523d74", + "model_id": "068fdb0c13dc4b40a77c8e578169009a", "version_major": 2, "version_minor": 0 }, @@ -722,7 +736,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "985b9255c90a40d99f1f1ee564c55532", + "model_id": "d14d4394917841e48823110020a3ceda", "version_major": 2, "version_minor": 0 }, @@ -736,7 +750,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "895702a9959b45708da70993748b9369", + "model_id": "d1084de6814647cea6fa47d6366a83cf", "version_major": 2, "version_minor": 0 }, @@ -750,7 +764,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "68ace65ec4ae42e2aa29d0fd93797d24", + "model_id": "d2805fca19234afe8377482865866cc1", "version_major": 2, "version_minor": 0 }, @@ -764,7 +778,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b150945c2ce84419a67ad59184c1e70e", + "model_id": "aa6fb053cf324de9946109f447d9e9e3", "version_major": 2, "version_minor": 0 }, @@ -778,7 +792,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "bb90ff052dc24a3da48af94fa89fae7e", + "model_id": "0d5360f295cd40e48d26521014c22514", "version_major": 2, "version_minor": 0 }, @@ -792,7 +806,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "288f0c13fb624e5bb52d86e037bfb39a", + "model_id": "2a4527ae821547b1b36f5a0a15509c74", "version_major": 2, "version_minor": 0 }, @@ -806,7 +820,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "58975e164c5b470fbbcd5bf5d455e371", + "model_id": "716beb91d79a4c7b84837d7bb280b507", "version_major": 2, "version_minor": 0 }, @@ -820,7 +834,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4d911b874d76496b8c4a9550abd75581", + "model_id": "3999205712a44d1fa561ee1a61ed8119", "version_major": 2, "version_minor": 0 }, @@ -834,7 +848,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "44372baad9d1460bbcccdc53d542fd8a", + "model_id": "25464496b7084d60bc2d463127314c53", "version_major": 2, "version_minor": 0 }, @@ -848,7 +862,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c75b7a93ace94c5fad5217fd87ab1870", + "model_id": "02fa12f52b4141d3a1a29ea5148b5b85", "version_major": 2, "version_minor": 0 }, @@ -862,7 +876,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "88d69b28386b420b98ffb9ebf159fbbf", + "model_id": "c50c0c11993e4d638482564e65e894ee", "version_major": 2, "version_minor": 0 }, @@ -876,7 +890,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "113f430585f7462dbe208061f48ac0c6", + "model_id": "3b173305008847df971dab438691684e", "version_major": 2, "version_minor": 0 }, @@ -890,7 +904,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b4d20d23f54f439e998112156318d1ef", + "model_id": "4e4024c6899f4edea8b5aa23b0f27727", "version_major": 2, "version_minor": 0 }, @@ -904,7 +918,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "7cf63285dde640e9884625bfcf05a523", + "model_id": "e0c3a18b17e340dcb42b52f5754342e6", "version_major": 2, "version_minor": 0 }, @@ -918,7 +932,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f8779432beac415aac94b830563d2cd2", + "model_id": "efe4352612b348278df84f4d92b81bbb", "version_major": 2, "version_minor": 0 }, @@ -932,7 +946,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "810248f9f75d45f991f25fa3e068e3b5", + "model_id": "54dbda2fbb3945e9b725eacaedbb3bfb", "version_major": 2, "version_minor": 0 }, @@ -946,7 +960,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "bb0221fdd1eb43269a4727836c65a696", + "model_id": "0956834843304071af6977c1694bc519", "version_major": 2, "version_minor": 0 }, @@ -960,7 +974,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "214760bf6f124ed4a5b2b1d15249ad40", + "model_id": "5ced0fb14c454f2e8f2236f96f83dff6", "version_major": 2, "version_minor": 0 }, @@ -974,7 +988,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "56d296c40f4a48ccbbb15ef93eea1ee4", + "model_id": "42c519fbb28245b48de3f29e3349f68a", "version_major": 2, "version_minor": 0 }, @@ -988,7 +1002,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b371f79d931a491f97bd91a7c43f78ab", + "model_id": "8a863fc23bf54e1a8610c06818f6493a", "version_major": 2, "version_minor": 0 }, @@ -1002,7 +1016,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "63d1d8c698dd4a99afd796364ff7f95a", + "model_id": "99982852141d4d4d994d6bc62b5f6c4d", "version_major": 2, "version_minor": 0 }, @@ -1016,7 +1030,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "141a5b4cd9044f8f83c771106e034ca9", + "model_id": "f7a52a6637ff441cb61fd4c1eb275e70", "version_major": 2, "version_minor": 0 }, @@ -1030,7 +1044,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a9f2f38169904dfcbc28c3a6877dfbe2", + "model_id": "6e14d23545644e8892f5174f928589d6", "version_major": 2, "version_minor": 0 }, @@ -1044,7 +1058,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f4107ff62b16489b93b85fa3eb714f3c", + "model_id": "b915c10240b2495bacd60ffccd599903", "version_major": 2, "version_minor": 0 }, @@ -1058,7 +1072,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "0af0ff6b60574fb69e398279124f4af2", + "model_id": "fc96c498a61545e89863d5a2f4d89fe4", "version_major": 2, "version_minor": 0 }, @@ -1072,7 +1086,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f849452b04024caeb5b4dbdd276f1a1c", + "model_id": "a762ab60da9c4137aa3ea9aa1540a831", "version_major": 2, "version_minor": 0 }, @@ -1086,7 +1100,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "e4577a6bd71e46958bfcf0baa096e7f8", + "model_id": "2b9e01666f5944038f93a40f769dd008", "version_major": 2, "version_minor": 0 }, @@ -1100,7 +1114,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b80c55707a234e66b512470142fe4f63", + "model_id": "003c9029fcaf49e2810b5bce3cb67d8a", "version_major": 2, "version_minor": 0 }, @@ -1114,7 +1128,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "304155e46347417cafd2cae856c44c08", + "model_id": "85386023fabd4c08ad1a36d63117fd26", "version_major": 2, "version_minor": 0 }, @@ -1128,7 +1142,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1f314bb8f6ee46df93b03b89e3c178b1", + "model_id": "cf82cc24733146dcad9afac4b23517cf", "version_major": 2, "version_minor": 0 }, @@ -1142,7 +1156,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "67e723668b384f458e71eb25a1570533", + "model_id": "0f318a5ba9994d23afe2bdc3b9b4dcaa", "version_major": 2, "version_minor": 0 }, @@ -1156,7 +1170,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "3470195ca69b47dcaef33990d09900c1", + "model_id": "222ecc4b80844d458ab9814ed4228852", "version_major": 2, "version_minor": 0 }, @@ -1170,7 +1184,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "0983a2afbe464309a11da0404d2435b6", + "model_id": "f995d247f6354fc39d83c14c38843dcc", "version_major": 2, "version_minor": 0 }, @@ -1184,7 +1198,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5c54c4000ea44a68979e8b6ff8b5e19e", + "model_id": "17bb2969f7114d128e547cec0b5ef1bf", "version_major": 2, "version_minor": 0 }, @@ -1198,7 +1212,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5c3521c7a0394b3ebd3b8d0cde0a5d39", + "model_id": "8d839ac4624441499e38f213676a775c", "version_major": 2, "version_minor": 0 }, @@ -1212,7 +1226,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9bd9573472fa43a28c3a3f8df08e2ee3", + "model_id": "234989117a4448b09cef0abde9b63171", "version_major": 2, "version_minor": 0 }, @@ -1226,7 +1240,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "81dcc1adba114a6f80c911aff047417a", + "model_id": "916220cd7a37489bbc3a644387682435", "version_major": 2, "version_minor": 0 }, @@ -1240,7 +1254,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "97656ddd0f39403fa5aaf602d8129e0d", + "model_id": "be5a7c62ceec453f8bc05df709aa8a91", "version_major": 2, "version_minor": 0 }, @@ -1254,7 +1268,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "100ba76458264c73a3f632517aed741c", + "model_id": "9d9dd2d1790b402eb5adfabe74ac4b75", "version_major": 2, "version_minor": 0 }, @@ -1268,7 +1282,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "99e5c40b75044d8283ec27cda4ed50cc", + "model_id": "e63315a428f348589e2d521a2e5dd660", "version_major": 2, "version_minor": 0 }, @@ -1282,7 +1296,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "038326245a9940d8975624514938cfef", + "model_id": "e7ddc9d3093c4ef6ae98edb6837c703b", "version_major": 2, "version_minor": 0 }, @@ -1296,7 +1310,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "67f8e411e17742ebad9d4c4a600e3846", + "model_id": "b23efa29eafa4febb2809015b4bff6ec", "version_major": 2, "version_minor": 0 }, @@ -1310,7 +1324,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "51e36c32a0ed40ce94e05f1b9b26f8cc", + "model_id": "a93ce5a2f22b47a7b0e04db7ae7a283a", "version_major": 2, "version_minor": 0 }, @@ -1324,7 +1338,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "2c761008f8af400fa91e6d35f6fc9e0c", + "model_id": "6898b5245b304ed5b8f579385b522340", "version_major": 2, "version_minor": 0 }, @@ -1338,7 +1352,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "3c26e231890348ab96dcc67c66b4170b", + "model_id": "191ac6fb4a494a5aadb1cf9ede55ed61", "version_major": 2, "version_minor": 0 }, @@ -1352,7 +1366,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b2224f0674264573817fb8df6175c2e2", + "model_id": "8e46d42290dd4da993633bd7a8a4a187", "version_major": 2, "version_minor": 0 }, @@ -1366,7 +1380,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "340c24df90ae48c1bb136dd023ae2e6a", + "model_id": "d7fbb55ecd9a48439fc471a0f6253e41", "version_major": 2, "version_minor": 0 }, @@ -1380,7 +1394,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "970402d700ab433b99f86108e33c0626", + "model_id": "fd8f219e698a4b64ad2bf1ad9b7435ae", "version_major": 2, "version_minor": 0 }, @@ -1394,7 +1408,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f75eb1b56a9f42a99f1fe1a3ddccd2af", + "model_id": "e4c14f0ffb0847ef8defe99ab5b750ca", "version_major": 2, "version_minor": 0 }, @@ -1408,7 +1422,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a3d2b1bc01474dd8afc0dec56baebb79", + "model_id": "8d8033a4ddc34f44931168dc7b14a138", "version_major": 2, "version_minor": 0 }, @@ -1422,7 +1436,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "786edb9ce17548aba3d1321ac55c920e", + "model_id": "0edaeefcc2b8405f8c13b628fddf5bab", "version_major": 2, "version_minor": 0 }, @@ -1436,7 +1450,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "dcde8976863f4b86a657017a4776382f", + "model_id": "96ac2a683a7e41c1b4922e6ab96392f5", "version_major": 2, "version_minor": 0 }, @@ -1450,7 +1464,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "522475c011ca4ef28299387f374a8719", + "model_id": "389670ed1600459bad5c4f9e47507a5d", "version_major": 2, "version_minor": 0 }, @@ -1464,7 +1478,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "2d60396e2d864aa5b629a79f9e2c36e6", + "model_id": "1184f698f76d4eb58610cced26c4f1ae", "version_major": 2, "version_minor": 0 }, @@ -1478,7 +1492,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1adadf7b2cff46beba4d30c161d4b8a8", + "model_id": "9959411d023a491cb9de7219b8690837", "version_major": 2, "version_minor": 0 }, @@ -1492,7 +1506,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "fc58c7c9e123409ea22b93dcf49ea35f", + "model_id": "894fa98dde4348279d17cd86870eff99", "version_major": 2, "version_minor": 0 }, @@ -1506,7 +1520,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "62cf6368903743ff8ac48b11990fd87e", + "model_id": "02ad6622fba242d2914c5565f8773c4a", "version_major": 2, "version_minor": 0 }, @@ -1520,7 +1534,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6234fb7886a146cd96c3dac72a2177d2", + "model_id": "461a5c54a1e0467f91a8d606193c1f71", "version_major": 2, "version_minor": 0 }, @@ -1534,7 +1548,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b753eaf9d97b4ec9973e1c580f1df44b", + "model_id": "ba24a521f31d470a82ae7eea18743e16", "version_major": 2, "version_minor": 0 }, @@ -1548,7 +1562,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "3a886c7f0416465c8ecf650f3bc03107", + "model_id": "197c8528266e4b3280c6c7d6d2d5fb31", "version_major": 2, "version_minor": 0 }, @@ -1562,7 +1576,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "174f5ea87b47486484537eabe5a5a1d9", + "model_id": "e73d273d889a4e0cb804fae1ae5e46f2", "version_major": 2, "version_minor": 0 }, @@ -1576,7 +1590,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "668adebc321548fda35e153cce311721", + "model_id": "e02f1a171bd8426ca92b3590fb675ca1", "version_major": 2, "version_minor": 0 }, @@ -1590,7 +1604,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ed5fcf32b0da43b782239941289baae7", + "model_id": "d88ba9a3ba84422a8ba25853309299f4", "version_major": 2, "version_minor": 0 }, @@ -1604,7 +1618,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "80b3dcfcdc4041239cbee0e84f8e461e", + "model_id": "f8343c2d381e4b7a83486f95b2096559", "version_major": 2, "version_minor": 0 }, @@ -1618,7 +1632,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "31498c8fb0664579af9d1ac93ee0eb07", + "model_id": "1d2210eb123649ebba03b2a63b6df959", "version_major": 2, "version_minor": 0 }, @@ -1632,7 +1646,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "55fbf5d06ad345a4984986c9b8776f64", + "model_id": "a7f508a90e654968b1f9bee8ffd0df37", "version_major": 2, "version_minor": 0 }, @@ -1646,7 +1660,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "27558eb77f2a4426a157d63dea8e7060", + "model_id": "853c7958ab5a4bb4ac56008e684dcd8d", "version_major": 2, "version_minor": 0 }, @@ -1660,7 +1674,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "aa09337c39c44f59af049cc80aeba9d7", + "model_id": "e94cec6c37c2463285904824f346548c", "version_major": 2, "version_minor": 0 }, @@ -1674,7 +1688,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "364beec80bcd426cabe8b0a702f098e3", + "model_id": "45155c83fec04f9d882e4f99e346e14c", "version_major": 2, "version_minor": 0 }, @@ -1688,7 +1702,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4c04d046988b4c8cacdb1e6b72b718f7", + "model_id": "3272666f60d84943a043aa8f1a134eed", "version_major": 2, "version_minor": 0 }, @@ -1702,7 +1716,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9d92a0488b6e4c21b3c8b3637d011067", + "model_id": "4e920c08133e439ebc9121941226f4c1", "version_major": 2, "version_minor": 0 }, @@ -1716,7 +1730,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f02db363705e415ea3877a126502e2f7", + "model_id": "48c5b643d36245be8dc643534630ac31", "version_major": 2, "version_minor": 0 }, @@ -1730,7 +1744,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "63be35ec93944684a64482dde6e8e276", + "model_id": "84c62f36e3b54b74890acc5d61ef8c52", "version_major": 2, "version_minor": 0 }, @@ -1744,7 +1758,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "cfec57be2cd44fc196c85c2909a1803e", + "model_id": "716beb478a56475e8eedcbb8b824e379", "version_major": 2, "version_minor": 0 }, @@ -1758,7 +1772,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d31576923d3d4de5a91df1270033ea35", + "model_id": "9460f07ab573478c8ad89a0b99f2cc4a", "version_major": 2, "version_minor": 0 }, @@ -1772,7 +1786,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f3ea158a3bbe48dc9a084fcc500ebf78", + "model_id": "d0d27c9dd9e64e0ba9f276e58f5ffbf7", "version_major": 2, "version_minor": 0 }, @@ -1786,7 +1800,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "554c36b92b6c447ab11d3e2937685ad9", + "model_id": "74570c9889934022b58ab29555103d08", "version_major": 2, "version_minor": 0 }, @@ -1800,7 +1814,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "51676107d3744bedbd83467764e5107e", + "model_id": "7521abbb1a224ad89ea36252acd5159b", "version_major": 2, "version_minor": 0 }, @@ -1814,7 +1828,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8a1491a9ea8c4dda89b0f27b3c3f285c", + "model_id": "f33a63dfaff14135b29ad0a3c47f81d7", "version_major": 2, "version_minor": 0 }, @@ -1828,7 +1842,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "3b2a3ff98dfd4493ad77f659322384cc", + "model_id": "8ce7d456420f4f728ef00a6a8164c8ae", "version_major": 2, "version_minor": 0 }, @@ -1842,7 +1856,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "45c1711b870a4f8fba6b81a281520ed0", + "model_id": "c5742d6ce9914f4fbdf70394241cfde9", "version_major": 2, "version_minor": 0 }, @@ -1856,7 +1870,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "2d9db5dec93846f388658772ef09e55a", + "model_id": "5d4ea6ee57e947079dec4bcb450c2d1e", "version_major": 2, "version_minor": 0 }, @@ -1870,7 +1884,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8c4f707f66674942a8c10f5a9e7edcbd", + "model_id": "717a7723c8e54552bdc32fbad2df2e9b", "version_major": 2, "version_minor": 0 }, @@ -1884,7 +1898,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c2a4343c0c69404f93d022554d54389d", + "model_id": "e7c30e3b0a8a479cabaab4fe933a8153", "version_major": 2, "version_minor": 0 }, @@ -1898,7 +1912,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9840f31a9e374a0893e100897b80bea3", + "model_id": "3675e0e32b094ec8a4d5655f9d907fb9", "version_major": 2, "version_minor": 0 }, @@ -1912,7 +1926,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "7599a20391d44e46ae354afe84c08fd9", + "model_id": "6eb3278585154d90b829871fadd5109a", "version_major": 2, "version_minor": 0 }, @@ -1926,7 +1940,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ea934cf22bec470cbb15dd6d9176d35e", + "model_id": "8b6599186d3a4f5daec5a487a7da6069", "version_major": 2, "version_minor": 0 }, @@ -1940,7 +1954,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "7b58a1c3208c4e9abe3b9673de1341a7", + "model_id": "96ab40c21cbc4926bd3e7919bd790cf0", "version_major": 2, "version_minor": 0 }, @@ -1954,7 +1968,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c2988fbf6d5f4d7e9f5a04c1d5ec7fe0", + "model_id": "c7a8d03e0401486c962676d34d6313a9", "version_major": 2, "version_minor": 0 }, @@ -1968,7 +1982,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "75fca259e929485ca7f08f686d81e36a", + "model_id": "b9338a00f98649ef83665a9f1f756934", "version_major": 2, "version_minor": 0 }, @@ -1982,7 +1996,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "de6fd36b8c0447eba28abb7a5836ead5", + "model_id": "4369c4c9d34b4b1bb82a942a1a55f329", "version_major": 2, "version_minor": 0 }, @@ -1996,7 +2010,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "595e053b605942f1a1ed438bc85cd021", + "model_id": "8af0e3c5b3024fa594595213d931753e", "version_major": 2, "version_minor": 0 }, @@ -2010,7 +2024,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c8d399f14ebb459ca14bdf0a80c21125", + "model_id": "37bbba830ecb4b879d80599e6ae67dd0", "version_major": 2, "version_minor": 0 }, @@ -2024,7 +2038,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a11da33761e749518bca7c5c40e783b5", + "model_id": "2bb8e81015ed419eb0fa597ccd9cc44d", "version_major": 2, "version_minor": 0 }, @@ -2038,7 +2052,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9067a6fd113e4c8189b14bd023792195", + "model_id": "a2ee0dc027b7486688456bf03ef2147b", "version_major": 2, "version_minor": 0 }, @@ -2052,7 +2066,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "afd78ab6332440d494d304157ac2bd29", + "model_id": "753e3897d7c2414590bdbae3e457848b", "version_major": 2, "version_minor": 0 }, @@ -2066,7 +2080,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "486276fac38749e3bde76a658c412706", + "model_id": "246fe820afac42aa856f2890953616e2", "version_major": 2, "version_minor": 0 }, @@ -2080,7 +2094,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c7ebe02f3d864e60bd9c2f5be27b324c", + "model_id": "e006fe00f6294c1baf6d65f5e6a5daaa", "version_major": 2, "version_minor": 0 }, @@ -2094,7 +2108,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4b98445d9df64b4dad5c222de609904a", + "model_id": "aba7b571edbc4a0fa69e2cf9714ee82e", "version_major": 2, "version_minor": 0 }, @@ -2108,7 +2122,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "447a6c11efce415b948cebc5716f6749", + "model_id": "2b5ac5f44e9540d9a09e92575f7f9c5c", "version_major": 2, "version_minor": 0 }, @@ -2122,7 +2136,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "cbcdff72d0db4be19689b8c9a49e4000", + "model_id": "c9308bbae49f45b98091a2ead03f784d", "version_major": 2, "version_minor": 0 }, @@ -2136,7 +2150,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "844d0d9542d6446fbbe96d64f420a556", + "model_id": "1f6961a6cd41480bac8c56fa5820b851", "version_major": 2, "version_minor": 0 }, @@ -2150,7 +2164,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ab78af82fbd94e708e193947a68dd0ff", + "model_id": "67e5a9a1c33d478989a11653f1642fc5", "version_major": 2, "version_minor": 0 }, @@ -2164,7 +2178,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "25295c33a27a40b6bcb09be8bccc30c6", + "model_id": "6ddce3507da84f5f842dc0db9cb560eb", "version_major": 2, "version_minor": 0 }, @@ -2178,7 +2192,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "457a8023c1574199b7be027a89616dfb", + "model_id": "b6f8700fc19241cfbf356314a013ef7c", "version_major": 2, "version_minor": 0 }, @@ -2192,7 +2206,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ff4f229bc8c844b3b453256ab45c786b", + "model_id": "dccb71ae61d94a2bab9bda788f45cfd9", "version_major": 2, "version_minor": 0 }, @@ -2206,7 +2220,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "48c6df89d6f54056aa6e27b4b631449a", + "model_id": "a557f6e3a361461585ef92372f6ebd4b", "version_major": 2, "version_minor": 0 }, @@ -2220,7 +2234,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4f0851fcfd594f08a5b295ce754bce3d", + "model_id": "e5fed2a8a220458aaec396a59be06550", "version_major": 2, "version_minor": 0 }, @@ -2234,7 +2248,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "589a3e5ee6db4a7f8286629514e52a3e", + "model_id": "98c1debb7f834876a9d5f8bf986b1220", "version_major": 2, "version_minor": 0 }, @@ -2248,7 +2262,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5b9dcfb8d46b4c85ab8954886f30726f", + "model_id": "402a1b4aa9ee4d9b9b7914280ba35c51", "version_major": 2, "version_minor": 0 }, @@ -2262,7 +2276,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "2a3b5cfd222046e5b1d9378485d40857", + "model_id": "de8a457561e742fb9e4cac0dd9c8c028", "version_major": 2, "version_minor": 0 }, @@ -2276,7 +2290,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1c173b89eeaf41f7bf2398950e06d130", + "model_id": "c284dd8b63dc43dc877ff2de962c955f", "version_major": 2, "version_minor": 0 }, @@ -2290,7 +2304,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b722b98917064f46aec447a319c56d9a", + "model_id": "9f565a0bc58545b3bbbb841a0c7c43a9", "version_major": 2, "version_minor": 0 }, @@ -2304,7 +2318,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "361f9e1dc87a4040ad1257458c7ff9cc", + "model_id": "658b7700edcc47238d1ee1ac3305b1bc", "version_major": 2, "version_minor": 0 }, @@ -2318,7 +2332,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "7d1ecc4de6214bce844c6d3e99e6bbf6", + "model_id": "8a3703aea15d4c0e97004a4246d92973", "version_major": 2, "version_minor": 0 }, @@ -2332,7 +2346,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "52c1048f5c4f49a3a42eda3b0418f324", + "model_id": "d793417ac35142a88cca3d2d224ded0e", "version_major": 2, "version_minor": 0 }, @@ -2346,7 +2360,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "152293c01c5442a6aa3e424aaf7c21a6", + "model_id": "83245c73c5014660830dc5080c4f0583", "version_major": 2, "version_minor": 0 }, @@ -2360,7 +2374,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f0a402e42f744b7ebbf9ae7fed097ce8", + "model_id": "0031c8bb155f4125a008b2139a6da5d1", "version_major": 2, "version_minor": 0 }, @@ -2374,7 +2388,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "89f3dbc38f5245e2b4a8d2a91e4fea58", + "model_id": "9527586c600c4253b85bfecb91e0b869", "version_major": 2, "version_minor": 0 }, @@ -2388,7 +2402,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "41e03e19f06d45608f570c73dcc5fd69", + "model_id": "cf24f75d9659462496570fa7b02da367", "version_major": 2, "version_minor": 0 }, @@ -2402,7 +2416,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5e476286037549109500b80f4c000224", + "model_id": "ce31410f5fb54d5ba25d692d7ece47d2", "version_major": 2, "version_minor": 0 }, @@ -2416,7 +2430,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "63f7cc5b110b403f9388743954c9b7de", + "model_id": "d56b50dd302642b0b1367a8d3d7c2e03", "version_major": 2, "version_minor": 0 }, @@ -2430,7 +2444,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5bf84759618b4aebb276034866df9bb0", + "model_id": "eed5b066cf8241c08afd7cdff73ec957", "version_major": 2, "version_minor": 0 }, @@ -2444,7 +2458,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "99f837e8c55949f4a188c4d40ad8780b", + "model_id": "7564c49920474e438b28ebdb528cd373", "version_major": 2, "version_minor": 0 }, @@ -2458,7 +2472,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "7b007383716046e6af9c889b910f09a3", + "model_id": "b251ee4be0f74edcbf0a4747d6672860", "version_major": 2, "version_minor": 0 }, @@ -2472,7 +2486,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "dede66e64212448eb00adb7d2f4296ad", + "model_id": "cfc8149928de41c0b15636b005914533", "version_major": 2, "version_minor": 0 }, @@ -2486,7 +2500,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "91b13bfefc1848d78fc4fcd310c88b04", + "model_id": "a714c6ee57f04b9aa25487d3765d6db0", "version_major": 2, "version_minor": 0 }, @@ -2500,7 +2514,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d803d00efbfe441c87e9636268ce4104", + "model_id": "f3c55dbe6fc94e5ca0c2736f1f4684e3", "version_major": 2, "version_minor": 0 }, @@ -2514,7 +2528,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "30594523b1544f4b80323973efbb3e1a", + "model_id": "7c24aa7c101b4fe6bee8050290db4d17", "version_major": 2, "version_minor": 0 }, @@ -2528,7 +2542,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "3d40327bd4494bcba98244df8c831e35", + "model_id": "abdf4eb55ba640b0bb57df6b66a8eb75", "version_major": 2, "version_minor": 0 }, @@ -2542,7 +2556,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6af5e571f58d48d090f2f783568329d1", + "model_id": "f478fb420ac14d0b96df4e30ad156019", "version_major": 2, "version_minor": 0 }, @@ -2556,7 +2570,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d6a58fbc313448efa248e5f8e133bd04", + "model_id": "41926a27b0ea4528a1d7517737a1f9ad", "version_major": 2, "version_minor": 0 }, @@ -2570,7 +2584,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "2b1607b106e64f6ba778818eaf27fdf6", + "model_id": "ef745f30656b47c38dd65c7cdef3dc1f", "version_major": 2, "version_minor": 0 }, @@ -2584,7 +2598,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6032fae7c32843778b8adf007f00a803", + "model_id": "ce60d5e52cbc448daa7aa4c1a7ce7924", "version_major": 2, "version_minor": 0 }, @@ -2598,7 +2612,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "29131d297adc4ba383b7ae68d5acaf88", + "model_id": "2ce7288eabe448c18799d8c29d881bae", "version_major": 2, "version_minor": 0 }, @@ -2612,7 +2626,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4a885b3b121b463e8e678377c7ad6655", + "model_id": "5195386e71d449629f2d8ba56437b8e5", "version_major": 2, "version_minor": 0 }, @@ -2626,7 +2640,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d966c1bbf636447d858c66554d026fdf", + "model_id": "0f75b68d625c45e0887d208d05b7992a", "version_major": 2, "version_minor": 0 }, @@ -2640,7 +2654,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d7fd28b3ae564620b32ae393d191bf9c", + "model_id": "57cdb048da34422f978312601a2b4da0", "version_major": 2, "version_minor": 0 }, @@ -2654,7 +2668,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "917f671889954120b7c0bf310e324f7f", + "model_id": "8acd5d2cfa164282bc236ed736682626", "version_major": 2, "version_minor": 0 }, @@ -2668,7 +2682,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b1598bd204ca4f53a712c9235c1a0754", + "model_id": "4286d6071e0b45cf961a050f7a380925", "version_major": 2, "version_minor": 0 }, @@ -2682,7 +2696,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "461a60b62cb745e0aa1a061c0a44c7f7", + "model_id": "ce5e2d63d34a4bc69ca87c79bbab84e0", "version_major": 2, "version_minor": 0 }, @@ -2696,7 +2710,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9c5d915486f448f1a4bfee3d63571a80", + "model_id": "6076bfb9c19a457f93e2c1c75156538f", "version_major": 2, "version_minor": 0 }, @@ -2710,7 +2724,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a57297a564c5491bb606ac151571dcd4", + "model_id": "79fbb1d196984e8f852951a4473967db", "version_major": 2, "version_minor": 0 }, @@ -2724,7 +2738,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6bf4989c8fc74c10b57b64f10e90b251", + "model_id": "d91911f9cb344074b28fe201b4674df4", "version_major": 2, "version_minor": 0 }, @@ -2738,7 +2752,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ff0deba851274601863fbcab82e58f46", + "model_id": "dde6273b51a84ed9b51b27bab1c3b240", "version_major": 2, "version_minor": 0 }, @@ -2752,7 +2766,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ad602e221ddd42f782defe15883a2ee4", + "model_id": "f7017a7a23b24501b954ba500fdf7bab", "version_major": 2, "version_minor": 0 }, @@ -2766,7 +2780,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "2881ff1413b84b16b21bbecbf441bcd0", + "model_id": "022c36ac83a24306b00d5e40ca5aa791", "version_major": 2, "version_minor": 0 }, @@ -2780,7 +2794,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f71a83b42f044cbb937212e277d73ec2", + "model_id": "ac6c283ea6cc494abbb959e3be5b5a7d", "version_major": 2, "version_minor": 0 }, @@ -2794,7 +2808,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ad0e2a6e6263463dbbb641191d799d32", + "model_id": "e44e00c3ae3742baa4cf22635cf934cd", "version_major": 2, "version_minor": 0 }, @@ -2808,7 +2822,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "53ce51dd0cf349de8217dab1116a9679", + "model_id": "46d6606a168b4998ba0280d34beb9d5f", "version_major": 2, "version_minor": 0 }, @@ -2822,7 +2836,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a17b384e37cc4b008bf62fe35d00d8b0", + "model_id": "2574269cd4aa4b2699389d7e281d3bc4", "version_major": 2, "version_minor": 0 }, @@ -2836,7 +2850,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "354fdde0e4c543df948fa45faa201cc7", + "model_id": "c021f6ef18a24f37a823a7cae401ca8d", "version_major": 2, "version_minor": 0 }, @@ -2850,7 +2864,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "739201ee9ee8409a91a81b9866b90873", + "model_id": "f4b72e7bc64e4da9bbfcd9f962b44f14", "version_major": 2, "version_minor": 0 }, @@ -2864,7 +2878,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "84877e968f494e36b50317910cd9686c", + "model_id": "e87a5c112b6b418c8b86f4e3d834dcc9", "version_major": 2, "version_minor": 0 }, @@ -2878,7 +2892,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "07e7da5a00f74a7396496373b4e41825", + "model_id": "a46b45586be14a3cbb9b6baa4a8d0844", "version_major": 2, "version_minor": 0 }, @@ -2892,7 +2906,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5a48df9959944819831d9c2acae9460d", + "model_id": "b6d6e4c3b5644ad9ab9f4d2786db4df9", "version_major": 2, "version_minor": 0 }, @@ -2906,7 +2920,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "0a5cb2df2f8f4fd9877abc708da8f910", + "model_id": "de56821289d74dc19f028aec24fd650b", "version_major": 2, "version_minor": 0 }, @@ -2920,7 +2934,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "95798cc68f7341fabc3fc5d319fcb67e", + "model_id": "ecd33eb717ef4cd59247b91faa803d11", "version_major": 2, "version_minor": 0 }, @@ -2934,7 +2948,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ac7c1c221f944cab955d87ef8c86a022", + "model_id": "22599aa999f94d029fa8db2fc0a8ac1c", "version_major": 2, "version_minor": 0 }, @@ -2948,7 +2962,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "39d9cbdd21a54afaa1cce47124ca5cd7", + "model_id": "1336ff0289064cf4be193f5b52659582", "version_major": 2, "version_minor": 0 }, @@ -2962,7 +2976,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a013d578e0de4741a60c3776c284b5f3", + "model_id": "f26dad3dffaa41cdafcffaeaa6d8911d", "version_major": 2, "version_minor": 0 }, @@ -2976,7 +2990,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6e65a2c714d3459a8277005c2654bb95", + "model_id": "d18ea3b3709d463c869db90b61591b60", "version_major": 2, "version_minor": 0 }, @@ -2990,7 +3004,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "057f1ecf1480482580833a520cb5f9f2", + "model_id": "a7c3f9b36b7a492b80b2664b9e71cda7", "version_major": 2, "version_minor": 0 }, @@ -3004,7 +3018,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5af0c5c3695448cf83edda6a4334a72f", + "model_id": "c265ab862e294ed4852ac7e94925261c", "version_major": 2, "version_minor": 0 }, @@ -3018,7 +3032,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c0066b45d5974b998383fd3995f86494", + "model_id": "75fea761821e49289c8dd923c7f7854f", "version_major": 2, "version_minor": 0 }, @@ -3032,7 +3046,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "0094af587f494f7bbc6d9239dcae2f60", + "model_id": "f4712d0718b243a5b4f8b8bc66793768", "version_major": 2, "version_minor": 0 }, @@ -3046,7 +3060,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "96222e9d6da74ea3affc4d940aeaaee3", + "model_id": "ebd18fd589c04ed1844483ec90da550a", "version_major": 2, "version_minor": 0 }, @@ -3060,7 +3074,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ba6dbf40ed9e4dd298e1038c7578225a", + "model_id": "fb1982d64766453c87f416fa2bec3c9c", "version_major": 2, "version_minor": 0 }, @@ -3074,7 +3088,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d1f8e91b4211411a864d13a39c0e99c0", + "model_id": "7c51ec1063e1430f8d7a76f63ea14b87", "version_major": 2, "version_minor": 0 }, @@ -3088,7 +3102,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "22c40eb020d0418eab334cf41c107702", + "model_id": "859463ed2ef742dcac36da4a962567e8", "version_major": 2, "version_minor": 0 }, @@ -3102,7 +3116,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1effef45c2fc40a1bc254e743c1010cc", + "model_id": "802a2577ccdb4bce91f5938f593bcc3a", "version_major": 2, "version_minor": 0 }, @@ -3116,7 +3130,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "3e901f07a08a47b681804323d417066e", + "model_id": "7b81ab470395490f83a5208101712998", "version_major": 2, "version_minor": 0 }, @@ -3130,7 +3144,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "10db2ca59eea4fa29d137d262b1ef0dd", + "model_id": "bc2b79b4aafc4f0ebbd937eda6f45164", "version_major": 2, "version_minor": 0 }, @@ -3144,7 +3158,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "33d97fb101b44d56ab4188d393a79435", + "model_id": "93c088e979e544bebf133b252973aa29", "version_major": 2, "version_minor": 0 }, @@ -3158,7 +3172,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "171fd83bc4ce4a28b80a56057e6434a5", + "model_id": "b05e73271f59497098b6a154f96b8ae7", "version_major": 2, "version_minor": 0 }, @@ -3172,7 +3186,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "e934d879453d41d3ba9894b2858e943b", + "model_id": "6f57629d8a0641b2831aa1d5817269d5", "version_major": 2, "version_minor": 0 }, @@ -3186,7 +3200,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f8d4bd00675148379cbf8c243c010a31", + "model_id": "8cf9194439a34b34ac0952dfe9812a16", "version_major": 2, "version_minor": 0 }, @@ -3200,7 +3214,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4daf682309d148daa276229d3271387b", + "model_id": "4e123821ed0443e0a325b137a4513df8", "version_major": 2, "version_minor": 0 }, @@ -3214,7 +3228,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "19333d92945c4a1cbc0c0921a3ea253a", + "model_id": "fe53dc4bc1c84b848860d7995c85a111", "version_major": 2, "version_minor": 0 }, @@ -3228,7 +3242,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "06f43dbd369642038171bea06c56b79c", + "model_id": "0d31e18db47b45eea52ab6e8afa65774", "version_major": 2, "version_minor": 0 }, @@ -3242,7 +3256,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "45b9314bb80c46ca8cb5cf6e9e4fb94e", + "model_id": "0ae5b28c36df4dbb9f91955d3ebbede1", "version_major": 2, "version_minor": 0 }, @@ -3256,7 +3270,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "15718769c6734f248f96fe1939440b4d", + "model_id": "54b59234f96c482aaccb56168bc97f4e", "version_major": 2, "version_minor": 0 }, @@ -3270,7 +3284,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a2a405a599e447f5a6a1362ebcb04a0d", + "model_id": "6a9093f7067e462281e0b7ea642052d2", "version_major": 2, "version_minor": 0 }, @@ -3284,7 +3298,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "575296de14f548138363f2321e2e3cc1", + "model_id": "a73201225265468dbf7dcdc8daecd2c5", "version_major": 2, "version_minor": 0 }, @@ -3298,7 +3312,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "050d5bb309184934826ccbf7a12d3af4", + "model_id": "47cf2f5abc5a460b9298b6fb0c140abb", "version_major": 2, "version_minor": 0 }, @@ -3312,7 +3326,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6e6f07cfae6d4d278b49962b17b23d94", + "model_id": "4ee85ce40df44b709ba62cf27b288c6f", "version_major": 2, "version_minor": 0 }, @@ -3326,7 +3340,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f5664097a3cc4827b5a14033923f3148", + "model_id": "6a6b5a92a6df4eef854334ad0beb2845", "version_major": 2, "version_minor": 0 }, @@ -3340,7 +3354,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "7df67a991e6c4b9ba6fc0e2e5077b4c1", + "model_id": "772cbf24cf0e48fba2b56046a63537c8", "version_major": 2, "version_minor": 0 }, @@ -3354,7 +3368,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c5224b7d7a254a5db233ee4d9e6bde30", + "model_id": "53a7734b1aaa4f748e8f09effbe458b9", "version_major": 2, "version_minor": 0 }, @@ -3368,7 +3382,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "93740478931543748785a03901e805f7", + "model_id": "17244539d74c4a3d9aee7262fcc751dc", "version_major": 2, "version_minor": 0 }, @@ -3382,7 +3396,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "cc1b5ef4970c4b3e95daf37a0a26b245", + "model_id": "747b4f2d30d1475cb9609bd284856170", "version_major": 2, "version_minor": 0 }, @@ -3396,7 +3410,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "459b01501c5e446d8ffce2f4dc4074ee", + "model_id": "04cd7757ce98424793c29788804bb56d", "version_major": 2, "version_minor": 0 }, @@ -3410,7 +3424,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "43d36e4a687143c6958d06802d126548", + "model_id": "037a3ca6e9ec4a67b3ce188b359ca572", "version_major": 2, "version_minor": 0 }, @@ -3424,7 +3438,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4536933f94884a19b934359dad970002", + "model_id": "3b65e84f61b448e7a0cb02aed6faa073", "version_major": 2, "version_minor": 0 }, @@ -3438,7 +3452,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5ae35281c1574b429e13b009e05934b0", + "model_id": "4e70e3bdd042466089f311e44a894431", "version_major": 2, "version_minor": 0 }, @@ -3452,7 +3466,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "98fc17dacef9499f9e16146a3b49064d", + "model_id": "daefce2cb177489fa098c2bcf58352a0", "version_major": 2, "version_minor": 0 }, @@ -3466,7 +3480,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f91bc25aecdd4576a931a731e5c9a3bc", + "model_id": "af5ec496f0b64ac98d8e441bdf323990", "version_major": 2, "version_minor": 0 }, @@ -3480,7 +3494,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4d1ab630fe33428fbaf6add537e954ad", + "model_id": "ce5389c358124f04b85f58537c8f20d6", "version_major": 2, "version_minor": 0 }, @@ -3494,7 +3508,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f3dfaa3fd45f4cb68dca0405b5d4db9a", + "model_id": "0f521409f87147419486a05797028c59", "version_major": 2, "version_minor": 0 }, @@ -3508,7 +3522,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c73ae2fe9bbe42f18840d347c7c41e2a", + "model_id": "ba65f8dd66684c1093faafc6deafd767", "version_major": 2, "version_minor": 0 }, @@ -3522,7 +3536,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a169a7217e3a49d3898a16a8dac87fa4", + "model_id": "bc6c863622104244852a109afdc91d41", "version_major": 2, "version_minor": 0 }, @@ -3536,7 +3550,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "bcc9fc545c9f49e8b0c9ad36bc606924", + "model_id": "621b1672069040fa8a6234869f1a2f3b", "version_major": 2, "version_minor": 0 }, @@ -3550,7 +3564,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c357904bdbcc45279b357865df69e6ce", + "model_id": "c0d06bc9280f46afb07dcc54134bd3c4", "version_major": 2, "version_minor": 0 }, @@ -3564,7 +3578,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "2c01b9b9b1f14617843122b39d0de8f4", + "model_id": "a0110c2cb383470381ce83502e6dba18", "version_major": 2, "version_minor": 0 }, @@ -3578,7 +3592,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "470d5a76e18648a6980a6d5b5024dd11", + "model_id": "26e7da92e6444a108d30624822e06f26", "version_major": 2, "version_minor": 0 }, @@ -3592,7 +3606,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "286e8158569743eab5f61d79cdd0aa60", + "model_id": "33f1346cfa514882b63c4f2d890b3618", "version_major": 2, "version_minor": 0 }, @@ -3606,7 +3620,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "89eaa2ced04e4c6c9149eef430507df2", + "model_id": "4bcfaa628cb549b79f9896b530619bf9", "version_major": 2, "version_minor": 0 }, @@ -3620,7 +3634,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "cb4a591755f443cb995003d97ee72119", + "model_id": "f67f31c215524d0dad53ed632f7bc366", "version_major": 2, "version_minor": 0 }, @@ -3634,7 +3648,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c821eb3ab89d427c89fff12f1bce13c3", + "model_id": "3c295109bff045adaaf8b6c06d71d82e", "version_major": 2, "version_minor": 0 }, @@ -3648,7 +3662,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "04e974b58a9c498b8abc64cd4583d366", + "model_id": "b8f0fbe9f3b04334abe7f4516f498132", "version_major": 2, "version_minor": 0 }, @@ -3662,7 +3676,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d6391e09cab843e2a82a11f410b55a3c", + "model_id": "d5e9c740549f401d9b6802b86c9c264b", "version_major": 2, "version_minor": 0 }, @@ -3676,7 +3690,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4ca271dab9bc4a859d2655b42225f530", + "model_id": "95413ccdba4a4b8b9067b9565a622ca6", "version_major": 2, "version_minor": 0 }, @@ -3690,7 +3704,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "02852c747ba742e4aaafacf947ffd63e", + "model_id": "9b38934a68f8475fbd7fc31fb4d0ea94", "version_major": 2, "version_minor": 0 }, @@ -3704,7 +3718,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "31d546e663814a099d297d6123f73689", + "model_id": "920e4f1150df42d6a876f256a6ee5a2d", "version_major": 2, "version_minor": 0 }, @@ -3718,7 +3732,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "0fc59028123a4ad5a5352d0f21e2bfb0", + "model_id": "edd8cc3b44db49389e0826a5dcf59b35", "version_major": 2, "version_minor": 0 }, @@ -3732,7 +3746,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "bdc7dea2405f478d9c64c0d4d2a8fa44", + "model_id": "0532d6d1092c40d0a854eaa1533e3cfc", "version_major": 2, "version_minor": 0 }, @@ -3746,7 +3760,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "3d4a3ff2545448028b966936d8730916", + "model_id": "8e478aa50ee84a09aa29999a2107046c", "version_major": 2, "version_minor": 0 }, @@ -3760,7 +3774,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "eea8595be77244ae9bf6173a2fb8688f", + "model_id": "607a8e7c42f649adacc5544540d8570d", "version_major": 2, "version_minor": 0 }, @@ -3774,7 +3788,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "754f3fbbfefb48ee8d61d4c9e9494340", + "model_id": "5c1603f1da00406f9234de1960e8e469", "version_major": 2, "version_minor": 0 }, @@ -3788,7 +3802,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8f8db063f76e43dd9a24a998df441ecf", + "model_id": "7bcf992baf9141f7aa49a85f2563b783", "version_major": 2, "version_minor": 0 }, @@ -3802,7 +3816,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "3f337549cf324aa29ec2fa63b02ac7d0", + "model_id": "e79900ad08e84ad1930d30dfb0a8fbee", "version_major": 2, "version_minor": 0 }, @@ -3816,7 +3830,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1a80849620924bb783afca6bfe7debc2", + "model_id": "bb3ea859093a45af8ad5e5371d50bcc6", "version_major": 2, "version_minor": 0 }, @@ -3830,7 +3844,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "92b72c4dd1924a5784da23b65e914453", + "model_id": "045e6da0b13c48059243b872c9b60c89", "version_major": 2, "version_minor": 0 }, @@ -3844,7 +3858,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "010d81b996be42ada2aa1ca3b4baa4e4", + "model_id": "f968ce4aca114e4994f66df314cc1c09", "version_major": 2, "version_minor": 0 }, @@ -3858,7 +3872,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a2ce72fcf1ec443f88a637e90c7c747c", + "model_id": "f6d37083af204ff3acc9cba6f4efeb2e", "version_major": 2, "version_minor": 0 }, @@ -3872,7 +3886,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d456952072e347b2bc53e6d6426bcb8d", + "model_id": "d033a27274cc41d9a6c5721d0c78e76a", "version_major": 2, "version_minor": 0 }, @@ -3886,7 +3900,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "bf7be763d72048819e74ba0120370293", + "model_id": "5a390018a21f406282507f0392fa2ad2", "version_major": 2, "version_minor": 0 }, @@ -3900,7 +3914,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "bc2114391fa148ef9a42d3a4711c1ac3", + "model_id": "94d53accf6554592b5cad4930bba395e", "version_major": 2, "version_minor": 0 }, @@ -3914,7 +3928,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "94aa969f55384ec1927226badc6bb19e", + "model_id": "9e02ba43f9df4973a341753600687101", "version_major": 2, "version_minor": 0 }, @@ -3928,7 +3942,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c85fda2854f2449bbaba77d9786fe7b3", + "model_id": "132da1107ee045168ad3fcdb1f493f3f", "version_major": 2, "version_minor": 0 }, @@ -3942,7 +3956,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "669a08e2b27f4a88ab9c2473f19ad61c", + "model_id": "36289afef3f14cb8a9cffffa115ffc11", "version_major": 2, "version_minor": 0 }, @@ -3956,7 +3970,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6fc8d78d0a364b9bac6b1dde39169598", + "model_id": "2547216825644ef781ae034da7aa1fa4", "version_major": 2, "version_minor": 0 }, @@ -3970,7 +3984,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c75dbea6b90c430192687f2a3ece7edd", + "model_id": "19b86d321b964c7ab07e84918b85034e", "version_major": 2, "version_minor": 0 }, @@ -3984,7 +3998,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "7a4d5d607521404db76ce9952f5205ac", + "model_id": "6a14d5b67fe74e3f8d5e287d9c7f1df1", "version_major": 2, "version_minor": 0 }, @@ -3998,7 +4012,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a498752dc6c04c0daa5566f236a66f83", + "model_id": "031a00e61de3441bbdb3e13e5dac3a98", "version_major": 2, "version_minor": 0 }, @@ -4012,7 +4026,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "0c72e35389db4e9e89ee61abf5a0a3fc", + "model_id": "6e90b4fab0ad488c9257146cf2f8535d", "version_major": 2, "version_minor": 0 }, @@ -4026,7 +4040,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4adcb0f909cd4544bc0b3f338b79b4e1", + "model_id": "9401dcdd553043778110a254cdf18cb0", "version_major": 2, "version_minor": 0 }, @@ -4040,7 +4054,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "544ce9ec7bc9451a81ea301c324ccbe4", + "model_id": "4afb95b251974c51af6fa07cbde98905", "version_major": 2, "version_minor": 0 }, @@ -4054,7 +4068,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b9c16a8b851d455d944716f1f717da1b", + "model_id": "d2e95789716843468c107aba28b31a60", "version_major": 2, "version_minor": 0 }, @@ -4068,7 +4082,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f713ef72afd94e058781116472fd44ff", + "model_id": "4b64dbeb1a3a4954a9e2f23c53358c62", "version_major": 2, "version_minor": 0 }, @@ -4082,7 +4096,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "e3e1705addff4af2a0531f0b8732b2f4", + "model_id": "50ede01a168d427886d5f4715c9fef31", "version_major": 2, "version_minor": 0 }, @@ -4096,7 +4110,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "574daf8092c24d4a9dd8107bcff0b90d", + "model_id": "5f3f4841f9034a8b889986bd524990e7", "version_major": 2, "version_minor": 0 }, @@ -4110,7 +4124,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "11c69e422a1e4a69b8f9e3184980b2bc", + "model_id": "509bc36d89934c7da89024010bcf1008", "version_major": 2, "version_minor": 0 }, @@ -4124,7 +4138,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6d029d98fd9c418ab9ee00e634f56eae", + "model_id": "713bc396bb41403d814a40883dda947a", "version_major": 2, "version_minor": 0 }, @@ -4138,7 +4152,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "fc70663266634e7cae4ab194d388833d", + "model_id": "f434ae68a5534ad88db7b2f211703b5e", "version_major": 2, "version_minor": 0 }, @@ -4152,7 +4166,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "0403077dc2ba455eb7338d3059094257", + "model_id": "2a67cd4dccb94acd83baacf07e274d48", "version_major": 2, "version_minor": 0 }, @@ -4166,7 +4180,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6f4f396fc04f4227abb7d645c991c4b1", + "model_id": "534040ca85e7417ca67c5a28b6780405", "version_major": 2, "version_minor": 0 }, @@ -4180,7 +4194,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "324cca653e604bed8a4bbfe5a1e7738f", + "model_id": "def6cd3d133249c3b6190d7470c6b076", "version_major": 2, "version_minor": 0 }, @@ -4194,7 +4208,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f63bf57b9a4a49d58ba00b4ea8e15a06", + "model_id": "5a0e3c945e7f4fa7a46eba323095f32a", "version_major": 2, "version_minor": 0 }, @@ -4208,7 +4222,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "e6542b3b4929487a949cd2d101e51cac", + "model_id": "4255f23cadc441fb8e16fd3f3ece94ab", "version_major": 2, "version_minor": 0 }, @@ -4222,7 +4236,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "02c670f830384f1db42ec2b5259b18ad", + "model_id": "58d974453aba4fbeb0e45295bb8306db", "version_major": 2, "version_minor": 0 }, @@ -4236,7 +4250,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8b34efa30be149ffa77ee9962f7ca65d", + "model_id": "4df990187be34bcfa88e5dc1dcaa6b2a", "version_major": 2, "version_minor": 0 }, @@ -4250,7 +4264,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5c3fb9fc32284f3e9ddad9ca092a5e53", + "model_id": "722e782830514e19a107c9e2e1df1a31", "version_major": 2, "version_minor": 0 }, @@ -4264,7 +4278,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1e84a2a453964ef18aca61ef1fdfbee2", + "model_id": "c73ba67fcdc541a2b45b305999740455", "version_major": 2, "version_minor": 0 }, @@ -4278,7 +4292,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "2b5e8d93dd1d41c894583f3710b5ee0e", + "model_id": "d5ad84e3c15442a7b742b8d1cd92f42b", "version_major": 2, "version_minor": 0 }, @@ -4292,7 +4306,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "aed3526deedb4f52b629e3e361068607", + "model_id": "759017c4036e4d34af8f3524dc9195ac", "version_major": 2, "version_minor": 0 }, @@ -4306,7 +4320,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9d37ae85c13e42e48f6d0160588dd5a6", + "model_id": "76bb201dd3754df1a7d091bd6c41c066", "version_major": 2, "version_minor": 0 }, @@ -4320,7 +4334,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "69bcadab1b5f41289b586a0fa7e7ce80", + "model_id": "f7130fe977b8446cb4b30b41b1077fc8", "version_major": 2, "version_minor": 0 }, @@ -4334,7 +4348,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d0af2e3a1de841b6b864acf4986ea06d", + "model_id": "0bd4cd148de5491185ea7a83b5b1b6f4", "version_major": 2, "version_minor": 0 }, @@ -4348,7 +4362,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "19f855211f68469099f809cf2e2f44fa", + "model_id": "149253e1cc3d4b85aff8f06afe3a4be3", "version_major": 2, "version_minor": 0 }, @@ -4362,7 +4376,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b478962f85ea409d9f75364c72d488ba", + "model_id": "c2e01cad03a5472093ef7e82b03806e7", "version_major": 2, "version_minor": 0 }, @@ -4376,7 +4390,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1d7eb4d2b2c643cebee84d2f9fc64d68", + "model_id": "82e347c184674623b46b007c3c179521", "version_major": 2, "version_minor": 0 }, @@ -4390,7 +4404,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "0717ce51492d4f989d807d0dae33327c", + "model_id": "041957b8e4f84d03b2eb7cc94df5d818", "version_major": 2, "version_minor": 0 }, @@ -4404,7 +4418,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "377ee8cb250242a68e3b5f5f7a6dc529", + "model_id": "19b357c96495456f8165886514d96d12", "version_major": 2, "version_minor": 0 }, @@ -4418,7 +4432,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ea5592b270d84f3a8221884b35b42d72", + "model_id": "da372707b35c47c193816b85923d4302", "version_major": 2, "version_minor": 0 }, @@ -4432,7 +4446,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "79233b48d1da4fe29abd296bd6faef71", + "model_id": "dae5ee854b5b4296a70ec351058ebc44", "version_major": 2, "version_minor": 0 }, @@ -4446,7 +4460,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a7f2e54e849f489eb62cc614f993324c", + "model_id": "65940dec0cd2491eafb47e2af15e1f25", "version_major": 2, "version_minor": 0 }, @@ -4460,7 +4474,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c40eaf544afe45438c55201745fdc5a6", + "model_id": "56fa9efe3bf949029174451382acaae4", "version_major": 2, "version_minor": 0 }, @@ -4474,7 +4488,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f1b3473760d347cb889343a9dca4eb61", + "model_id": "3587d4720df64ba7b28a2337048bd04f", "version_major": 2, "version_minor": 0 }, @@ -4488,7 +4502,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f1f3fbff1d274ba1b62c7c099c8c1875", + "model_id": "a96a13e8d09a4d4da129e5e915a01f06", "version_major": 2, "version_minor": 0 }, @@ -4502,7 +4516,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b42ead9b650f4ae08029986d9d0695a4", + "model_id": "2b0cc19c556b459097edf02f0dc2f60d", "version_major": 2, "version_minor": 0 }, @@ -4516,7 +4530,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "826512d8741449a98799a0bfe6de32de", + "model_id": "4eb441b9b65441b2971a0f75e0b1f57d", "version_major": 2, "version_minor": 0 }, @@ -4530,7 +4544,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "960240d3c90b48dbba7d42a1e348ce55", + "model_id": "a756b5a4980a45bfa48e99627427a437", "version_major": 2, "version_minor": 0 }, @@ -4544,7 +4558,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1f835675250e48a397e05baa25d441b8", + "model_id": "a6bab3c3ec43440e9efa272effdb99a1", "version_major": 2, "version_minor": 0 }, @@ -4558,7 +4572,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "03adec62b7f64234a1b483d25d05688a", + "model_id": "e43b89a335d04cf289558f6154c56844", "version_major": 2, "version_minor": 0 }, @@ -4572,7 +4586,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1d89ffe11bd343309b070bfc8362df8c", + "model_id": "c0f7411edbef4de2910d0a0215278e5e", "version_major": 2, "version_minor": 0 }, @@ -4586,7 +4600,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ffbb72f5c9064c1eaa914df05dee0b28", + "model_id": "78f07139044c4c8bac27ab6cd02544bc", "version_major": 2, "version_minor": 0 }, @@ -4600,7 +4614,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "cec1a0699ef54de6b3c3cdefeff29ebe", + "model_id": "d2e202f0a4494c27968254b6ee3e3d33", "version_major": 2, "version_minor": 0 }, @@ -4614,7 +4628,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "58de2e8bf5a04c42ae5828564fdcc269", + "model_id": "2df12875ccac491fba02fe7063ab5a80", "version_major": 2, "version_minor": 0 }, @@ -4628,7 +4642,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1d87e59ad7cd44649aa51571cd16973c", + "model_id": "aaf04a546b2b461d9dcca991c1a5a524", "version_major": 2, "version_minor": 0 }, @@ -4642,7 +4656,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "36b1ac46f2524edb8558e5f02abb512e", + "model_id": "f8980a83141940a49d9e9897f839132e", "version_major": 2, "version_minor": 0 }, @@ -4656,7 +4670,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "e2a5321b69554272a6dc5aca861f31b3", + "model_id": "04bbeb160988408983c85edb332220ab", "version_major": 2, "version_minor": 0 }, @@ -4670,7 +4684,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1d3081374c574a258b213618edbca4db", + "model_id": "b75d20b7188a4b248e12957114d5b9b8", "version_major": 2, "version_minor": 0 }, @@ -4684,7 +4698,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f043726dea894bc7ad4c95e2661fd765", + "model_id": "c18c0628e6cc4155909d11f7437ef209", "version_major": 2, "version_minor": 0 }, @@ -4698,7 +4712,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "edaa6cc9920f4c7986dee4785e38acd8", + "model_id": "4a84adfca30f48b7968c605a777af0c3", "version_major": 2, "version_minor": 0 }, @@ -4712,7 +4726,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "640a9a5add8544589b2985880d0a8bc1", + "model_id": "4124835d732f43939c3a92f0220d605a", "version_major": 2, "version_minor": 0 }, @@ -4726,7 +4740,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "0bb5d63ce4e84134ac0a44653f483dd5", + "model_id": "1777d6f7cceb4d949a63ffd119cee32a", "version_major": 2, "version_minor": 0 }, @@ -4740,7 +4754,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8914b5c34b824323954744f230350b20", + "model_id": "c3cf3851825a43dab5b4406ed53c836a", "version_major": 2, "version_minor": 0 }, @@ -4754,7 +4768,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9a8463df0e484b30bf0f411706ad3509", + "model_id": "09d257c724ff454cab3c438e2a4e224a", "version_major": 2, "version_minor": 0 }, @@ -4768,7 +4782,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f6247114ee094f10ba80ad1cde07141b", + "model_id": "55fc0fafc03a4dc2a1851e374b411d3c", "version_major": 2, "version_minor": 0 }, @@ -4782,7 +4796,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d597e5c5274f4273b7ae850dffe0a35c", + "model_id": "ce8667c45f0b406ca887ae94da8dd4a7", "version_major": 2, "version_minor": 0 }, @@ -4796,7 +4810,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "3a93fd6d6a1d4c97aeded85123c7a301", + "model_id": "05741b668f774dbd8ca9cdcccc43561a", "version_major": 2, "version_minor": 0 }, @@ -4810,7 +4824,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9e28f00f12854e6fac378101af38b314", + "model_id": "70885097beb4431b9ab0c6e015692520", "version_major": 2, "version_minor": 0 }, @@ -4824,7 +4838,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8d9aec0c0dce4247837289761cf69a1f", + "model_id": "26749ee85fd24d8c9e5a170943d47703", "version_major": 2, "version_minor": 0 }, @@ -4838,7 +4852,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "3f3c1d01b59c4c7793a1eb0681d9401c", + "model_id": "86dc058338c948958e4673b80b6c0214", "version_major": 2, "version_minor": 0 }, @@ -4852,7 +4866,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "645950b11a2745e4978a8c9e0f08b7f1", + "model_id": "56a9e1040d604d55804c72816c0b908c", "version_major": 2, "version_minor": 0 }, @@ -4870,21 +4884,21 @@ "Running search method: weighted_rrf with dtype: float16\n", "Recreating index with dtype: float32\n", "Recreating: loading corpus from file\n", - "13:03:12 sentence_transformers.SentenceTransformer INFO Use pytorch device_name: mps\n", - "13:03:12 sentence_transformers.SentenceTransformer INFO Load pretrained SentenceTransformer: sentence-transformers/all-MiniLM-L6-v2\n", - "13:03:15 sentence_transformers.SentenceTransformer INFO Use pytorch device_name: mps\n", - "13:03:15 sentence_transformers.SentenceTransformer INFO Load pretrained SentenceTransformer: sentence-transformers/all-MiniLM-L6-v2\n", + "07:37:36 sentence_transformers.SentenceTransformer INFO Use pytorch device_name: mps\n", + "07:37:36 sentence_transformers.SentenceTransformer INFO Load pretrained SentenceTransformer: sentence-transformers/all-MiniLM-L6-v2\n", + "07:37:38 sentence_transformers.SentenceTransformer INFO Use pytorch device_name: mps\n", + "07:37:38 sentence_transformers.SentenceTransformer INFO Load pretrained SentenceTransformer: sentence-transformers/all-MiniLM-L6-v2\n", "Running search method: bm25 with dtype: float32\n", "Running search method: vector with dtype: float32\n", "Running search method: hybrid with dtype: float32\n", "Running search method: rerank with dtype: float32\n", - "13:03:21 sentence_transformers.cross_encoder.CrossEncoder INFO Use pytorch device: mps\n" + "07:37:44 sentence_transformers.cross_encoder.CrossEncoder INFO Use pytorch device: mps\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b33e5b6f3fc5495fba4c31f6737ee600", + "model_id": "62aeaaf7a4f64e278feb5317e7dc9aad", "version_major": 2, "version_minor": 0 }, @@ -4898,7 +4912,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "aa4370589ca94ff5afd5d518baa859ba", + "model_id": "8537f40970f249f8b1fe4a3d4934e713", "version_major": 2, "version_minor": 0 }, @@ -4912,7 +4926,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "e87032445b98461aa5be42df3236480c", + "model_id": "c669958422fc4b46839fa841b2b7baa0", "version_major": 2, "version_minor": 0 }, @@ -4926,7 +4940,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a4637aff08584485b4a2c26d4863d487", + "model_id": "4be297c156c04e1ba95a8c2d335da607", "version_major": 2, "version_minor": 0 }, @@ -4940,7 +4954,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c729e11bb16546ff9e879589e4f95a3c", + "model_id": "eeb18f5bd3b1484f9d77429f827dc6e6", "version_major": 2, "version_minor": 0 }, @@ -4954,7 +4968,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c8226236a23e43bc9d3760497266595c", + "model_id": "cd5c7c52d80f46c2940d2efef0b54412", "version_major": 2, "version_minor": 0 }, @@ -4968,7 +4982,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4675d3f1a38f46348fea8e938db9dbfb", + "model_id": "26f59b8098e2498ba695e5bd058987b4", "version_major": 2, "version_minor": 0 }, @@ -4982,7 +4996,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1ac038fd2b2d4ab8b305b88f542cf535", + "model_id": "cdd1de614b394981b22e8bf626cd516d", "version_major": 2, "version_minor": 0 }, @@ -4996,7 +5010,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "bb4b7b1affc34a0bb07e8d24e08f8bcb", + "model_id": "6b7814a3829e4f528aadc1f8e6a5a8e9", "version_major": 2, "version_minor": 0 }, @@ -5010,7 +5024,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "7747349e9575421a8022e6f57ccd89c0", + "model_id": "3a389945105240c7a81fff6ef850d010", "version_major": 2, "version_minor": 0 }, @@ -5024,7 +5038,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "40b8464785dc40a79b40a10c1fb091c6", + "model_id": "909228db2dc3489bb1258b3c59cb81a1", "version_major": 2, "version_minor": 0 }, @@ -5038,7 +5052,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6a913ed2e3194c1d9fb68b5fc9275dde", + "model_id": "ddfff02122b24e57ac069d82d31e1e1c", "version_major": 2, "version_minor": 0 }, @@ -5052,7 +5066,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6a341b94ae5f49c2af53baf31c35702e", + "model_id": "8e20a2420eac4fb3bccae2c61484d37c", "version_major": 2, "version_minor": 0 }, @@ -5066,7 +5080,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "0ba8de30f98245a1811aefd8f0a03e04", + "model_id": "cf9ec00dbd5742d5bb80927a054092fe", "version_major": 2, "version_minor": 0 }, @@ -5080,7 +5094,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b4f640d32eae46cc9e5ebfe563862baf", + "model_id": "f3532cb3730b49d8bbcc0fd4ddaeb569", "version_major": 2, "version_minor": 0 }, @@ -5094,7 +5108,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "379e21bc0d3045a7bb483ce7dd943e59", + "model_id": "6925b75144e04302bec39d28c090b086", "version_major": 2, "version_minor": 0 }, @@ -5108,7 +5122,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "805fe591cc484940af0ed8754c297f56", + "model_id": "1891537b90eb4e79b00ef932ae1d8a4f", "version_major": 2, "version_minor": 0 }, @@ -5122,7 +5136,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "13f46a03fc284df698ad4fb61d2f8b95", + "model_id": "90de229c80034c28b0e0875a2003478e", "version_major": 2, "version_minor": 0 }, @@ -5136,7 +5150,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "7f208ce2b35b4b978d2babed45ba5b85", + "model_id": "9b39d425a263451196ae15d7c62ee977", "version_major": 2, "version_minor": 0 }, @@ -5150,7 +5164,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "25d6df24e425401db24df5b1b5e9a146", + "model_id": "43cd96cc88394f958453e26fdd8b460e", "version_major": 2, "version_minor": 0 }, @@ -5164,7 +5178,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6421543eaeb9451b948efdb42766b8ee", + "model_id": "40f44f38456746eba8716483d7b2a041", "version_major": 2, "version_minor": 0 }, @@ -5178,7 +5192,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1691d8ea4e0c4848bceb78e311db6d7a", + "model_id": "f4eafcf4a7de4265a4276686fcaaf413", "version_major": 2, "version_minor": 0 }, @@ -5192,7 +5206,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1b244b012f85476eaed3985b6571d108", + "model_id": "354e6c9cf875467aa89e40f7b2a1fb79", "version_major": 2, "version_minor": 0 }, @@ -5206,7 +5220,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ee2fe1469c824c2ca80739559ed706e1", + "model_id": "24bc25aaf7844997b02fa69a091f5834", "version_major": 2, "version_minor": 0 }, @@ -5220,7 +5234,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "dd1a99ddfdba46bfb1402cde30df5bee", + "model_id": "486a458efbf84ba2a73c489d740c0f58", "version_major": 2, "version_minor": 0 }, @@ -5234,7 +5248,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "db4e9826a3914b0b957a356e9f282322", + "model_id": "1912fd1802f7479184527eecedb8da50", "version_major": 2, "version_minor": 0 }, @@ -5248,7 +5262,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "40d4bad9009549c983b8278058894324", + "model_id": "94ba15c2f78b4c998f3cdc7c922bb8d1", "version_major": 2, "version_minor": 0 }, @@ -5262,7 +5276,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c4fbe48565634dbb95b6c1dfed035b42", + "model_id": "b166edfbe11c4327ac3039352bcba81c", "version_major": 2, "version_minor": 0 }, @@ -5276,7 +5290,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "cd61e5d119d64829b2d022593e88483f", + "model_id": "17cec5d449d64e8eafc88deaef1d3544", "version_major": 2, "version_minor": 0 }, @@ -5290,7 +5304,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8070995ffc6c41ddbc725eec5fb48af1", + "model_id": "b06d04bea8034858a1e22f5a930eac69", "version_major": 2, "version_minor": 0 }, @@ -5304,7 +5318,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "96cd6ffd59a444b0ba5ab5a90f911627", + "model_id": "f763ed5da2734671919e9d37101dbe4f", "version_major": 2, "version_minor": 0 }, @@ -5318,7 +5332,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "7bda0b07df8c46e892cc7130ada9618c", + "model_id": "f66f8f622e8d44109a471cceb5fe27a9", "version_major": 2, "version_minor": 0 }, @@ -5332,7 +5346,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "2d4a5f1bef51444fba0f13a145a2b0bd", + "model_id": "9ecede42c14240098ba2e2003d2763be", "version_major": 2, "version_minor": 0 }, @@ -5346,7 +5360,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8adb95b446de48bf90d976ca772a0d7c", + "model_id": "9e566f8e0674447fa564ea3d62f2716d", "version_major": 2, "version_minor": 0 }, @@ -5360,7 +5374,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b2c4c398069a430e823fe355571b5062", + "model_id": "4fe72434edd54aefbad8eb89dfcfc711", "version_major": 2, "version_minor": 0 }, @@ -5374,7 +5388,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b127dea74f5a42599cbf6b218d57e545", + "model_id": "051a463c2fce4345b6e211cc87e386c4", "version_major": 2, "version_minor": 0 }, @@ -5388,7 +5402,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "661741b65dee433983531c0129f58a70", + "model_id": "b58e7bf84c374e42bbff69aa45f5c758", "version_major": 2, "version_minor": 0 }, @@ -5402,7 +5416,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "94cd5807c5cd472f83e11f5210af4857", + "model_id": "43cb950c38e54282950391c7e810780a", "version_major": 2, "version_minor": 0 }, @@ -5416,7 +5430,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "46ea0b67b21547aaa43328af957fe049", + "model_id": "075b060f1b304127bf75fdf4cd1f70e1", "version_major": 2, "version_minor": 0 }, @@ -5430,7 +5444,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a36772f812784a0cb4c92066b453847a", + "model_id": "849dfe1c345143318b2e4fb977b4d2e5", "version_major": 2, "version_minor": 0 }, @@ -5444,7 +5458,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c39d1a975e67480d86db27b81d8f8124", + "model_id": "b236cf1dc6ef48de9541136e0e4a5dbe", "version_major": 2, "version_minor": 0 }, @@ -5458,7 +5472,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "e243687381b4423595161b06917ab001", + "model_id": "2124b790020d4ed89f69a1221b1fb51e", "version_major": 2, "version_minor": 0 }, @@ -5472,7 +5486,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "71760fe153ae492596c886869d5e78d0", + "model_id": "eaebd276aa5a4a80844e77befc656db0", "version_major": 2, "version_minor": 0 }, @@ -5486,7 +5500,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ef7c9470b7034e9b874b068790c470e8", + "model_id": "510d7768d8874f529a8c73fe61e633c9", "version_major": 2, "version_minor": 0 }, @@ -5500,7 +5514,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1f6f1a19ca594e2490d5fd87a25093ff", + "model_id": "e3e314f430434355a88d8687e037c28b", "version_major": 2, "version_minor": 0 }, @@ -5514,7 +5528,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "690c97ca1c464aa8ab32c80507881092", + "model_id": "0c82f37cfedc42d6b6209ce057abdcc9", "version_major": 2, "version_minor": 0 }, @@ -5528,7 +5542,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "222b911e395b4b8f8cbce80dc9a19826", + "model_id": "2405e410c32e4ccfac389a6ddfd17429", "version_major": 2, "version_minor": 0 }, @@ -5542,7 +5556,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "277ac11386764e06b539a5bb4aa28316", + "model_id": "e7d8428596f04a2e98c85a8ebeaee2d8", "version_major": 2, "version_minor": 0 }, @@ -5556,7 +5570,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "2ef7e522975f4756918afed2a28c58d7", + "model_id": "5e5320af39f04252bd83a0aa83329a9f", "version_major": 2, "version_minor": 0 }, @@ -5570,7 +5584,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "e36d141ac16441ffaba441aefd08e67d", + "model_id": "c377f160b1b24be598009f27103a15a6", "version_major": 2, "version_minor": 0 }, @@ -5584,7 +5598,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "56cfb4faf9ae46ac9f32f5f9804628a1", + "model_id": "24698890772d483593dc44528360be0b", "version_major": 2, "version_minor": 0 }, @@ -5598,7 +5612,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "7fbcd4a3a4c644708afd59fb9e714efa", + "model_id": "f621e88bb63d46aabc7162d9b42dd4d7", "version_major": 2, "version_minor": 0 }, @@ -5612,7 +5626,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "70d6d700ac234dbd84e31b9c292e9dd9", + "model_id": "c88ebfa8f1714888b23b5e397040706d", "version_major": 2, "version_minor": 0 }, @@ -5626,7 +5640,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1b7199aaa0e943f8bec2f1a7fcd33d28", + "model_id": "34340e1bebe14890ae03474b046d7f0c", "version_major": 2, "version_minor": 0 }, @@ -5640,7 +5654,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "220e72b7a6774ef58cde9e829f4701cf", + "model_id": "ff7cf754e06d4de48a33542757f3583b", "version_major": 2, "version_minor": 0 }, @@ -5654,7 +5668,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8b596b8a1aa94eb7af2542206f471d37", + "model_id": "d7f6ec95124b4991a66ab9e5205ca7a4", "version_major": 2, "version_minor": 0 }, @@ -5668,7 +5682,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "65e71227eb644d14ae8524986e035cb5", + "model_id": "dbb5914982ce4228a4f57992bfd32674", "version_major": 2, "version_minor": 0 }, @@ -5682,7 +5696,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "153760f37c2d4f96bae630468de7feba", + "model_id": "0164f0fd54ed4f4cb0a9f6de7bef2e91", "version_major": 2, "version_minor": 0 }, @@ -5696,7 +5710,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "034f842a6a6e4ea6ab202662febff192", + "model_id": "496a55b6121d475c838042abe8fbe90b", "version_major": 2, "version_minor": 0 }, @@ -5710,7 +5724,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "e181b18ff5fb4cbe8a431a86f8e926fd", + "model_id": "4c2ea535c297440095645e8a2d1238d7", "version_major": 2, "version_minor": 0 }, @@ -5724,7 +5738,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "41d7864de55543cf8d79d5f5b8a804e2", + "model_id": "9804c28993a345e88ce6ca0fd28ad477", "version_major": 2, "version_minor": 0 }, @@ -5738,7 +5752,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "7db9d5fb687b4a5584d8a8565893d8e5", + "model_id": "da712921208f471da1991284491bb222", "version_major": 2, "version_minor": 0 }, @@ -5752,7 +5766,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "755a34b2c2b648589b59ff05d0b25196", + "model_id": "2a5f6fb5c38e411c8827b26382693123", "version_major": 2, "version_minor": 0 }, @@ -5766,7 +5780,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6305cc7ea8664f6da3d4ff576a3801b4", + "model_id": "762d5484cd3945b8bec63ceb0a6a12c7", "version_major": 2, "version_minor": 0 }, @@ -5780,7 +5794,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f04074e8cb5f4549b38f90c926b16877", + "model_id": "c02984e5e0614676a95cbcff5b236714", "version_major": 2, "version_minor": 0 }, @@ -5794,7 +5808,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "675a03b45e044d11a111e78ce57a73ff", + "model_id": "5c6c0fe913404c7f95f6067e9159243e", "version_major": 2, "version_minor": 0 }, @@ -5808,7 +5822,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a0e74a3650ba40ad9666142310808092", + "model_id": "f22da8713fd845138c7cfcdae6a030c0", "version_major": 2, "version_minor": 0 }, @@ -5822,7 +5836,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "42f4f8b73f674976b8f88c2838751a42", + "model_id": "6d5720045fe3410892689550b17099b0", "version_major": 2, "version_minor": 0 }, @@ -5836,7 +5850,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6d8a350d562346a6b5c6cc0dca0b506e", + "model_id": "93bfba50d14f4f2c8ecf29143d22d9ba", "version_major": 2, "version_minor": 0 }, @@ -5850,7 +5864,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "e71e039c8a6348eaae0ec05ba989fd91", + "model_id": "35b54b787dba4ccb8ae2f9fed0065913", "version_major": 2, "version_minor": 0 }, @@ -5864,7 +5878,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a89b6381400e44ba8534e702bdc208db", + "model_id": "d0615d51d7c64413bdfe44d39ea64b5f", "version_major": 2, "version_minor": 0 }, @@ -5878,7 +5892,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9dbe365bb7984defbce77bc6b71dfeca", + "model_id": "3a0fc6080d624bbf8ebfc6ab235313a7", "version_major": 2, "version_minor": 0 }, @@ -5892,7 +5906,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ea417efe86a84e5d861aeaeb777c73c1", + "model_id": "a8c1d88a2cd9407db31b1f3d3529a816", "version_major": 2, "version_minor": 0 }, @@ -5906,7 +5920,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "13d92f2862ed48d9acd924f672ec71f2", + "model_id": "ab2c65cd02204b509c91e908ec288711", "version_major": 2, "version_minor": 0 }, @@ -5920,7 +5934,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "7f592c3c15c148cab886af4a6c45841b", + "model_id": "dded29e72e1f449c9553ff595b2aca02", "version_major": 2, "version_minor": 0 }, @@ -5934,7 +5948,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "7113c8d4b72b4fcdb4da649e789aeb7b", + "model_id": "4e1b8ae69a154367a1f9b873b0b2e188", "version_major": 2, "version_minor": 0 }, @@ -5948,7 +5962,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a835f657fecd4f90966d273b42c9fc29", + "model_id": "7457be0a0cff4c88aa332788ebb35194", "version_major": 2, "version_minor": 0 }, @@ -5962,7 +5976,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b75e7c1171bd4877bba87e474dec3101", + "model_id": "915cc626f7634178bb0c6f3430af79b1", "version_major": 2, "version_minor": 0 }, @@ -5976,7 +5990,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a047a84002af4ba0a17687c84c246437", + "model_id": "29339e22899a4192b808bb157d55714d", "version_major": 2, "version_minor": 0 }, @@ -5990,7 +6004,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "0cd3873ec1ea4547860b9ab5acb4e5f2", + "model_id": "39d7d12cbcf2453d8a43df0f00491fd1", "version_major": 2, "version_minor": 0 }, @@ -6004,7 +6018,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "76de608fe7f34c08a95d0bc67b5890c3", + "model_id": "9bbefb8d4607410da7a39ff63bbdcabd", "version_major": 2, "version_minor": 0 }, @@ -6018,7 +6032,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1a987afc20b04e699d23f1aee4ddaa17", + "model_id": "949c56357e79406391107bdb58632302", "version_major": 2, "version_minor": 0 }, @@ -6032,7 +6046,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f82a7d929c18403bb488e6d9eb79999d", + "model_id": "2e8954bd976848d2b7b5a2b5279017bd", "version_major": 2, "version_minor": 0 }, @@ -6046,7 +6060,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "bc0460cf65494d95a33a29ba9aace379", + "model_id": "783c74ad90fc4611884e9e3e36c9abb2", "version_major": 2, "version_minor": 0 }, @@ -6060,7 +6074,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "60104cfd99a0493dbc008752c45170e1", + "model_id": "075084f3121644b79c51c76343707c6e", "version_major": 2, "version_minor": 0 }, @@ -6074,7 +6088,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b9e9d771ea584d9aa8ca8c2570e94ee3", + "model_id": "c3f8d5ea1f30423f8fb5cf8a494e04b6", "version_major": 2, "version_minor": 0 }, @@ -6088,7 +6102,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "fe221589175c43e1bc90356bd399eaf2", + "model_id": "230c76a95577480ab334d9f75a01b55c", "version_major": 2, "version_minor": 0 }, @@ -6102,7 +6116,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "accab089c0184f4eb558e79adaec4138", + "model_id": "76750944eb544c04a8d0773806597522", "version_major": 2, "version_minor": 0 }, @@ -6116,7 +6130,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d6176ecef9ad48228371a0d19371516d", + "model_id": "2b6c6fd7825341b7a3c6e60fdbe849b4", "version_major": 2, "version_minor": 0 }, @@ -6130,7 +6144,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "3d402d2131a1449a8a2ad048cda04db4", + "model_id": "b19678f9083c4c25a175ebf3ab01caad", "version_major": 2, "version_minor": 0 }, @@ -6144,7 +6158,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "af7fb1613c644b54a00653fee4eeba88", + "model_id": "7e43a82acfc74a36be7489983670ee09", "version_major": 2, "version_minor": 0 }, @@ -6158,7 +6172,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1dfc45c882684b3287c3d722a7937b00", + "model_id": "67b5e2ea1f4041e48115ebc0046b9110", "version_major": 2, "version_minor": 0 }, @@ -6172,7 +6186,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "71115be35700460aa3b025da621f40fa", + "model_id": "0100d60624d04080b88ee10a8c965807", "version_major": 2, "version_minor": 0 }, @@ -6186,7 +6200,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d8a9ac25853846d3a9d01635e6b53f63", + "model_id": "81bd1cc8ead840ec98535a2588d42d22", "version_major": 2, "version_minor": 0 }, @@ -6200,7 +6214,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "2a7a6798d38f4254bb2fe78ef7541401", + "model_id": "bb73dd870fa4434481a550e9ba662e7c", "version_major": 2, "version_minor": 0 }, @@ -6214,7 +6228,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "7c8e29d836aa49768b882a210f5a05ac", + "model_id": "4b4b4f028c5d40cb9bb8bfdc8ade88b9", "version_major": 2, "version_minor": 0 }, @@ -6228,7 +6242,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "231a77d3d80b4411b6aa98d68a766f40", + "model_id": "6260071f6f9843a79efa2e571ab54d74", "version_major": 2, "version_minor": 0 }, @@ -6242,7 +6256,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b2d801b2bb764adb83f08d8e164fa40a", + "model_id": "449b6d0cac344d8dac7634603ba8f85e", "version_major": 2, "version_minor": 0 }, @@ -6256,7 +6270,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "af25858d75d74819a2462d4617cbcc57", + "model_id": "246d019b06a345a1a47ddb1c038062f6", "version_major": 2, "version_minor": 0 }, @@ -6270,7 +6284,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a8ef002927c543f99ae1fc1a167f3e2a", + "model_id": "92e9915ea54e48909c64a7b2e4d00dae", "version_major": 2, "version_minor": 0 }, @@ -6284,7 +6298,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9a9012a2d3fd425ca297ba53e204d892", + "model_id": "98600ecd4cca429ba95af03c272c728a", "version_major": 2, "version_minor": 0 }, @@ -6298,7 +6312,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "3bf05e782b6f4b319ff8367b90c4dcae", + "model_id": "bd3df4c54d8b4dbc82f6130d5c5a79b8", "version_major": 2, "version_minor": 0 }, @@ -6312,7 +6326,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "96385a9fe9c044f2b712fd22f70d8c4e", + "model_id": "01a754210def41beb062c0a37c1631e0", "version_major": 2, "version_minor": 0 }, @@ -6326,7 +6340,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "127a44577b6943d6a79ea0f1847c718d", + "model_id": "3d14ac53d4364259a60cd56868d9811d", "version_major": 2, "version_minor": 0 }, @@ -6340,7 +6354,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "e8e7bf952c4e460d8c45c685f69febd8", + "model_id": "e433c81f41814f49a074289579be00b0", "version_major": 2, "version_minor": 0 }, @@ -6354,7 +6368,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "67f82dffb2f54378a5ebae5e1fa3bb42", + "model_id": "9304510ec3ab4ae8955d3c118af726a0", "version_major": 2, "version_minor": 0 }, @@ -6368,7 +6382,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "dfc4f7073a60489db5714c74a85fe039", + "model_id": "77585394cfe748f5b721b9b8ef8f6b77", "version_major": 2, "version_minor": 0 }, @@ -6382,7 +6396,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d20c48fe555a4d2483cb78c923174f0e", + "model_id": "93d298cc37f54e688f101e6475f8d87e", "version_major": 2, "version_minor": 0 }, @@ -6396,7 +6410,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "13c4d409a35d463690f6ed19dcc4b5d8", + "model_id": "522429109b804a0d93b6151fe9382735", "version_major": 2, "version_minor": 0 }, @@ -6410,7 +6424,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8132a870002942d590c858d7e9369bf3", + "model_id": "e8d91b4d5ced4c87a69e68d8423eac32", "version_major": 2, "version_minor": 0 }, @@ -6424,7 +6438,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "012d5fcff6344c008973dcdc7d51ce9a", + "model_id": "bb183321b6124960a49d67beb202d239", "version_major": 2, "version_minor": 0 }, @@ -6438,7 +6452,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d6ec176d99db42e19766790439451302", + "model_id": "0d5c65a6606a4a21b125d09a13dccc54", "version_major": 2, "version_minor": 0 }, @@ -6452,7 +6466,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "14d0314950124ca79e5ebe75ac7a4946", + "model_id": "e24f8f00be2d419c974a41221e74a2bd", "version_major": 2, "version_minor": 0 }, @@ -6466,7 +6480,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1c4cef66cbd940ab8a5fd29d18f940b7", + "model_id": "d91e0f79d8664a57b3dfed992c4fc90a", "version_major": 2, "version_minor": 0 }, @@ -6480,7 +6494,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "efa745b8f0b44b83b544a8585845bd44", + "model_id": "a02b11ac1d1644b1a8bbf8b2dd70bc51", "version_major": 2, "version_minor": 0 }, @@ -6494,7 +6508,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1aff31c7ed0a4016a09327b17d34dacc", + "model_id": "c594450b123146c692c5cf3c0e8fe4ca", "version_major": 2, "version_minor": 0 }, @@ -6508,7 +6522,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "89df1a2faf4e495089a20bb83aebd611", + "model_id": "f43803a19e714fc6b78bcf107f40e219", "version_major": 2, "version_minor": 0 }, @@ -6522,7 +6536,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4033869ca1f74f6787f9429b8da7eccc", + "model_id": "b3a50b9ed52946e0ab96f71baf096951", "version_major": 2, "version_minor": 0 }, @@ -6536,7 +6550,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "38710d3068c449c385b834ac752d5b60", + "model_id": "dbdeed15e461434cac1245d3925596ba", "version_major": 2, "version_minor": 0 }, @@ -6550,7 +6564,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "24c29cf9f94f4d3c9bd497b573bd5985", + "model_id": "ca2d0f29fd9d4c4798c6a9ab67394fea", "version_major": 2, "version_minor": 0 }, @@ -6564,7 +6578,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "adbd41951bc842f8b8f4db5fd61ba9df", + "model_id": "1339bdb1da3840f5a1efe41464caa2c5", "version_major": 2, "version_minor": 0 }, @@ -6578,7 +6592,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "aae0abb5d84c4242842d9d142b1d0896", + "model_id": "3821e619d2324ccea58e0587485f7217", "version_major": 2, "version_minor": 0 }, @@ -6592,7 +6606,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "2286477ca94a48fba73437af68948506", + "model_id": "9b1c3d6353874ecf96517902b8a9f62b", "version_major": 2, "version_minor": 0 }, @@ -6606,7 +6620,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1bc2f111f7094ddfac3886b8886c4bc8", + "model_id": "84ddde43150e49b6ac8779bef87207c0", "version_major": 2, "version_minor": 0 }, @@ -6620,7 +6634,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "cb4bb51fbf2f45d2b45dc5627d918274", + "model_id": "7b773065df0f467b83a6972af6083031", "version_major": 2, "version_minor": 0 }, @@ -6634,7 +6648,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9c9fab477dd14331a8e41e388b8a08d6", + "model_id": "2b96b1cc24a24e128b617bea46bc9f2c", "version_major": 2, "version_minor": 0 }, @@ -6648,7 +6662,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6bf255fea0ac44929f461fb539bcf0ba", + "model_id": "c862ef032b204e349da92da94007a2d5", "version_major": 2, "version_minor": 0 }, @@ -6662,7 +6676,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "53caac4c19b44e9ca2d9f4c842a3d557", + "model_id": "0482f165d6a7449b8b6fa9e42bf5a8e5", "version_major": 2, "version_minor": 0 }, @@ -6676,7 +6690,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4404678e23c8444e92c7b81b56087aed", + "model_id": "eff103c6ba224c0e981aad4c6143e666", "version_major": 2, "version_minor": 0 }, @@ -6690,7 +6704,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a05a8e10e10b44738c198c878c79875b", + "model_id": "db0694d25c874da1be258b144bfb7269", "version_major": 2, "version_minor": 0 }, @@ -6704,7 +6718,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8575f208b3f14e6ea861273c7364c321", + "model_id": "bbba111a8dda46f7ba58f4ba28699d56", "version_major": 2, "version_minor": 0 }, @@ -6718,7 +6732,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "81b652bde0df4d7db865174974582d09", + "model_id": "f698252092c847f69b92396e5edcb734", "version_major": 2, "version_minor": 0 }, @@ -6732,7 +6746,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "bdc3218587c940ae8250f52d2ddaad64", + "model_id": "5774d1048965409486d1ab8869519080", "version_major": 2, "version_minor": 0 }, @@ -6746,7 +6760,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "3a537ebcbe114ce99f35889fd3626032", + "model_id": "8c211806ed7841e89019e52d87980204", "version_major": 2, "version_minor": 0 }, @@ -6760,7 +6774,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4c19abe0113c4e389458b9f0142d872d", + "model_id": "38c4c3471bdc47948c5c2d2df2ba7142", "version_major": 2, "version_minor": 0 }, @@ -6774,7 +6788,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "87f0e8f99e8f49008faf6d0b8b4cda86", + "model_id": "17375f3166a14d1fbc46dc54850f6a57", "version_major": 2, "version_minor": 0 }, @@ -6788,7 +6802,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "02e6b9add32a4d638fa7129748890a70", + "model_id": "af58c509522d4a2fb86ae1c5ec42ca44", "version_major": 2, "version_minor": 0 }, @@ -6802,7 +6816,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "72425a4287dc4307a7767e1a2d87bc30", + "model_id": "56980ca078a2480485540ce7865cbaf7", "version_major": 2, "version_minor": 0 }, @@ -6816,7 +6830,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6d8e49ebcbb14f53a7148c71b6d0cef0", + "model_id": "88ab360532774ac585a9e4c9e66acd5d", "version_major": 2, "version_minor": 0 }, @@ -6830,7 +6844,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "710dc2e346a5427993e348b2e3e0ae60", + "model_id": "7dfed39d974049d9bbb7e03f5dc8af81", "version_major": 2, "version_minor": 0 }, @@ -6844,7 +6858,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8c55552480854e4b8164816723c6b20e", + "model_id": "622e4ef81d9b469ba8c03e0991248d45", "version_major": 2, "version_minor": 0 }, @@ -6858,7 +6872,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "90ebf794def04dcf9beeefdf6cb3f871", + "model_id": "c355e12d823b491c8606870317e1f913", "version_major": 2, "version_minor": 0 }, @@ -6872,7 +6886,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "dc4307228d65447a949de8e81ee036ba", + "model_id": "e631777547d64dd19e970ba78df3252b", "version_major": 2, "version_minor": 0 }, @@ -6886,7 +6900,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "81d80cb9cae9445a9cafb518c92b681a", + "model_id": "c0aa16543ee64e2aac2d1e3314422832", "version_major": 2, "version_minor": 0 }, @@ -6900,7 +6914,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "fd8ceb02e5ff40b9b5d98eb994b89984", + "model_id": "c6bd15fb48c44561a91f9ced8e7ed63b", "version_major": 2, "version_minor": 0 }, @@ -6914,7 +6928,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a78dcea736c64a8eb8242fcf596afcf8", + "model_id": "4d161058faa840a6ac8c3a6894225ecf", "version_major": 2, "version_minor": 0 }, @@ -6928,7 +6942,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "48c6696ecd70428282e83ba7b800fee4", + "model_id": "d6deb6c7467544cf9fa0c9bc2460d15e", "version_major": 2, "version_minor": 0 }, @@ -6942,7 +6956,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d70543cfee3c4c00a19ccf5316b43321", + "model_id": "9e99b082a02e4e2897d7f5b7a34d94b9", "version_major": 2, "version_minor": 0 }, @@ -6956,7 +6970,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "e0ff80523e5141419d2a1c8d881ec288", + "model_id": "30cc82aec00748aca0e1db698a77ec07", "version_major": 2, "version_minor": 0 }, @@ -6970,7 +6984,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "288e453b8950436aac50e96c8e6c5795", + "model_id": "abe4869504664a4599be2178fd6cb357", "version_major": 2, "version_minor": 0 }, @@ -6984,7 +6998,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9fc78f7c172343ca94b9d52f438bfd72", + "model_id": "28da17c9677c4db699713d938d22f395", "version_major": 2, "version_minor": 0 }, @@ -6998,7 +7012,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8e788de6e2f042faaf34ea042c74f8fe", + "model_id": "66e36bde49d44a3dbc8be42bf578dc25", "version_major": 2, "version_minor": 0 }, @@ -7012,7 +7026,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5edb2dba9d1c49d8bcc22fafea615533", + "model_id": "242de895572d400387329f694b128f89", "version_major": 2, "version_minor": 0 }, @@ -7026,7 +7040,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "bc8503b357014934a710894c98006712", + "model_id": "7071342dd2d04819abedd90f5fb16225", "version_major": 2, "version_minor": 0 }, @@ -7040,7 +7054,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c327fd909b624d0891bba55fe4724ecb", + "model_id": "41d6dfdd06ff4b86bfa8faed9e7c5b77", "version_major": 2, "version_minor": 0 }, @@ -7054,7 +7068,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "fd05727daf284e19afe1f11d85384103", + "model_id": "c5cf471f2f6b43ac91960ce6f6811498", "version_major": 2, "version_minor": 0 }, @@ -7068,7 +7082,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "defc569dbc1b4910835ab2e5343461c1", + "model_id": "1d90903e38664dd1b987083eb29d9a1a", "version_major": 2, "version_minor": 0 }, @@ -7082,7 +7096,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f598e8837ca84c82823115ae6fc21386", + "model_id": "97d400edc17448598471ae9491fa5e8d", "version_major": 2, "version_minor": 0 }, @@ -7096,7 +7110,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b4f22a86fd7a4e41ad0822c67e87d34c", + "model_id": "5172f730734e4142a7192b6a2ed8ac77", "version_major": 2, "version_minor": 0 }, @@ -7110,7 +7124,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "65f6f751e1734b2f9cbe7e0263eeefec", + "model_id": "577dd336f3154a33956e5a12a56bcd03", "version_major": 2, "version_minor": 0 }, @@ -7124,7 +7138,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "685a2fbeadaa470c8dfc926f62d7e164", + "model_id": "e746621f7eac4cc190d7ed8f179c2537", "version_major": 2, "version_minor": 0 }, @@ -7138,7 +7152,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ba401cf220cb4471a1a667022c5c6120", + "model_id": "8817bf508a33486c9f5b5a8dfefdf66f", "version_major": 2, "version_minor": 0 }, @@ -7152,7 +7166,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "fb8b8f1496954f58a861aa6f312eb2b8", + "model_id": "c913b5fe4aa94d48827580494a0aa633", "version_major": 2, "version_minor": 0 }, @@ -7166,7 +7180,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "7aa8783f66f84407ad9c27893d5782ae", + "model_id": "133a537ccacf4023b33586ae820e8703", "version_major": 2, "version_minor": 0 }, @@ -7180,7 +7194,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d3287d46bcd6417caed8da5f4b3a683a", + "model_id": "861f2fe9a1c14e22a9a4506d59b0cf81", "version_major": 2, "version_minor": 0 }, @@ -7194,7 +7208,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f2611b5c2e7847c8b9ebcee59fb8e7cd", + "model_id": "2317ae1e64f14d8db1e510862b2804e0", "version_major": 2, "version_minor": 0 }, @@ -7208,7 +7222,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5e8c2e8d45154ddb90f5abfecaea7edc", + "model_id": "879b2d9624d24f838abe827cd30d99b9", "version_major": 2, "version_minor": 0 }, @@ -7222,7 +7236,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9ab77de4bb0e48efa9de138a2de6985a", + "model_id": "a46f010354a54a7aa94394c2993dc7f8", "version_major": 2, "version_minor": 0 }, @@ -7236,7 +7250,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "33accdcbc1074689a333491e3e19da9f", + "model_id": "9195ba6ab48f4a16a3986705d7dbfc10", "version_major": 2, "version_minor": 0 }, @@ -7250,7 +7264,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4dfb89fbdb684f8abd4e0b561431023b", + "model_id": "61e536fde1be47379fac9f12bf79548c", "version_major": 2, "version_minor": 0 }, @@ -7264,7 +7278,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "429bf02b0d3740c7ab3f08b20102cfae", + "model_id": "47dc783fc2444a43a3d555af2ca0d08e", "version_major": 2, "version_minor": 0 }, @@ -7278,7 +7292,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "2bd31db87a834417bc19ee4233866b6a", + "model_id": "eb5f92969ed148c28549d8d782db4c59", "version_major": 2, "version_minor": 0 }, @@ -7292,7 +7306,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5f5001c9f7e34187ba7a266c19627923", + "model_id": "7fdc63c065ac4800b006112e25edcdaf", "version_major": 2, "version_minor": 0 }, @@ -7306,7 +7320,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "48c412a09ee447b8ba9c0c6330462ec7", + "model_id": "bd144b5be1854e9581f0b53db2343d67", "version_major": 2, "version_minor": 0 }, @@ -7320,7 +7334,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5891434982474681ac8b488bb6b3ba52", + "model_id": "69d9212e5bf541c48780841c84025973", "version_major": 2, "version_minor": 0 }, @@ -7334,7 +7348,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "434d8a2c816742208c1f9df7ee4449d6", + "model_id": "76a125ff933b4852b60d302cac20fd5b", "version_major": 2, "version_minor": 0 }, @@ -7348,7 +7362,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "636b40cc7a4940a29fb97f0e4dff713e", + "model_id": "61a2aa219eba40b381ed3ae8031cedbd", "version_major": 2, "version_minor": 0 }, @@ -7362,7 +7376,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6f6cbcac60694bcabf89787d9ffcc10d", + "model_id": "9e5c2aa01ca64adab282fa562add26a9", "version_major": 2, "version_minor": 0 }, @@ -7376,7 +7390,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f6fa057c3f3b47a4810f26e3d4d2e714", + "model_id": "b6715d51ab1a479fa07a6d965b4d8c1a", "version_major": 2, "version_minor": 0 }, @@ -7390,7 +7404,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "e1a67aa83c2b490d854013cdf1e04a06", + "model_id": "839bbc0e602f46729f678696388be1b4", "version_major": 2, "version_minor": 0 }, @@ -7404,7 +7418,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a909e9e065504e74a9935566d4fe4a9b", + "model_id": "82c7ecdc068c4a77a19fec6eaadecde7", "version_major": 2, "version_minor": 0 }, @@ -7418,7 +7432,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f35f44fea6b74e16853bc6735c92f33f", + "model_id": "34fadf65dbe44472a2c04ec44abeae0f", "version_major": 2, "version_minor": 0 }, @@ -7432,7 +7446,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d896ea975b114c54a2708de69f297b52", + "model_id": "41ccac80a6b9431d96117bbe9eff3fd9", "version_major": 2, "version_minor": 0 }, @@ -7446,7 +7460,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "27686ce078a64e5e9da90508581cbe74", + "model_id": "477f8d20e49048c6bad51f3cb139d99f", "version_major": 2, "version_minor": 0 }, @@ -7460,7 +7474,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ab08541ef0d04acbbb1c52936313349d", + "model_id": "e01e7e9ee89247f082695c9b36bdd61a", "version_major": 2, "version_minor": 0 }, @@ -7474,7 +7488,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8ae6b6c1505b4d1e8209ac9aeeddb28e", + "model_id": "f524ba52630c4711b300dc16d738596a", "version_major": 2, "version_minor": 0 }, @@ -7488,7 +7502,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ba46515f8f234d6f8a400bd0cb92d9f3", + "model_id": "000d802fb50a49fa9e7c55999d7e4b2b", "version_major": 2, "version_minor": 0 }, @@ -7502,7 +7516,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "def4cf002a7540f083891da9204420b0", + "model_id": "2049531f013145ef8e2adef342e1b798", "version_major": 2, "version_minor": 0 }, @@ -7516,7 +7530,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "00ec6dc0419848ca8a40aa4709be89f5", + "model_id": "afcf9ccbd0214a69a7510d4c3e84d05e", "version_major": 2, "version_minor": 0 }, @@ -7530,7 +7544,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "abc7bfcc815648099ff09e8ef9a159d1", + "model_id": "2f42a43052b44c1b9e0d29cf77a487b2", "version_major": 2, "version_minor": 0 }, @@ -7544,7 +7558,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "487fba1ce6dd42619bd5a41eb348dd67", + "model_id": "ea7e07e7d43e4a55a845679f678dbaec", "version_major": 2, "version_minor": 0 }, @@ -7558,7 +7572,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "07a6993277eb4df3872bf8b6afb150a9", + "model_id": "92e2784b2e794dfca536adca669c63e2", "version_major": 2, "version_minor": 0 }, @@ -7572,7 +7586,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b4f699d9cd1d49fc9ccc9b9625aeec5d", + "model_id": "6055179b856d4b58be9acd1b7ec35c64", "version_major": 2, "version_minor": 0 }, @@ -7586,7 +7600,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6bd0345a9e654feaa907ebdef928db93", + "model_id": "5c9b6f3ef2a046ae905d0cd7b5c95945", "version_major": 2, "version_minor": 0 }, @@ -7600,7 +7614,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5e5a9ae1b7ff4f76b233e7a25373c746", + "model_id": "324dd29a40ec45ddab8938d9df7a5ae4", "version_major": 2, "version_minor": 0 }, @@ -7614,7 +7628,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "e1ca02d628314072aef808f1599955a2", + "model_id": "2d0dfa434cd94e8abaf094499667bc50", "version_major": 2, "version_minor": 0 }, @@ -7628,7 +7642,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "63848ac2d38e49098eee802419322bb2", + "model_id": "8b4edd7482844117901f8c0fbf6cba39", "version_major": 2, "version_minor": 0 }, @@ -7642,7 +7656,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f13898b6db4e42759b7f0bd462ab6956", + "model_id": "7688feea41724a50b9893540b61080e8", "version_major": 2, "version_minor": 0 }, @@ -7656,7 +7670,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b3ec5ea2b5cc45a6b6cca183a19cc67f", + "model_id": "b01092a2745842cdac71491fe9eef058", "version_major": 2, "version_minor": 0 }, @@ -7670,7 +7684,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9b4282cabbc1467689c5894447edf515", + "model_id": "b3bbef0322e044daa5eba0e65f0c108d", "version_major": 2, "version_minor": 0 }, @@ -7684,7 +7698,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "fc4a4dd193024fe0945bc2e907419524", + "model_id": "8b0ec34063e54138b4ed456435c0bb7d", "version_major": 2, "version_minor": 0 }, @@ -7698,7 +7712,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "91397078741d4dd3810d83b3a2203b19", + "model_id": "10ff567036544c0f93ba5cc806da0b46", "version_major": 2, "version_minor": 0 }, @@ -7712,7 +7726,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "0059e8cc276a49bb8253039a30452113", + "model_id": "c799f2d5463d448d89484a5274eb6e76", "version_major": 2, "version_minor": 0 }, @@ -7726,7 +7740,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9c8bd488e2f9401f8cd0e4bfcb16914d", + "model_id": "6a8b41547f4c4d2ab95e9558beb8a96a", "version_major": 2, "version_minor": 0 }, @@ -7740,7 +7754,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "433ee5aa653f4746930d348ec0f2db80", + "model_id": "faa11537040b4642b4610240b18c2214", "version_major": 2, "version_minor": 0 }, @@ -7754,7 +7768,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9278aae63cc248f196b96e319b96f90b", + "model_id": "5012fbdcc2904acc969d5e5d4013e459", "version_major": 2, "version_minor": 0 }, @@ -7768,7 +7782,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "2b0eb18349394bac8eafbfa75417fee6", + "model_id": "5b5f79d1415f44129df03f5ff1e13fec", "version_major": 2, "version_minor": 0 }, @@ -7782,7 +7796,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "40e2cba6325a4ea3aff75fa739f29a7d", + "model_id": "622e24d22cd74557baab07261f3acba8", "version_major": 2, "version_minor": 0 }, @@ -7796,7 +7810,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "3e9276384ea440f7b865a4ff44c4418c", + "model_id": "e00338736e894f848052b38256dd3954", "version_major": 2, "version_minor": 0 }, @@ -7810,7 +7824,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "49d2fe61e42d4283839cde4536988164", + "model_id": "3e69774642b1494b8a8fca15c731d314", "version_major": 2, "version_minor": 0 }, @@ -7824,7 +7838,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "37c5d6616cd2411f8e6909d9edcedbc2", + "model_id": "da001c173b3f4c82bd3cbd942bc397fe", "version_major": 2, "version_minor": 0 }, @@ -7838,7 +7852,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "e418e39cf49c4762821126bd57848b81", + "model_id": "9a37e545c5cc49a4bcfb2308a0bcf8ca", "version_major": 2, "version_minor": 0 }, @@ -7852,7 +7866,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "541efaef275f453398dbc8716f4756fa", + "model_id": "927b255dccf34984bf2fb446674ea262", "version_major": 2, "version_minor": 0 }, @@ -7866,7 +7880,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4e659e427a504bca9f332bbb4ab409e8", + "model_id": "bc2069fb6c2240ddad0b3a092ab8c1f7", "version_major": 2, "version_minor": 0 }, @@ -7880,7 +7894,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "3d8a5fe4075644979107fd689e5c38f4", + "model_id": "f4eec35fc7454a38a2fe86779b859073", "version_major": 2, "version_minor": 0 }, @@ -7894,7 +7908,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "09d5c901ba424ad29094fb3cfca075b5", + "model_id": "43ea2e0e464d4aab8a594310218b6a40", "version_major": 2, "version_minor": 0 }, @@ -7908,7 +7922,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8b86d4d70b3f4fd0914facef5e2fe80f", + "model_id": "7a0c089f99fc41caa262144d741be983", "version_major": 2, "version_minor": 0 }, @@ -7922,7 +7936,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9f82be5c63664674988eb60d89efaf1c", + "model_id": "97e8c57f8e5941448b547cbccc9d169b", "version_major": 2, "version_minor": 0 }, @@ -7936,7 +7950,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "04e37b7f6aa34c17bbcaa33ff057a9a2", + "model_id": "5a5d24e9b95b4554b2f65c1e608d9ee4", "version_major": 2, "version_minor": 0 }, @@ -7950,7 +7964,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c3b41bc56d3846df95cace54588d7753", + "model_id": "515d7f0208ca432da818ce74dd291bfd", "version_major": 2, "version_minor": 0 }, @@ -7964,7 +7978,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "80c9a549b79947eb956eb643d936d755", + "model_id": "811311bd8b1549a5bf32d0f01011e334", "version_major": 2, "version_minor": 0 }, @@ -7978,7 +7992,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "0ae2ecac737f4bfea5142df033ea64b5", + "model_id": "a7d3c66ba3514e968ee745d7cb959c74", "version_major": 2, "version_minor": 0 }, @@ -7992,7 +8006,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4951a8cf0c514294bfe2cdcfea001e56", + "model_id": "83347eca5d174de09804630b6a300cdf", "version_major": 2, "version_minor": 0 }, @@ -8006,7 +8020,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "0fdb6c7b485b433f9e9abe294f1bd2bf", + "model_id": "344cb51c824041e7b47f816b8588804a", "version_major": 2, "version_minor": 0 }, @@ -8020,7 +8034,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ac58a05d12ba4353b0e068e7ebd1465f", + "model_id": "e8c64d401b2c4567bf447695e4f8f3b2", "version_major": 2, "version_minor": 0 }, @@ -8034,7 +8048,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5d1e9443ed15479f9bf12080af872890", + "model_id": "b4e703b6eec4443a8e2de4a6afc33059", "version_major": 2, "version_minor": 0 }, @@ -8048,7 +8062,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "609522a2873443738376694e9b3904e4", + "model_id": "443a43820d4446559f1a944cf3273293", "version_major": 2, "version_minor": 0 }, @@ -8062,7 +8076,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c84c0cab62f345c48251defbb5c917f8", + "model_id": "15f7781b4a88473e8051eff199774768", "version_major": 2, "version_minor": 0 }, @@ -8076,7 +8090,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b7b3758e05a244a7aabec3d88c6e18dc", + "model_id": "66beaed3ab5b4744953ff15bfb90ac1e", "version_major": 2, "version_minor": 0 }, @@ -8090,7 +8104,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b5882cf912004dfda2accd076059c170", + "model_id": "e607db5386f24b60821f8b3914f1a21b", "version_major": 2, "version_minor": 0 }, @@ -8104,7 +8118,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "e70153b557fb46458f6df7192f0a7b09", + "model_id": "26a654c8f663428c9cebf884ce1565ef", "version_major": 2, "version_minor": 0 }, @@ -8118,7 +8132,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "73d7dba6521345ea8acd092bab2e1619", + "model_id": "01e30ac375c6459a8d1e19ec0950eb19", "version_major": 2, "version_minor": 0 }, @@ -8132,7 +8146,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d6065bbdfeb84dc3af9d5ff2bf4d9c6a", + "model_id": "bad6dcde4e1c4c7a8c8af26076fa68c8", "version_major": 2, "version_minor": 0 }, @@ -8146,7 +8160,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "05243aa949714a3ca4d3a421dedcac4d", + "model_id": "819896df56c4438383f4bc2a65b3efb4", "version_major": 2, "version_minor": 0 }, @@ -8160,7 +8174,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "10884a2c88c44850997092ccc4b5441c", + "model_id": "32a09a603e24443c9e2abd003c0578dc", "version_major": 2, "version_minor": 0 }, @@ -8174,7 +8188,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "11f6af57337b4ad99ce59b438040b253", + "model_id": "a154af87752d4d67aece566b38c0bcef", "version_major": 2, "version_minor": 0 }, @@ -8188,7 +8202,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b3d9aa7867884bd6b585a0144a73632c", + "model_id": "7bc05960b6c24a8fb1026060a6753519", "version_major": 2, "version_minor": 0 }, @@ -8202,7 +8216,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "7e8721a1ffd946209b5b252e78eee09e", + "model_id": "3b8fff8b6593488c8a1a0bd46f7e3d70", "version_major": 2, "version_minor": 0 }, @@ -8216,7 +8230,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "416ecbec4a704264b0623d6ac12a0fb6", + "model_id": "b6e66233db8e4fddbbda7f078e55927e", "version_major": 2, "version_minor": 0 }, @@ -8230,7 +8244,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ba1c62a1490e4851bf75a8fd8363361b", + "model_id": "971b43347c3940b3ae83d832fba63eca", "version_major": 2, "version_minor": 0 }, @@ -8244,7 +8258,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "53c6ed9b599746a6bf6d747ef112af8e", + "model_id": "804d998c0c8e4d60b9461fc56ebef32d", "version_major": 2, "version_minor": 0 }, @@ -8258,7 +8272,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "79519212167244cbadf40ea6b4f7e0c9", + "model_id": "4472653b2b2048ec898da9d59fe975d8", "version_major": 2, "version_minor": 0 }, @@ -8272,7 +8286,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c1d0c754d63f4d4297fda70d5467ad0d", + "model_id": "0e5170ac8964426fad0ae3570002eaf9", "version_major": 2, "version_minor": 0 }, @@ -8286,7 +8300,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "18f924902f1746458498a6c3188af347", + "model_id": "7c1ab5cf94bf46a4ba19208f5a2d995d", "version_major": 2, "version_minor": 0 }, @@ -8300,7 +8314,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a32b7fab13594443850d71002976deb1", + "model_id": "cd300d08208746d292df7f9c3c331872", "version_major": 2, "version_minor": 0 }, @@ -8314,7 +8328,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "2b6b150950c44c869b00ee169806c6b0", + "model_id": "4ce6b4e96b59434ea04499823a22d4d7", "version_major": 2, "version_minor": 0 }, @@ -8328,7 +8342,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "3cdb67c1ae824c9581be4d844596112c", + "model_id": "e61580bfb9ff406584884c8ddfcd13ed", "version_major": 2, "version_minor": 0 }, @@ -8342,7 +8356,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "232239b96fe544cd98281d984b65d2ea", + "model_id": "e55431f51b7c4d79b4bfe57af1a641f7", "version_major": 2, "version_minor": 0 }, @@ -8356,7 +8370,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "47a1e6fc67a248b9bbb587f31815e897", + "model_id": "fd249ad8628641d3a9022e481e1aa2c0", "version_major": 2, "version_minor": 0 }, @@ -8370,7 +8384,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "48ffd2512b7b44798f18c7822a6f4580", + "model_id": "3d85d946917f4eea94e267ed5444dd3d", "version_major": 2, "version_minor": 0 }, @@ -8384,7 +8398,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "63387d6caf5a4564b7121c45d1357f40", + "model_id": "2e0a99a9b7db461399fb4cec1049268e", "version_major": 2, "version_minor": 0 }, @@ -8398,7 +8412,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "823a36a0a4084bd3bd0e430656807ef6", + "model_id": "44e903f84c0f4efcb16c99bf41c5f9d9", "version_major": 2, "version_minor": 0 }, @@ -8412,7 +8426,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9c61b911bada4179b1be128670d317c9", + "model_id": "59755ce213194d48839cb0ee59cb2042", "version_major": 2, "version_minor": 0 }, @@ -8426,7 +8440,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "258b60047bd94ec6bb3b2cc72401cb32", + "model_id": "296b3193b1834bf1bfd7f57ceba35013", "version_major": 2, "version_minor": 0 }, @@ -8440,7 +8454,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "37212abde24d4b68a1d6cded07a12c12", + "model_id": "c6be75482275474497677c7e58feefb5", "version_major": 2, "version_minor": 0 }, @@ -8454,7 +8468,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f96ffca903744fb0b5e123060ec60fd7", + "model_id": "d0568169b94845cca0f9647723f720ec", "version_major": 2, "version_minor": 0 }, @@ -8468,7 +8482,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "887955da077e48b99881cef670a4c1ba", + "model_id": "4db62041ab3546d280caf00b8d064cf3", "version_major": 2, "version_minor": 0 }, @@ -8482,7 +8496,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "31e650929d2341cc9e3940f3b3cb89e6", + "model_id": "a824a5b053c24318b75324ce8ca22a33", "version_major": 2, "version_minor": 0 }, @@ -8496,7 +8510,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "abca807f7006436498c245982ce3c324", + "model_id": "0a4fbb0dfcbd40f7b6e99b8da490ede7", "version_major": 2, "version_minor": 0 }, @@ -8510,7 +8524,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "bf08bb77c8da48cdbeaf6755b98047cc", + "model_id": "57d15d54f57e4d2fa963093ca910498f", "version_major": 2, "version_minor": 0 }, @@ -8524,7 +8538,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "59c02f678c4743ef9464444a210376c8", + "model_id": "5685f9af0ce1422ba4adc6077eceee6e", "version_major": 2, "version_minor": 0 }, @@ -8538,7 +8552,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1c5084091a2a4785bd3f8fff332340be", + "model_id": "3127eec86e884119a9b2e95c9a9db20c", "version_major": 2, "version_minor": 0 }, @@ -8552,7 +8566,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9151cc7eff034d5693a8d3a9b98e0733", + "model_id": "e1f0930fc1ff4405a07db5fb4adc3268", "version_major": 2, "version_minor": 0 }, @@ -8566,7 +8580,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "cccdf799de2a4dbdad2cf8130baf3ec2", + "model_id": "497a8ff7a19f440d9dc2829ea0ae4ccb", "version_major": 2, "version_minor": 0 }, @@ -8580,7 +8594,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c3d5cfe4c36841f7a66327d190adb2ca", + "model_id": "c672c7bed8bd4d39ad93da8100979c1e", "version_major": 2, "version_minor": 0 }, @@ -8594,7 +8608,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9594cb16cb714109b415756f280c5bd0", + "model_id": "051ee52f7923419dad1229cf51c12db6", "version_major": 2, "version_minor": 0 }, @@ -8608,7 +8622,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a7d67954b703456ca426e5ad0b677113", + "model_id": "074abb1d32a34a8d87f9a6228032e580", "version_major": 2, "version_minor": 0 }, @@ -8622,7 +8636,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "69e54042e70e4986ad530215d3f6c86e", + "model_id": "22d48c70547e40a79c7146050009013a", "version_major": 2, "version_minor": 0 }, @@ -8636,7 +8650,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b4e7345f162248cda7df211645974bbf", + "model_id": "0eb20b3bc2d140798ce9b4c5bd4284de", "version_major": 2, "version_minor": 0 }, @@ -8650,7 +8664,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d2edbab2eba04cea8cd3177a70d20d04", + "model_id": "cbbd69d39f8b45d3802d205f64909245", "version_major": 2, "version_minor": 0 }, @@ -8664,7 +8678,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ca8e7e3834734a27b88da7bbb8904f40", + "model_id": "00f2d20c6975429ab1c51687ae3a454c", "version_major": 2, "version_minor": 0 }, @@ -8678,7 +8692,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8ff09790536d4e2596a2058121dcb645", + "model_id": "dc26459f681048d1ab8e120af4ca34d8", "version_major": 2, "version_minor": 0 }, @@ -8692,7 +8706,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a219ec13e5314641bcd5fde0b179462e", + "model_id": "cc521c2e87b6454b8b89cfe2fe1d0a42", "version_major": 2, "version_minor": 0 }, @@ -8706,7 +8720,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8a0b2088657048bd9c4968a5c0ac0330", + "model_id": "5e3d57a4d8c141d4b6fddff421eb6000", "version_major": 2, "version_minor": 0 }, @@ -8720,7 +8734,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "347e29a24d304391b862598126024189", + "model_id": "185fee5b2f1548e38533f18eb1721795", "version_major": 2, "version_minor": 0 }, @@ -8734,7 +8748,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5e1c05b0ab05438e96c71fa0014ea31f", + "model_id": "81f7786c6a6e4cbc82afb86ce76895f6", "version_major": 2, "version_minor": 0 }, @@ -8748,7 +8762,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "63a7bf6d98fb4b2bbcabe772739b0272", + "model_id": "87491d07cdfe496ea3346966f1e64179", "version_major": 2, "version_minor": 0 }, @@ -8762,7 +8776,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f64a61038ba144e58dfba748eeea1bc8", + "model_id": "85a0ba72102a428e849b63f3c50ab06a", "version_major": 2, "version_minor": 0 }, @@ -8776,7 +8790,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "815e5fab9d00494f928c5e2beef6b051", + "model_id": "526b22f870f044a7b28eba55ee207a43", "version_major": 2, "version_minor": 0 }, @@ -8790,7 +8804,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "e78ca078dcd6402897c69caad5d437bd", + "model_id": "e725de6c87c340e486ee7f3fa2bb8186", "version_major": 2, "version_minor": 0 }, @@ -8804,7 +8818,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "60dd1e5f13714aeb811f3655a69572c9", + "model_id": "56a70ef756684f799e6a95f772af0db7", "version_major": 2, "version_minor": 0 }, @@ -8818,7 +8832,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "08f616b74aa0450ea6ee587fa1bbd003", + "model_id": "805051f2b0324fcd80d326d834db499c", "version_major": 2, "version_minor": 0 }, @@ -8832,7 +8846,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5fedc05ed75f417eb47f91e80645fcf0", + "model_id": "b83ccde09b2b4d6ba45ce80d1a60e14f", "version_major": 2, "version_minor": 0 }, @@ -8846,7 +8860,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "e946e3987ced41ea8d67208d427d24cd", + "model_id": "50de9238121a492586ef535d9870a65d", "version_major": 2, "version_minor": 0 }, @@ -8860,7 +8874,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "89e3c38ed3ce42f5acbff99238b530cc", + "model_id": "e427c3f9158b4fa482b12e31d85eef41", "version_major": 2, "version_minor": 0 }, @@ -8874,7 +8888,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a744f06be13340c99bf0d820021841e7", + "model_id": "e194ebbbfa2240678ac8b8e469340146", "version_major": 2, "version_minor": 0 }, @@ -8888,7 +8902,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a453aabb867544f3acbb80e5ba25dacf", + "model_id": "c9e90150bb7f40069b1d774004dfefaa", "version_major": 2, "version_minor": 0 }, @@ -8902,7 +8916,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9155a2f5f2a245a185096733f2d3e43e", + "model_id": "2e14d378bbf24bd2849b7ae98760cccd", "version_major": 2, "version_minor": 0 }, @@ -8916,7 +8930,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "82495f162cd64867be36ae43455e8142", + "model_id": "df86aa36307a447eaec984bbf07e96fc", "version_major": 2, "version_minor": 0 }, @@ -8930,7 +8944,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5739b74cf4fa40998ec30c848011effd", + "model_id": "703ad78b60b14d44a4fccb3cd6967a91", "version_major": 2, "version_minor": 0 }, @@ -8944,7 +8958,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4aa3ee0884744e73ae53e82f7cec5866", + "model_id": "771d586bebfa4e5bad454f186f1eeffc", "version_major": 2, "version_minor": 0 }, @@ -8958,7 +8972,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "db7b4edb7f66475094fd87e8be932a15", + "model_id": "998455f3f1a8472b98a437d789a3ea97", "version_major": 2, "version_minor": 0 }, @@ -8972,7 +8986,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9263a31d7e7d4f048d752200174a65b4", + "model_id": "179835abf2964262a6b8503d3d1b8e78", "version_major": 2, "version_minor": 0 }, @@ -8986,7 +9000,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c745d9e462c7467eb6b075dc322f95db", + "model_id": "76348c2ad7bf466bbcca4af1144a470b", "version_major": 2, "version_minor": 0 }, @@ -9000,7 +9014,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9d67b297070247d1aa26a5333526a217", + "model_id": "dcce7db931c145d19932631697f09a79", "version_major": 2, "version_minor": 0 }, @@ -9014,7 +9028,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b47344309bcb4f6cb7c4d983f08b5576", + "model_id": "2d5514c8ce5a4401b26981a4ee7dea40", "version_major": 2, "version_minor": 0 }, @@ -9028,7 +9042,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "aad1e5b32482441d9ef7f099b4ccb89c", + "model_id": "dba38d1b89134bfa81a91c38512725e9", "version_major": 2, "version_minor": 0 }, @@ -9042,7 +9056,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b09694380bca49cca6ef2a91942db3d7", + "model_id": "c1e3eb637d1e475da751151a90d12897", "version_major": 2, "version_minor": 0 }, @@ -9056,7 +9070,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b09aa1a0960843cdbd61ce34b5b81826", + "model_id": "27e9c64b3969451db776220748539a77", "version_major": 2, "version_minor": 0 }, @@ -9070,7 +9084,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "68647247230d4f53af94160d072b6900", + "model_id": "7265f3fa43fa43c7bd36de16d5f86cdf", "version_major": 2, "version_minor": 0 }, @@ -9084,7 +9098,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "2f01660bb0df4bd48092c9d665cd2916", + "model_id": "16899924a14d471d9ad3b81960e31a52", "version_major": 2, "version_minor": 0 }, @@ -9098,7 +9112,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d99f5a473f41468b9da4aa4ee780fdff", + "model_id": "d36c5f4165cb4e0f96ae680b935988b3", "version_major": 2, "version_minor": 0 }, @@ -9112,7 +9126,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ef004b40cd584f68a8984a4b1608e042", + "model_id": "80552a5ddbb4498486ea2f6427da5699", "version_major": 2, "version_minor": 0 }, @@ -9126,7 +9140,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1a9e2cc48deb4ff6a3f082d4d3dd9d59", + "model_id": "907634642c684130a0cd6e93714a0e6a", "version_major": 2, "version_minor": 0 }, @@ -9140,7 +9154,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "19789b2f93ba4418a85b4bcfecf58724", + "model_id": "293a2e8ed4024f6db81933b0bdb2a675", "version_major": 2, "version_minor": 0 }, @@ -9154,7 +9168,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "0cc7bc1600a44d819df38e18cd6d37dc", + "model_id": "2b1e204e98ea4cf79e1e57a67bbb0925", "version_major": 2, "version_minor": 0 }, @@ -9168,7 +9182,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "08a81e8029084763b896123300df16ed", + "model_id": "c0b937f7787f4d70b2566c678df67942", "version_major": 2, "version_minor": 0 }, @@ -9182,7 +9196,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "aed9a14c0ba940f1b2aed90dc1a8c85e", + "model_id": "3752c05b838f4361878ead3fa9ab7d70", "version_major": 2, "version_minor": 0 }, @@ -9196,7 +9210,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9ff3717ff8a74dd298c4e67c8361c2bc", + "model_id": "320fec66eb05466ab2a70f332d8e6087", "version_major": 2, "version_minor": 0 }, @@ -9210,7 +9224,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f43a39e8fd334a77bde2a3a2dc63bca9", + "model_id": "15ee52a6527c4f2480860d485b6251e0", "version_major": 2, "version_minor": 0 }, @@ -9224,7 +9238,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8934c41aa3934ce2b7e5ed7e99d7eb69", + "model_id": "21dfc6f63e0d42c38aee7ab52e7df06d", "version_major": 2, "version_minor": 0 }, @@ -9238,7 +9252,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "49f5d330783b46899337ee084cddf092", + "model_id": "67fbf2deda6746229141bb9894494445", "version_major": 2, "version_minor": 0 }, @@ -9252,7 +9266,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ee2a7a7be37e4d97a726cb3f539738f8", + "model_id": "bcf57aa7105746aab9fde88eedafb345", "version_major": 2, "version_minor": 0 }, @@ -9266,7 +9280,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "deb52853fa1947d9a06157e1390d3682", + "model_id": "fca38afc849440f3b25ebf606ec15e3d", "version_major": 2, "version_minor": 0 }, @@ -9280,7 +9294,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "028202868e5b4c7d87a9c8c7117670f6", + "model_id": "767ea8584d754437a30cb930e602a0f5", "version_major": 2, "version_minor": 0 }, @@ -9294,7 +9308,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a61aef8d81f94684b1824782620897da", + "model_id": "5032a9eb66d0414a88d15adc7bea6b08", "version_major": 2, "version_minor": 0 }, @@ -9308,7 +9322,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "0f9cae07bbec494999514767fa39c1f9", + "model_id": "7d4e2d3c213b47e0929bf87cfa719140", "version_major": 2, "version_minor": 0 }, @@ -9322,7 +9336,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ddc3f95ce78d48868f2bea6cca9275ed", + "model_id": "d6386715a0fd43f0aa54396aefac5394", "version_major": 2, "version_minor": 0 }, @@ -9336,7 +9350,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8263a83b5e4c49cdb0dc6766740ccf39", + "model_id": "d052abe5a0fd44bebcc8a367434ec655", "version_major": 2, "version_minor": 0 }, @@ -9350,7 +9364,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "72d51c530b45422e8b14b9b737d3f3ed", + "model_id": "7cc2b46ec86f433b9b15ca6586068fa1", "version_major": 2, "version_minor": 0 }, @@ -9364,7 +9378,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "beb6387009c94c768f361288c535846e", + "model_id": "782b846acddc43a0b71327826ea128b7", "version_major": 2, "version_minor": 0 }, @@ -9378,7 +9392,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f4ae2335d27647b2b121ed7e8290371c", + "model_id": "3ae09e9b28ec4a05943e9cdb65a2fff3", "version_major": 2, "version_minor": 0 }, @@ -9392,7 +9406,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "3d0245c0a99b4f34810487bafac327be", + "model_id": "dfb8545ed55043fdb8989e2e46824eaf", "version_major": 2, "version_minor": 0 }, @@ -9431,7 +9445,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "47ef7edc", "metadata": {}, "outputs": [ @@ -9462,6 +9476,7 @@ " avg_query_time\n", " recall\n", " precision\n", + " total_indexing_time\n", " \n", " \n", " \n", @@ -9470,90 +9485,100 @@ " rerank\n", " sentence-transformers/all-MiniLM-L6-v2\n", " float16\n", - " 0.291734\n", + " 0.264426\n", " 0.143587\n", " 0.303922\n", + " 911.6829833984375\n", " \n", " \n", " 8\n", " rerank\n", " sentence-transformers/all-MiniLM-L6-v2\n", " float32\n", - " 0.203621\n", + " 0.186951\n", " 0.143587\n", " 0.303922\n", + " 807.8170166015625\n", " \n", " \n", " 4\n", " weighted_rrf\n", " sentence-transformers/all-MiniLM-L6-v2\n", " float16\n", - " 0.002931\n", + " 0.002152\n", " 0.134273\n", " 0.286378\n", + " 911.6829833984375\n", " \n", " \n", " 9\n", " weighted_rrf\n", " sentence-transformers/all-MiniLM-L6-v2\n", " float32\n", - " 0.003677\n", + " 0.002076\n", " 0.134273\n", " 0.286378\n", + " 807.8170166015625\n", " \n", " \n", " 1\n", " vector\n", " sentence-transformers/all-MiniLM-L6-v2\n", " float16\n", - " 0.002028\n", + " 0.001888\n", " 0.126754\n", " 0.284314\n", + " 911.6829833984375\n", " \n", " \n", " 2\n", " hybrid\n", " sentence-transformers/all-MiniLM-L6-v2\n", " float16\n", - " 0.001111\n", + " 0.000828\n", " 0.126754\n", " 0.284314\n", + " 911.6829833984375\n", " \n", " \n", " 6\n", " vector\n", " sentence-transformers/all-MiniLM-L6-v2\n", " float32\n", - " 0.000751\n", + " 0.000575\n", " 0.126754\n", " 0.284314\n", + " 807.8170166015625\n", " \n", " \n", " 7\n", " hybrid\n", " sentence-transformers/all-MiniLM-L6-v2\n", " float32\n", - " 0.001082\n", + " 0.000895\n", " 0.126754\n", " 0.284314\n", + " 807.8170166015625\n", " \n", " \n", " 0\n", " bm25\n", " sentence-transformers/all-MiniLM-L6-v2\n", " float16\n", - " 0.000890\n", + " 0.000606\n", " 0.122591\n", " 0.313880\n", + " 911.6829833984375\n", " \n", " \n", " 5\n", " bm25\n", " sentence-transformers/all-MiniLM-L6-v2\n", " float32\n", - " 0.001118\n", + " 0.001010\n", " 0.122591\n", " 0.313880\n", + " 807.8170166015625\n", " \n", " \n", "\n", @@ -9572,17 +9597,17 @@ "0 bm25 sentence-transformers/all-MiniLM-L6-v2 float16 \n", "5 bm25 sentence-transformers/all-MiniLM-L6-v2 float32 \n", "\n", - " avg_query_time recall precision \n", - "3 0.291734 0.143587 0.303922 \n", - "8 0.203621 0.143587 0.303922 \n", - "4 0.002931 0.134273 0.286378 \n", - "9 0.003677 0.134273 0.286378 \n", - "1 0.002028 0.126754 0.284314 \n", - "2 0.001111 0.126754 0.284314 \n", - "6 0.000751 0.126754 0.284314 \n", - "7 0.001082 0.126754 0.284314 \n", - "0 0.000890 0.122591 0.313880 \n", - "5 0.001118 0.122591 0.313880 " + " avg_query_time recall precision total_indexing_time \n", + "3 0.264426 0.143587 0.303922 911.6829833984375 \n", + "8 0.186951 0.143587 0.303922 807.8170166015625 \n", + "4 0.002152 0.134273 0.286378 911.6829833984375 \n", + "9 0.002076 0.134273 0.286378 807.8170166015625 \n", + "1 0.001888 0.126754 0.284314 911.6829833984375 \n", + "2 0.000828 0.126754 0.284314 911.6829833984375 \n", + "6 0.000575 0.126754 0.284314 807.8170166015625 \n", + "7 0.000895 0.126754 0.284314 807.8170166015625 \n", + "0 0.000606 0.122591 0.313880 911.6829833984375 \n", + "5 0.001010 0.122591 0.313880 807.8170166015625 " ] }, "execution_count": 8, @@ -9593,11 +9618,19 @@ "source": [ "metrics[[\"search_method\", \"model\", \"vector_data_type\", \"avg_query_time\", \"recall\", \"precision\"]].sort_values(by=\"recall\", ascending=False)" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6567d631", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "3.11.9", "language": "python", "name": "python3" }, diff --git a/docs/examples/search_study/search_study_walkthrough.ipynb b/docs/examples/search_study/search_study_walkthrough.ipynb new file mode 100644 index 0000000..faeb4f1 --- /dev/null +++ b/docs/examples/search_study/search_study_walkthrough.ipynb @@ -0,0 +1,847 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "7b65e29b", + "metadata": {}, + "source": [ + "# Search study\n", + "\n", + "Let's say you have an existing Redis database with a search index seeded. You may wish to quickly test different search method against the existing index without having to recreate data and/or recreate the index. This demo will walk you though how to set this up and get going.\n", + "\n", + "# Installation" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f6daae6e", + "metadata": {}, + "outputs": [], + "source": [ + "%pip install redis-retrieval-optimizer" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "8aa48190", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'0.4.1'" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import redis_retrieval_optimizer\n", + "\n", + "redis_retrieval_optimizer.__version__" + ] + }, + { + "cell_type": "markdown", + "id": "d50d98ee", + "metadata": {}, + "source": [ + "# Load data\n", + "\n", + "We will load our custom car dataset for this example. " + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "d67af4f3", + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "\n", + "with open('../resources/cars/car_corpus.json', 'r') as f:\n", + " corpus = json.load(f)\n", + "\n", + "with open('../resources/cars/car_queries.json', 'r') as f:\n", + " queries = json.load(f)\n", + "\n", + "with open('../resources/cars/car_qrels.json', 'r') as f:\n", + " qrels = json.load(f)" + ] + }, + { + "cell_type": "markdown", + "id": "8ba127a8", + "metadata": {}, + "source": [ + "# Create the index with redisvl\n", + "\n", + "For the search_study we are assuming that the search index already exists. The cell below will create a Redis search index and populate it with our test data for example purposes but is assumed with a search study is populated and running within your data. \n", + "\n", + "Note: the demo assumes you have a instance of redis running on localhost:6379. If this is not the case, update the redis_url to direct to your running instance or start a local instance with the following command. \n", + "\n", + "`docker run -d --name redis-stack-server -p 6379:6379 redis/redis-stack-server:latest`" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "3e09361e", + "metadata": {}, + "outputs": [], + "source": [ + "# assuming you have a redis instance running on localhost:6379\n", + "redis_url = \"redis://localhost:6379\"" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "1de89fc9", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "15:37:06 sentence_transformers.SentenceTransformer INFO Use pytorch device_name: mps\n", + "15:37:06 sentence_transformers.SentenceTransformer INFO Load pretrained SentenceTransformer: sentence-transformers/all-mpnet-base-v2\n" + ] + }, + { + "data": { + "text/plain": [ + "['cars:01K3KY4XKBMD7B5VWDYMBPT8CV',\n", + " 'cars:01K3KY4XKBJBADHWYSSVKYXFA3',\n", + " 'cars:01K3KY4XKBAFQXKJA8D24XTN4V',\n", + " 'cars:01K3KY4XKB4YK5J8M2BJ3RG2ZZ',\n", + " 'cars:01K3KY4XKBJ9BEN9KA5MY5B17F',\n", + " 'cars:01K3KY4XKB1YN12H0E8RYF908V',\n", + " 'cars:01K3KY4XKBBCQRKZF2WKN35N1M',\n", + " 'cars:01K3KY4XKBCFNP86PB1X20BKP6',\n", + " 'cars:01K3KY4XKBB1TW18MW7FXQHPGV',\n", + " 'cars:01K3KY4XKBNSAD3KQKWHY8ZEZV',\n", + " 'cars:01K3KY4XKBZASFPS1QAFT8AB9M',\n", + " 'cars:01K3KY4XKB6WS6EXC6D29HGB2B',\n", + " 'cars:01K3KY4XKBG7BDE2W5096JCPV1',\n", + " 'cars:01K3KY4XKBTJPHE8DJJDZ0F25N',\n", + " 'cars:01K3KY4XKB5G1J1HVVZNEHMD1G',\n", + " 'cars:01K3KY4XKB0G2NJSFABD1C0V2V',\n", + " 'cars:01K3KY4XKBE15Y724Q1MFRT1JD',\n", + " 'cars:01K3KY4XKB9BET7ZPS9PWS9FAM',\n", + " 'cars:01K3KY4XKBKK7N32WVSACBRDAH',\n", + " 'cars:01K3KY4XKB8WN4FZQHYN7N5M3Y',\n", + " 'cars:01K3KY4XKB3NFV4KCC3ZR9S1W3',\n", + " 'cars:01K3KY4XKBS0HT7SQPHKCZJ7K1',\n", + " 'cars:01K3KY4XKB9YAVWSK2EHPKCMJW',\n", + " 'cars:01K3KY4XKB26NXA6V8NY5DFS28',\n", + " 'cars:01K3KY4XKBKRQFSYB64XT263TZ',\n", + " 'cars:01K3KY4XKBA1G1N5GV81TQBG4V',\n", + " 'cars:01K3KY4XKBAZ9F12ANSMDMXY89',\n", + " 'cars:01K3KY4XKBHR8EYYS9S8KWZXR9',\n", + " 'cars:01K3KY4XKB7MS6SPWW4DKQJX7W',\n", + " 'cars:01K3KY4XKBMSCD9E477ZQ17YVZ',\n", + " 'cars:01K3KY4XKBJPG3D0807NNP8WC3',\n", + " 'cars:01K3KY4XKBWWXFH18Y473W7G6B',\n", + " 'cars:01K3KY4XKBS5D809VQY7PQ8QRC',\n", + " 'cars:01K3KY4XKBJ8ZDE8AK3AKWDZ6Z',\n", + " 'cars:01K3KY4XKBNN6P0668D815NEC1',\n", + " 'cars:01K3KY4XKBE0TBJ01VTT1TFHZS',\n", + " 'cars:01K3KY4XKCPCVH83FK2EA71Z48',\n", + " 'cars:01K3KY4XKC73XMV3GBFCT7J0WW',\n", + " 'cars:01K3KY4XKC5KV2AKX0CGXVH5RZ',\n", + " 'cars:01K3KY4XKCX1H1N5GXK2PY1HHD',\n", + " 'cars:01K3KY4XKC2D62TXN60TFZZVY5',\n", + " 'cars:01K3KY4XKCH1BDH5Z90PSNF5S4',\n", + " 'cars:01K3KY4XKCHWZK9FW9CVKS1ASM',\n", + " 'cars:01K3KY4XKCJ94D3SBZF1F1YYH3',\n", + " 'cars:01K3KY4XKCBAFQ964BAV94YAN0',\n", + " 'cars:01K3KY4XKC2NY2N5XYAW7K6YZ6',\n", + " 'cars:01K3KY4XKCAPFHNRHMJ7BW0CME',\n", + " 'cars:01K3KY4XKCDB5YYVT0776P48R0',\n", + " 'cars:01K3KY4XKC1TSCSCKJ67WZ04SV',\n", + " 'cars:01K3KY4XKCE0GXB8CHSJP1A00Q',\n", + " 'cars:01K3KY4XKCN4B08WG2PYSM70BJ',\n", + " 'cars:01K3KY4XKC50XEKZPM2FMRXCKG',\n", + " 'cars:01K3KY4XKCZRN029JGZ9JE0JQQ',\n", + " 'cars:01K3KY4XKCWR2KYMJVYV0VVGWK',\n", + " 'cars:01K3KY4XKCCWRMW2TDY5B2FZ7Q',\n", + " 'cars:01K3KY4XKCKSDQZHJ02W2H2B6G',\n", + " 'cars:01K3KY4XKCFN5YDRA3HNNNXFDB',\n", + " 'cars:01K3KY4XKCXJ5XNSFY197P9M27',\n", + " 'cars:01K3KY4XKC6SF9HZSBRX70VSH8',\n", + " 'cars:01K3KY4XKCWTZ9ERQHFD9WG9PM',\n", + " 'cars:01K3KY4XKCY3ZD176718N45V71',\n", + " 'cars:01K3KY4XKC4XZN931SSWJP74P0',\n", + " 'cars:01K3KY4XKC9Z1GPP9ABWW297M1',\n", + " 'cars:01K3KY4XKCE6Z0EPJKWG7N7GGQ',\n", + " 'cars:01K3KY4XKCYJ57RSQDJM7K6EFG',\n", + " 'cars:01K3KY4XKCBMKCPCT2KRDVGEG5',\n", + " 'cars:01K3KY4XKCXC7D9M2G1BXX2R8F',\n", + " 'cars:01K3KY4XKCG6KERMEM80A3RAAZ',\n", + " 'cars:01K3KY4XKCNCX9F4G1Y7H44S3S',\n", + " 'cars:01K3KY4XKCF153RPXWFRBK0QG5',\n", + " 'cars:01K3KY4XKCHXNB6WMF9HRRZ412',\n", + " 'cars:01K3KY4XKCMXEDN1JQHTXKKTDN',\n", + " 'cars:01K3KY4XKCSX846C67FYSXN6ZR',\n", + " 'cars:01K3KY4XKCGJY54D9T45BQPY55',\n", + " 'cars:01K3KY4XKCMEG7R2QQM5MYE3PP',\n", + " 'cars:01K3KY4XKC6NBQRQ4ETHKD090S',\n", + " 'cars:01K3KY4XKCDTB4AVHNFY9CX34N',\n", + " 'cars:01K3KY4XKC2JFZAJ878A3S9GZ9',\n", + " 'cars:01K3KY4XKCVCQVM1V9NJV4B6RC',\n", + " 'cars:01K3KY4XKC7330H6JC31MBPZJH',\n", + " 'cars:01K3KY4XKC9ZXV3ADZR3TDHG1Z',\n", + " 'cars:01K3KY4XKC884QN3FVXT2AW067',\n", + " 'cars:01K3KY4XKC7Q4TJ5CYV4GNXWNP',\n", + " 'cars:01K3KY4XKC20J1XK5NBZ0F9QCJ',\n", + " 'cars:01K3KY4XKCD2E0XSQ1B1257ZMX',\n", + " 'cars:01K3KY4XKCEYZ9RENGCEQAGZ6C',\n", + " 'cars:01K3KY4XKC97SWS7D34VXR3BTA',\n", + " 'cars:01K3KY4XKC8SD33PCV73D5GJHV',\n", + " 'cars:01K3KY4XKCRCH40DGW9K8DM6BR',\n", + " 'cars:01K3KY4XKCM6SGFZB2J3ZRSVXJ',\n", + " 'cars:01K3KY4XKCHXM25926JZRXFFRT',\n", + " 'cars:01K3KY4XKCRZPSW28J8SNAF29E',\n", + " 'cars:01K3KY4XKCV73EW2WE2MV6P28J',\n", + " 'cars:01K3KY4XKC5N07JHPDVVYCG8WA',\n", + " 'cars:01K3KY4XKCXS49NSXQV5APQM8C',\n", + " 'cars:01K3KY4XKCZW34RRWNKBV6CWHX',\n", + " 'cars:01K3KY4XKCE38EJGPQ664HR0S8',\n", + " 'cars:01K3KY4XKCG6STKQ9Q1CA7A793',\n", + " 'cars:01K3KY4XKCF04XXK204CK571FE',\n", + " 'cars:01K3KY4XKCMXMMHV39N4T24ZKE',\n", + " 'cars:01K3KY4XKCNZM085V5FMQASBBT',\n", + " 'cars:01K3KY4XKCZ6RJYR61QEQ5HN1B',\n", + " 'cars:01K3KY4XKCXW0GEXZAFJB0VGRX',\n", + " 'cars:01K3KY4XKCB4CVKRHX8XMWGFP1',\n", + " 'cars:01K3KY4XKC6KQA5ZDPPZ41KYQD',\n", + " 'cars:01K3KY4XKCEQ86M8NWYMK3QK12',\n", + " 'cars:01K3KY4XKCRD8MSEJFPB4DQ79B',\n", + " 'cars:01K3KY4XKCD13MDN1D72DZ62MX',\n", + " 'cars:01K3KY4XKC4XQ7CRD6G1XNHYEH',\n", + " 'cars:01K3KY4XKCRFCPFE2K240S1FDJ',\n", + " 'cars:01K3KY4XKC4PGY540BSVNXMNC5',\n", + " 'cars:01K3KY4XKCEA5MDNVWD0WVPYVN',\n", + " 'cars:01K3KY4XKCM1MCRJG6G5QWHDPB',\n", + " 'cars:01K3KY4XKCNKGZ9237T41MNGZ3',\n", + " 'cars:01K3KY4XKCVP7FDDS77KFV0TFG',\n", + " 'cars:01K3KY4XKCNYNE6RAYRQ06BQVT',\n", + " 'cars:01K3KY4XKC172KHV4BGB284FMZ',\n", + " 'cars:01K3KY4XKCYJNDKFKW5X6NFJZW',\n", + " 'cars:01K3KY4XKC3PFKDSNJSWCJ2CV8',\n", + " 'cars:01K3KY4XKCQD4B7CGSFYYDH99G',\n", + " 'cars:01K3KY4XKCYB7V4F4K54N9EB3E',\n", + " 'cars:01K3KY4XKCQH16DCMY0J4M2SW5',\n", + " 'cars:01K3KY4XKC8SW4K7TTAW2BSSQP',\n", + " 'cars:01K3KY4XKC1MWF5C7J277HXP9Q',\n", + " 'cars:01K3KY4XKCQ58467MAJRT7CGHJ',\n", + " 'cars:01K3KY4XKC6QN3TNWWN5SDZQRH',\n", + " 'cars:01K3KY4XKC8CT7ZYDBJWFTKKKP',\n", + " 'cars:01K3KY4XKCJGY153DBG59F4EW2',\n", + " 'cars:01K3KY4XKCTP4MS8EC299XAQE3',\n", + " 'cars:01K3KY4XKCMPDSRGRKNY8X4AV3',\n", + " 'cars:01K3KY4XKC2R4M324MQNZCFQCA',\n", + " 'cars:01K3KY4XKCBMDVXTM40NHRF596',\n", + " 'cars:01K3KY4XKCK16Z8WR8QSC8CSG3',\n", + " 'cars:01K3KY4XKCDB955M4PS11EN6R3',\n", + " 'cars:01K3KY4XKCRR27A0FM30DPSESX',\n", + " 'cars:01K3KY4XKCGH7V8Z5MMSV3TF61',\n", + " 'cars:01K3KY4XKCQ1CD5CEQRXR3PYPX',\n", + " 'cars:01K3KY4XKCKAMBSTXPMAJA6GR4',\n", + " 'cars:01K3KY4XKCWAA1FY1V8A81X420',\n", + " 'cars:01K3KY4XKCVFCCHBF5SQ416CW7',\n", + " 'cars:01K3KY4XKCTKBAGZYM48JYZTY4',\n", + " 'cars:01K3KY4XKC4E8RM1AGW73K0FBV',\n", + " 'cars:01K3KY4XKCT4ANPK0ZWVM0VZF3',\n", + " 'cars:01K3KY4XKCW76ZH894B4HBBZGY',\n", + " 'cars:01K3KY4XKCBPNZR56CT7TE7C9C',\n", + " 'cars:01K3KY4XKCAQ6KMSG8FWJ0AKRY',\n", + " 'cars:01K3KY4XKCTJKQFGD1209R054M',\n", + " 'cars:01K3KY4XKC6M4880W411F2A8BS',\n", + " 'cars:01K3KY4XKC1G6BSHFM95VK8ANJ',\n", + " 'cars:01K3KY4XKCNX68N90BTTM47KBM',\n", + " 'cars:01K3KY4XKC1J94G7B2JRAV6N8F',\n", + " 'cars:01K3KY4XKCRHFHJ35CPKQ1349W',\n", + " 'cars:01K3KY4XKCKP425BNQPQ37BX0D',\n", + " 'cars:01K3KY4XKCFWQ93YX3MPWX1T8Y',\n", + " 'cars:01K3KY4XKCQ87H8E759BA01DQ6',\n", + " 'cars:01K3KY4XKCNSYEW2ZF7ASH6X8Z',\n", + " 'cars:01K3KY4XKC2PF4D6NYJEVSEN73',\n", + " 'cars:01K3KY4XKCWYBG935J96Z1Y5GR',\n", + " 'cars:01K3KY4XKCJJP2MGCMK23RYMS0',\n", + " 'cars:01K3KY4XKC44WF6AY0JPJGCDYQ',\n", + " 'cars:01K3KY4XKC19CPKGC56T4Z2N8T',\n", + " 'cars:01K3KY4XKCF6Z8VTJH848KQXN8',\n", + " 'cars:01K3KY4XKC9DCG85FZQ32R2J5M',\n", + " 'cars:01K3KY4XKCM96NG95K9CKM8H9W',\n", + " 'cars:01K3KY4XKCNW70SZVACJ4F0BBJ',\n", + " 'cars:01K3KY4XKCWZ7X6CQM0QVK0677',\n", + " 'cars:01K3KY4XKC1TS1GM8YCPEC05D1',\n", + " 'cars:01K3KY4XKCSRRVDCH7VZ08YMZV',\n", + " 'cars:01K3KY4XKCRSB68MQY0S85K1N0',\n", + " 'cars:01K3KY4XKCDFDYM74T72J6B22X',\n", + " 'cars:01K3KY4XKCSD5SDNJNKVXZ1MM8',\n", + " 'cars:01K3KY4XKC9EW20CBS0B54CFCT',\n", + " 'cars:01K3KY4XKCZ4JX4M8X2B6JX709',\n", + " 'cars:01K3KY4XKCNBR86KZJR16TJVJF',\n", + " 'cars:01K3KY4XKCRZER39BJDXM27FMF',\n", + " 'cars:01K3KY4XKC3SD9E22X0YV2PZQ6',\n", + " 'cars:01K3KY4XKCPMY5Z6Q43J18Q27D',\n", + " 'cars:01K3KY4XKCJ4S7BJ3QW9KAAMTB',\n", + " 'cars:01K3KY4XKCEM0CABENAKZDFSZT',\n", + " 'cars:01K3KY4XKCP4S4QABNR620NB39',\n", + " 'cars:01K3KY4XKCH400MVKT09EDJNF6',\n", + " 'cars:01K3KY4XKCK82A3DK8ZBPSAZFE',\n", + " 'cars:01K3KY4XKCRYGF4MHT5FZCS3YN',\n", + " 'cars:01K3KY4XKCA2N41T4MDNSKXSB9',\n", + " 'cars:01K3KY4XKC298V6G8W0XX3C2VW',\n", + " 'cars:01K3KY4XKCB27X1RM491PKXMVV',\n", + " 'cars:01K3KY4XKCX33B5MFTEFGBRG41',\n", + " 'cars:01K3KY4XKCF1D59C951RFRHFAD',\n", + " 'cars:01K3KY4XKC8D9F8AMAWG2TZ2ZP',\n", + " 'cars:01K3KY4XKC3WTQVTAMVD8YMHJB',\n", + " 'cars:01K3KY4XKCV19X7CRYT7305JTW',\n", + " 'cars:01K3KY4XKC1PZ5NQWF5CBAM8PX',\n", + " 'cars:01K3KY4XKCK5PZNYTG0NGE4JMH',\n", + " 'cars:01K3KY4XKCFE0PVC7QVEVMJ7QS',\n", + " 'cars:01K3KY4XKC1WR798DNJQ0MY34G',\n", + " 'cars:01K3KY4XKCMVTSFJF83M6DW19Q',\n", + " 'cars:01K3KY4XKCBX7NG7YBMYQC5CWZ',\n", + " 'cars:01K3KY4XKCD2KHA69GVJ4WS6Y9',\n", + " 'cars:01K3KY4XKCFJRH9Q65A3FPP7XC',\n", + " 'cars:01K3KY4XKCXVG31SNKFDKJM4MH',\n", + " 'cars:01K3KY4XKCA7NBF9429HY9YC2K',\n", + " 'cars:01K3KY4XKCEG4NET6NQE9MWA5M',\n", + " 'cars:01K3KY4XKCBPV5FDYS26M7Z3XJ',\n", + " 'cars:01K3KY4XKCYX1S1DGNBHQAJ0ZV',\n", + " 'cars:01K3KY4XKCW4V75SZNKFPQT7Y1',\n", + " 'cars:01K3KY4XKCTEGDGNA0WH5PWJDT',\n", + " 'cars:01K3KY4XKCETTPNFS2R2KJ9BGV',\n", + " 'cars:01K3KY4XKCKBREY2SMC9W8NGM3',\n", + " 'cars:01K3KY4XKCSYP79NCDY2T636PA',\n", + " 'cars:01K3KY4XKCQ0TQ5MCG0MGHW352',\n", + " 'cars:01K3KY4XKC3KWKPXFAT91BTHAR',\n", + " 'cars:01K3KY4XKCH12X1MGMYNYYBJ5A',\n", + " 'cars:01K3KY4XKCGQ7SYKPZRPC3NFE4',\n", + " 'cars:01K3KY4XKCE9Q9FC2RP98AQ4DY',\n", + " 'cars:01K3KY4XKC6PC65FQSZ0HR468J',\n", + " 'cars:01K3KY4XKCEXE7V5M9F8D851MC',\n", + " 'cars:01K3KY4XKCYY3YRC9M1VQPVAK1',\n", + " 'cars:01K3KY4XKC2ZYRVQ4HW1VT31T3',\n", + " 'cars:01K3KY4XKCMNV6JQJXD1RKSYSZ',\n", + " 'cars:01K3KY4XKC4WQ0YEXQ3VQHFG21',\n", + " 'cars:01K3KY4XKCNWYZT0Z3QHXAWST7',\n", + " 'cars:01K3KY4XKCABRR08VZXCS8BW8C',\n", + " 'cars:01K3KY4XKC0KG7QAR5Q2FDRVAB',\n", + " 'cars:01K3KY4XKCRCJFN0F5ZJAZG6ZQ',\n", + " 'cars:01K3KY4XKCBQP96D1P76HRXT3P',\n", + " 'cars:01K3KY4XKCBHKNGE42TDACG28T',\n", + " 'cars:01K3KY4XKCWFHY9J0CT2RVHCC6',\n", + " 'cars:01K3KY4XKCK69SF474Z1C9511E',\n", + " 'cars:01K3KY4XKCT3WVJD0VFENHZF80',\n", + " 'cars:01K3KY4XKCAJY0BF0BDBQ6SKFF',\n", + " 'cars:01K3KY4XKC6HYPEG68D459H9QK',\n", + " 'cars:01K3KY4XKCAB5NKQKH7PKVGQBB',\n", + " 'cars:01K3KY4XKCJG0M4RJDV6Y9G6S0',\n", + " 'cars:01K3KY4XKCMJ0WKBYC1M1TTH1B',\n", + " 'cars:01K3KY4XKCB05JZZN0C2DHJXBK',\n", + " 'cars:01K3KY4XKCJK2TSB2A5104TWJF',\n", + " 'cars:01K3KY4XKCNMMA21VGTWF9WKFC',\n", + " 'cars:01K3KY4XKC5MTBCZ321MV5GPBW',\n", + " 'cars:01K3KY4XKC5XM1XTEBQJGSBYHQ',\n", + " 'cars:01K3KY4XKCWQXABHGH18KGD2ZG',\n", + " 'cars:01K3KY4XKCCC3FZ7YKTB25HQC7',\n", + " 'cars:01K3KY4XKC0V1J3WJ19YYVN2HQ',\n", + " 'cars:01K3KY4XKCF1DKKDKQ2G902GQA',\n", + " 'cars:01K3KY4XKC8ZYSYGWK83W13FNF',\n", + " 'cars:01K3KY4XKC8H8CY57Q4XT2RQYF',\n", + " 'cars:01K3KY4XKC935ZZKMAAEC84QVC',\n", + " 'cars:01K3KY4XKCT6EFAQXGVH3NJ8G0',\n", + " 'cars:01K3KY4XKC10G7YVTA57A0J34S',\n", + " 'cars:01K3KY4XKCTV935RCG4QGXYFE2',\n", + " 'cars:01K3KY4XKCB6WXE0720TJ5MTX4',\n", + " 'cars:01K3KY4XKCCC1FW86A1TMDFNPP',\n", + " 'cars:01K3KY4XKCA2WF7SNPNS1H8CTR',\n", + " 'cars:01K3KY4XKCPDMTQFW46ZX84N0A',\n", + " 'cars:01K3KY4XKCYXJKKS86VZE7N2RZ',\n", + " 'cars:01K3KY4XKC0VBRSEJMKNVSASEN',\n", + " 'cars:01K3KY4XKCZ1XPKSYF8H4F0QV4',\n", + " 'cars:01K3KY4XKCR9ZDAQWHYTGGX1H3',\n", + " 'cars:01K3KY4XKCVZS0KXNW1QZ7ENC7',\n", + " 'cars:01K3KY4XKCDRF7X3QX2PH7NVBW',\n", + " 'cars:01K3KY4XKC8VMSBP284WFGRBDC',\n", + " 'cars:01K3KY4XKC0CRKEMEZASHTXBKQ',\n", + " 'cars:01K3KY4XKC1P3AC0J7GCMJMBVY',\n", + " 'cars:01K3KY4XKCW6TGFDWN12RNC2F4',\n", + " 'cars:01K3KY4XKCHWHS9A7YD95QWNY6',\n", + " 'cars:01K3KY4XKC1HF10HGN4FYC2KDZ',\n", + " 'cars:01K3KY4XKCNWB95NHWRQGGDHHR',\n", + " 'cars:01K3KY4XKCJG6WR7QKHK814K3Y',\n", + " 'cars:01K3KY4XKCQH9JTPEY7Q5KEMPX',\n", + " 'cars:01K3KY4XKCM48TPJSAPFH67YE0',\n", + " 'cars:01K3KY4XKDE8YNCKAWTVHQ0M6G',\n", + " 'cars:01K3KY4XKDK912DF3HC4ENQ6G6',\n", + " 'cars:01K3KY4XKD5A16Y0GQF81D4M5K',\n", + " 'cars:01K3KY4XKDC689CN5WSKV146B4',\n", + " 'cars:01K3KY4XKDC529GCDR22499DYF',\n", + " 'cars:01K3KY4XKDYRR8V2EVRMMB7ZKJ',\n", + " 'cars:01K3KY4XKD6EHWD7EMNJETM1QT',\n", + " 'cars:01K3KY4XKDF8ZB3KGAQ2JKWK8N',\n", + " 'cars:01K3KY4XKD7M2PE10V9VA4KCD5',\n", + " 'cars:01K3KY4XKDRMPYCRZNVMNA937N',\n", + " 'cars:01K3KY4XKDRXTX3PRP9EFW7GSZ',\n", + " 'cars:01K3KY4XKDSQ3P6TS7GEF3Z2FT',\n", + " 'cars:01K3KY4XKDFXY3X2BC32VFER85',\n", + " 'cars:01K3KY4XKDH39YKHZGDWT41N2Q',\n", + " 'cars:01K3KY4XKD9EDP55GPQHCT5KP6',\n", + " 'cars:01K3KY4XKD4YBD24SAFGWTSYR2',\n", + " 'cars:01K3KY4XKD8F2RBYGCE9AYFPNJ',\n", + " 'cars:01K3KY4XKDWG5HDDF1DJ215GAE',\n", + " 'cars:01K3KY4XKDZ9YVM2RS1VBFHABG',\n", + " 'cars:01K3KY4XKDFRWDP7QS3B738A4Z',\n", + " 'cars:01K3KY4XKDW2FSNPWAR0SDGK3B',\n", + " 'cars:01K3KY4XKDKXZHDBSDVY0YQ936',\n", + " 'cars:01K3KY4XKDPT8SGKCDT662S5FY',\n", + " 'cars:01K3KY4XKDR8YF76RE280EFG7V',\n", + " 'cars:01K3KY4XKDB6BNZ6VP4963Y4S0',\n", + " 'cars:01K3KY4XKD12N299F4NNTN22P2',\n", + " 'cars:01K3KY4XKDBKFZBHFRES8N0P6E',\n", + " 'cars:01K3KY4XKDYQBC28S08HG847NM',\n", + " 'cars:01K3KY4XKD4B36PHQ7JWXM44XE',\n", + " 'cars:01K3KY4XKD6HNSV9JKJ4WDBXX1',\n", + " 'cars:01K3KY4XKD84AN6DC314NHDEZ2',\n", + " 'cars:01K3KY4XKD7KSFXSQ53ZEK9Z6G',\n", + " 'cars:01K3KY4XKDQ7VC2P299DK3NB2Q',\n", + " 'cars:01K3KY4XKD57ZGSD9RANAJ2DKQ',\n", + " 'cars:01K3KY4XKD9S5GAGB36JFPKV3V',\n", + " 'cars:01K3KY4XKD69TZJ7FKKGWMEMB7',\n", + " 'cars:01K3KY4XKD97MCTSWSH1161MVN',\n", + " 'cars:01K3KY4XKDRQ2SC82AWQ8MNCWN',\n", + " 'cars:01K3KY4XKDJRJM8NENDTDX93YX',\n", + " 'cars:01K3KY4XKD4VHBPN9Q85TFQHTB',\n", + " 'cars:01K3KY4XKD7J6585F4PQ967CN8',\n", + " 'cars:01K3KY4XKDYG7E75AZGDN60632',\n", + " 'cars:01K3KY4XKDAZPQXQ0YC8JR2CAV',\n", + " 'cars:01K3KY4XKD4YH6Y8R0KN9K31CA',\n", + " 'cars:01K3KY4XKD5FFDEQXKCQ3T5F9K',\n", + " 'cars:01K3KY4XKDV1JYTC7S725S92PE',\n", + " 'cars:01K3KY4XKDD47XTEBXMBAQDX8T',\n", + " 'cars:01K3KY4XKDBQJ7YCDQMB3VGTQR',\n", + " 'cars:01K3KY4XKDZWGQFDFNK7YQ30N8',\n", + " 'cars:01K3KY4XKDZAW9FE973WW1XHP9',\n", + " 'cars:01K3KY4XKDGFKDMCBD5H7AFQ5Z',\n", + " 'cars:01K3KY4XKDDW5WXXS48XXKHTKG',\n", + " 'cars:01K3KY4XKDWBRPVG204010W2FP',\n", + " 'cars:01K3KY4XKDFQP36J45YHM8Q6QX',\n", + " 'cars:01K3KY4XKD9XA88MZQK25PB1YC',\n", + " 'cars:01K3KY4XKDJWR9NK38FNE5YCH5',\n", + " 'cars:01K3KY4XKD1WGN3FE0NPKS0YAX',\n", + " 'cars:01K3KY4XKDQWDX2FJMHJNVBKYM',\n", + " 'cars:01K3KY4XKDTJ5DP85A6VPSRE92',\n", + " 'cars:01K3KY4XKDDDF48MJRBC68XZ0F',\n", + " 'cars:01K3KY4XKDEB0KEB9YNWW8HXRX',\n", + " 'cars:01K3KY4XKD3X0P80W09J7V05F1',\n", + " 'cars:01K3KY4XKD4E5KSSX71S94NJXB',\n", + " 'cars:01K3KY4XKD5CB6XSJM9VD82A3R',\n", + " 'cars:01K3KY4XKD3QN7XEY3JF49TXGK',\n", + " 'cars:01K3KY4XKD9Z1S8Y761VFH8WP3',\n", + " 'cars:01K3KY4XKDMQHT6GTRVKS8KJX3',\n", + " 'cars:01K3KY4XKDM00MSBWRZ06KDZ2Y',\n", + " 'cars:01K3KY4XKD7CH4JXM0FMW9BP6T',\n", + " 'cars:01K3KY4XKD1YCGKPBTPA40F2NE',\n", + " 'cars:01K3KY4XKDSMS8D1AP49RDD7DG',\n", + " 'cars:01K3KY4XKD8RS0YWZDG97R7SBT',\n", + " 'cars:01K3KY4XKDT5BBZCQ826KQWPED',\n", + " 'cars:01K3KY4XKDFQMJ1QK7XYNFQVNS',\n", + " 'cars:01K3KY4XKDQYSJ4Q2A2GKGP1F0',\n", + " 'cars:01K3KY4XKDB23S7YJJ5735DZ68',\n", + " 'cars:01K3KY4XKDG2B4G5J0YHF1RFFG',\n", + " 'cars:01K3KY4XKD3TYCHSDA21Z9Y39B',\n", + " 'cars:01K3KY4XKD7MWG2STZ61BCW038',\n", + " 'cars:01K3KY4XKDM53DKNQHE0YT7WAP',\n", + " 'cars:01K3KY4XKDW10C3TSB52XRJP0Q',\n", + " 'cars:01K3KY4XKD9Y5EDR1Y2YYY8MNZ',\n", + " 'cars:01K3KY4XKD6RNFDQ5XVEW5JK83',\n", + " 'cars:01K3KY4XKD3VZWQQW2ZAGDDJQA',\n", + " 'cars:01K3KY4XKDNKD3AMKX6SY7PHEW',\n", + " 'cars:01K3KY4XKDTAJ08RS37JYQAFPH',\n", + " 'cars:01K3KY4XKDTWC9R96K2FWBDHJA',\n", + " 'cars:01K3KY4XKDAC8W91XC88WTXG85',\n", + " 'cars:01K3KY4XKD6G9NK3E6WZRDWAN0',\n", + " 'cars:01K3KY4XKDJ36ND2QAP5HD2G1Q',\n", + " 'cars:01K3KY4XKDJWPCA18WX8BKVN0Z',\n", + " 'cars:01K3KY4XKDNFY1QHYTB50NF9X0',\n", + " 'cars:01K3KY4XKD2P0WJNR0J2ECE4F3',\n", + " 'cars:01K3KY4XKD7DHXNN721X2Z4901',\n", + " 'cars:01K3KY4XKDX7WJMXCQHN01ZWEW',\n", + " 'cars:01K3KY4XKD3N61BPZYM9RHKB76',\n", + " 'cars:01K3KY4XKDT39H578M5SCDRS4W',\n", + " 'cars:01K3KY4XKD36GVZZPHR5HW6BTE',\n", + " 'cars:01K3KY4XKDH46WXPQ411RE05AA',\n", + " 'cars:01K3KY4XKD77E8MREKF5BTTQWC',\n", + " 'cars:01K3KY4XKDZ6PAEKNKGHA49MDY',\n", + " 'cars:01K3KY4XKDZ4VCWP13S9JYQ1KE',\n", + " 'cars:01K3KY4XKDM4X9T68MVY8XEC77',\n", + " 'cars:01K3KY4XKDNE3P2VC8XSPTK2FB',\n", + " 'cars:01K3KY4XKDZPKNV2A7FHZ8Q15Y',\n", + " 'cars:01K3KY4XKD3JGBMPGY8QWJCSBF',\n", + " 'cars:01K3KY4XKD5JC2E4FWPTEXYXP9',\n", + " 'cars:01K3KY4XKDCP8TKVWM2CPGR46Y',\n", + " 'cars:01K3KY4XKDCGWA1SBNMP9ZQ8CY',\n", + " 'cars:01K3KY4XKD4GGBS7RFN3RTDG7W',\n", + " 'cars:01K3KY4XKD8EV0T32GA88XFD5M',\n", + " 'cars:01K3KY4XKDSGCNKV26B7G00SM1',\n", + " 'cars:01K3KY4XKDNQ04PETXE4EB1NCW',\n", + " 'cars:01K3KY4XKDY4B7492NE2F19RHN',\n", + " 'cars:01K3KY4XKD37BN33XTMZBQAYZD',\n", + " 'cars:01K3KY4XKD4X39XY2YJ6WFGVMT',\n", + " 'cars:01K3KY4XKDVV33A45E0KWMANJ7',\n", + " 'cars:01K3KY4XKDYHDVPWPWV7T8SD51',\n", + " 'cars:01K3KY4XKDKJB31DCPNB8219DV',\n", + " 'cars:01K3KY4XKDWPAVH6V4WCZQHS7V',\n", + " 'cars:01K3KY4XKDSZ4VQX8SCJH5MW7J',\n", + " 'cars:01K3KY4XKDE4JS9Z6B8F48CR79',\n", + " 'cars:01K3KY4XKDRR161G9WEBXZ7N6Q',\n", + " 'cars:01K3KY4XKDT19Z8HWXNPFY7N6A',\n", + " 'cars:01K3KY4XKD24CJ2Z6X5MXXS7AV',\n", + " 'cars:01K3KY4XKDGK035B9J5ZCE849C',\n", + " 'cars:01K3KY4XKD7TW2TKNVHHG3FC8Q',\n", + " 'cars:01K3KY4XKDWD641Z3X3D1EGZ4Z',\n", + " 'cars:01K3KY4XKDB3PKF9M9KJW70GC4',\n", + " 'cars:01K3KY4XKD54GN408MR4WX8DPA',\n", + " 'cars:01K3KY4XKDEM3J8QT58F5CWQZB',\n", + " 'cars:01K3KY4XKD8Q9NMC2TTVCK55QS',\n", + " 'cars:01K3KY4XKDXKB7WYHPBY96VDDN',\n", + " 'cars:01K3KY4XKDGG9D6B6QFAVEQ1C7',\n", + " 'cars:01K3KY4XKDC71F92HZE9X58NVR',\n", + " 'cars:01K3KY4XKDH8X7ZW7YWV2999BM',\n", + " 'cars:01K3KY4XKDV0H38VXE9FPTCM1W',\n", + " 'cars:01K3KY4XKDV8FS1Q4NBWQGRC0M',\n", + " 'cars:01K3KY4XKDFD4T99R4PV9EY39G',\n", + " 'cars:01K3KY4XKDPGP7596P0GXBHTY9',\n", + " 'cars:01K3KY4XKDB7D2EH5R96PQA55J',\n", + " 'cars:01K3KY4XKD3DCAM7SQWPZHZ64P',\n", + " 'cars:01K3KY4XKDD7H9YJBBP1XRFAPR',\n", + " 'cars:01K3KY4XKDER9B9BSV73R38F8S',\n", + " 'cars:01K3KY4XKDWBXSVWGC9444B4VE',\n", + " 'cars:01K3KY4XKDBQ1Q0Q55HXVZZ0HY',\n", + " 'cars:01K3KY4XKDE73WGNGHACSC2PB1',\n", + " 'cars:01K3KY4XKDPT3C3G9DFQFPS62Y',\n", + " 'cars:01K3KY4XKDASPNHXQ7ST7ZTGYW',\n", + " 'cars:01K3KY4XKDQ3NEJH6QH8BQ8HDB',\n", + " 'cars:01K3KY4XKDGA3XH8ECSGH3CDDM',\n", + " 'cars:01K3KY4XKDQHPBN13JCRGDK6PG',\n", + " 'cars:01K3KY4XKD4PGSYVY4KM6A8QNT',\n", + " 'cars:01K3KY4XKDK5AZPXPF97AVAMXB',\n", + " 'cars:01K3KY4XKDFHYDDEDAWSF9KEDG',\n", + " 'cars:01K3KY4XKDK179MH8N2GQBHFS5',\n", + " 'cars:01K3KY4XKDC7SZZRYPY90X8BFW',\n", + " 'cars:01K3KY4XKDCP8D1KY85QYS8XDB',\n", + " 'cars:01K3KY4XKDJ79YE2WX8NKG6F6D',\n", + " 'cars:01K3KY4XKDTB6TD1F9EN8RPEJB',\n", + " 'cars:01K3KY4XKDR6NMT8QS9FY9A763',\n", + " 'cars:01K3KY4XKDAGGQF224PKWC9XFA',\n", + " 'cars:01K3KY4XKDKRNE8JGCW95NYQSV',\n", + " 'cars:01K3KY4XKD7GTZB416X46EH4X4',\n", + " 'cars:01K3KY4XKDGYXTRP2N18DWH2R9',\n", + " 'cars:01K3KY4XKD9R3D2RNFNNAQYRSC',\n", + " 'cars:01K3KY4XKDS3VV5R6ZYP3484HN',\n", + " 'cars:01K3KY4XKD7HRQY1AQK7SX8P4P',\n", + " 'cars:01K3KY4XKDZE3YKQ3CV5KT6190',\n", + " 'cars:01K3KY4XKD7ZB8H21AT1DNQD9J',\n", + " 'cars:01K3KY4XKD96RQY82KB0ZS4WV8',\n", + " 'cars:01K3KY4XKD264VZAYDHC12D5VF',\n", + " 'cars:01K3KY4XKDWK2QSCYWPTEZ5CQ1',\n", + " 'cars:01K3KY4XKDWB0D3JAWG7Q722ZK',\n", + " 'cars:01K3KY4XKDEGZ5W1XY8DD9Z10R',\n", + " 'cars:01K3KY4XKDZZC893XST16VYSFS',\n", + " 'cars:01K3KY4XKDTB9ARMC4WGSM1VYA',\n", + " 'cars:01K3KY4XKDSJ9RFNFMKTSXZCMH',\n", + " 'cars:01K3KY4XKDB9QKVFRJF4D3QH4C',\n", + " 'cars:01K3KY4XKDJSEZ271HMD9RNC83',\n", + " 'cars:01K3KY4XKDQ2M91N0WHATCHC2P',\n", + " 'cars:01K3KY4XKDRRMT4DN86SNTW1MP',\n", + " 'cars:01K3KY4XKDEFK8MR6ZAEYXQNHY',\n", + " 'cars:01K3KY4XKD7ZFVGF8EJZJCZ7H9',\n", + " 'cars:01K3KY4XKD5DRTP7M0TYAHC89A',\n", + " 'cars:01K3KY4XKDJMN8E6VRB1RJWAZ6',\n", + " 'cars:01K3KY4XKDS01E74C0G339KHVA',\n", + " 'cars:01K3KY4XKDFECPKH7WTF61WST0',\n", + " 'cars:01K3KY4XKD6QZS69S9CDG6TZ71',\n", + " 'cars:01K3KY4XKDR5BAZJJF9450G164',\n", + " 'cars:01K3KY4XKD75R40XPN0HT4EQ8Y',\n", + " 'cars:01K3KY4XKDVFMGW0HDHGB8XXEE',\n", + " 'cars:01K3KY4XKDB6X456JHX74SEWH0',\n", + " 'cars:01K3KY4XKDPSD0YNVA196X7XM8',\n", + " 'cars:01K3KY4XKDZQW3WFYRT15YXM02']" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from redisvl.index import SearchIndex\n", + "from redisvl.utils.vectorize import HFTextVectorizer\n", + "\n", + "emb_model = HFTextVectorizer()\n", + "\n", + "# define schema\n", + "car_schema = {\n", + " \"index\": {\n", + " \"name\": \"cars\",\n", + " \"prefix\": \"cars\"\n", + " },\n", + " \"fields\": [\n", + " {\"name\": \"item_id\", \"type\": \"tag\"},\n", + " {\"name\": \"text\", \"type\": \"text\"},\n", + " {\"name\": \"make\", \"type\": \"tag\"},\n", + " {\"name\": \"model\", \"type\": \"tag\"},\n", + " {\n", + " \"name\": \"vector\",\n", + " \"type\": \"vector\",\n", + " \"attrs\": {\n", + " \"dims\": 768,\n", + " \"distance_metric\": \"cosine\",\n", + " \"algorithm\": \"FLAT\",\n", + " \"datatype\": \"float32\"\n", + " },\n", + " },\n", + " ]\n", + "}\n", + "\n", + "# create index\n", + "index = SearchIndex.from_dict(car_schema, redis_url=redis_url)\n", + "index.create(overwrite=True)\n", + "\n", + "embeddings = emb_model.embed_many([c[\"text\"] for c in corpus], as_buffer=True)\n", + "\n", + "# vectorize corpus data\n", + "corpus_data = [\n", + " {\n", + " \"text\": c[\"text\"],\n", + " \"item_id\": c[\"item_id\"],\n", + " \"make\": c[\"query_metadata\"][\"make\"],\n", + " \"model\": c[\"query_metadata\"][\"model\"],\n", + " \"vector\": embeddings[i]\n", + " }\n", + " for i, c in enumerate(corpus)\n", + "]\n", + "\n", + "index.load(corpus_data)\n" + ] + }, + { + "cell_type": "markdown", + "id": "f9bc0270", + "metadata": {}, + "source": [ + "# Check index created successfully" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "200bbeb9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "464" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "index.info()[\"num_docs\"]" + ] + }, + { + "cell_type": "markdown", + "id": "58036fff", + "metadata": {}, + "source": [ + "# Review search study config\n", + "\n", + "- index_name should point to index created above\n", + "- qrels and queries should point to the queries and set of labeled queries under test\n", + "- search methods should match with the custom methods defined below\n", + "- embedding_model should match with the one used to create the index" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "ef6c1802", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "SearchStudyConfig(study_id='test-search-study', index_name='cars', qrels='../resources/cars/car_qrels.json', queries='../resources/cars/car_queries.json', search_methods=['base_vector', 'pre_filter_vector'], ret_k=3, id_field_name='_id', vector_field_name='vector', text_field_name='text', embedding_model=EmbeddingModel(type='hf', model='sentence-transformers/all-mpnet-base-v2', dim=768, embedding_cache_name='vec-cache', dtype='float32'))" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from redis_retrieval_optimizer.utils import load_search_study_config\n", + "\n", + "search_study_config = load_search_study_config(\"search_study_config.yaml\")\n", + "search_study_config" + ] + }, + { + "cell_type": "markdown", + "id": "3a0db837", + "metadata": {}, + "source": [ + "# Define search methods for search study\n", + "\n", + "A search method can be anything as long as it takes a `SearchMethodInput` and returns a `SearchMethodOutput`. Below we will compare a basic vector search to a vector search with a pre-filter. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bf495d1d", + "metadata": {}, + "outputs": [], + "source": [ + "from ranx import Run\n", + "from redis_retrieval_optimizer.search_methods.base import run_search_w_time\n", + "from redisvl.query import VectorQuery\n", + "from redisvl.query.filter import Tag\n", + "\n", + "from redis_retrieval_optimizer.schema import SearchMethodInput, SearchMethodOutput\n", + "from redis_retrieval_optimizer.search_methods.vector import make_score_dict_vec\n", + "\n", + "def vector_query(query_info, num_results: int, emb_model) -> VectorQuery:\n", + " vector = emb_model.embed(query_info[\"query\"], as_buffer=True)\n", + "\n", + " return VectorQuery(\n", + " vector=vector,\n", + " vector_field_name=\"vector\",\n", + " num_results=num_results,\n", + " return_fields=[\"item_id\", \"make\", \"model\", \"text\"]\n", + " )\n", + "\n", + "def pre_filter_query(query_info, num_results, emb_model) -> VectorQuery:\n", + " vec = emb_model.embed(query_info[\"query\"])\n", + " make = query_info[\"query_metadata\"][\"make\"]\n", + " model = query_info[\"query_metadata\"][\"model\"]\n", + "\n", + " filter = (Tag(\"make\") == make) & (Tag(\"model\") == model)\n", + "\n", + " # Create a vector query\n", + " query = VectorQuery(\n", + " vector=vec,\n", + " vector_field_name=\"vector\",\n", + " num_results=num_results,\n", + " filter_expression=filter,\n", + " return_fields=[\"item_id\", \"make\", \"model\", \"text\"]\n", + " )\n", + "\n", + " return query\n", + "\n", + "def gather_pre_filter_results(search_method_input: SearchMethodInput) -> SearchMethodOutput:\n", + " redis_res_vector = {}\n", + "\n", + " for key, query_info in search_method_input.raw_queries.items():\n", + " # create the query\n", + " query = pre_filter_query(query_info, search_method_input.ret_k, search_method_input.emb_model)\n", + "\n", + " # run with timing helper function\n", + " res = run_search_w_time(\n", + " search_method_input.index, query, search_method_input.query_metrics\n", + " )\n", + "\n", + " # format into scores dict\n", + " score_dict = make_score_dict_vec(res, id_field_name=\"item_id\")\n", + "\n", + " redis_res_vector[key] = score_dict\n", + "\n", + " # return search method output\n", + " return SearchMethodOutput(\n", + " run=Run(redis_res_vector),\n", + " query_metrics=search_method_input.query_metrics,\n", + " )\n", + "\n", + "\n", + "def gather_vector_results(search_method_input: SearchMethodInput) -> SearchMethodOutput:\n", + " redis_res_vector = {}\n", + "\n", + " for key, query_info in search_method_input.raw_queries.items():\n", + " # get query\n", + " vec_query = vector_query(query_info, search_method_input.ret_k, search_method_input.emb_model)\n", + "\n", + " # run with timing helper function\n", + " res = run_search_w_time(\n", + " search_method_input.index, vec_query, search_method_input.query_metrics\n", + " )\n", + "\n", + " # format into scores dict\n", + " score_dict = make_score_dict_vec(res, id_field_name=\"item_id\")\n", + " redis_res_vector[key] = score_dict\n", + " \n", + " # return search method output\n", + " return SearchMethodOutput(\n", + " run=Run(redis_res_vector),\n", + " query_metrics=search_method_input.query_metrics,\n", + " )\n" + ] + }, + { + "cell_type": "markdown", + "id": "bfbf4bb9", + "metadata": {}, + "source": [ + "# Run the search study" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9f7ecda0", + "metadata": {}, + "outputs": [], + "source": [ + "from redis_retrieval_optimizer.search_study import run_search_study\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/redis_retrieval_optimizer/__init__.py b/redis_retrieval_optimizer/__init__.py index 1b236d6..a2fb2ed 100644 --- a/redis_retrieval_optimizer/__init__.py +++ b/redis_retrieval_optimizer/__init__.py @@ -1,3 +1,3 @@ -__version__ = "0.4.2" +__version__ = "0.4.3" all = ["__version__"] diff --git a/redis_retrieval_optimizer/bayes_study.py b/redis_retrieval_optimizer/bayes_study.py index fd8c563..1e16945 100644 --- a/redis_retrieval_optimizer/bayes_study.py +++ b/redis_retrieval_optimizer/bayes_study.py @@ -122,6 +122,7 @@ def objective(trial, study_config, redis_url, corpus_processor, search_method_ma dtype=trial_settings.index_settings.vector_data_type, ) + if recreate_data: logging.info("Recreating index...") corpus = utils.load_json(study_config.corpus) @@ -129,15 +130,30 @@ def objective(trial, study_config, redis_url, corpus_processor, search_method_ma corpus_size = len(corpus_data) logging.info(f"Corpus size: {corpus_size}") - # reload data + # reload data and measure wall-clock time until indexing completes + indexing_start_time = time.time() trial_index.load(corpus_data) - while float(trial_index.info()["percent_indexed"]) < 1: - time.sleep(1) - logging.info(f"Indexing progress: {trial_index.info()['percent_indexed']}") + while float(trial_index.info()["percent_indexed"]) < 1: + time.sleep(1) + logging.info(f"Indexing progress: {trial_index.info()['percent_indexed']}") + else: + # Only wait if index is not fully indexed + if float(trial_index.info()["percent_indexed"]) < 1: + while float(trial_index.info()["percent_indexed"]) < 1: + time.sleep(1) + logging.info(f"Indexing progress: {trial_index.info()['percent_indexed']}") + + if recreate_data: + assert indexing_start_time is not None + total_indexing_time = time.time() - indexing_start_time + utils.set_last_indexing_time(redis_url, total_indexing_time) + else: + last_indexing_time = utils.get_last_indexing_time(redis_url) + total_indexing_time = ( + last_indexing_time if last_indexing_time is not None else 0.0 + ) - # capture index metrics - total_indexing_time = float(trial_index.info()["total_indexing_time"]) num_docs = trial_index.info()["num_docs"] logging.info(f"Data indexed {total_indexing_time=}s, {num_docs=}") diff --git a/redis_retrieval_optimizer/grid_study.py b/redis_retrieval_optimizer/grid_study.py index 0618327..bc12fc0 100644 --- a/redis_retrieval_optimizer/grid_study.py +++ b/redis_retrieval_optimizer/grid_study.py @@ -112,12 +112,16 @@ def init_index_from_grid_settings( # corpus processing functions should be user defined corpus_data = corpus_processor(corpus, emb_model) + indexing_start_time = time.time() index.load(corpus_data) while float(index.info()["percent_indexed"]) < 1: time.sleep(1) logging.info(f"Indexing progress: {index.info()['percent_indexed']}") + total_indexing_time = time.time() - indexing_start_time + utils.set_last_indexing_time(redis_url, total_indexing_time) + index_settings["embedding"] = embed_settings.model_dump() utils.set_last_index_settings(redis_url, index_settings) @@ -188,6 +192,7 @@ def run_grid_study( # corpus processing functions should be user defined corpus_data = corpus_processor(corpus, emb_model) + indexing_start_time = time.time() index.load(corpus_data) while float(index.info()["percent_indexed"]) < 1: @@ -196,6 +201,9 @@ def run_grid_study( f"Indexing progress: {index.info()['percent_indexed']}" ) + total_indexing_time = time.time() - indexing_start_time + utils.set_last_indexing_time(redis_url, total_indexing_time) + # Get embedding model with current dtype emb_model = utils.get_embedding_model( embedding_model, redis_url, dtype=dtype @@ -220,9 +228,11 @@ def run_grid_study( qrels, search_method_output.run ) - index_info = index.info() + last_indexing_time = utils.get_last_indexing_time(redis_url) - trial_metrics["total_indexing_time"] = index_info["total_indexing_time"] + trial_metrics["total_indexing_time"] = ( + last_indexing_time if last_indexing_time is not None else 0.0 + ) memory_stats = utils.get_index_memory_stats( grid_study_config.index_settings.name, diff --git a/redis_retrieval_optimizer/search_study.py b/redis_retrieval_optimizer/search_study.py index 9e691b0..7bd92aa 100644 --- a/redis_retrieval_optimizer/search_study.py +++ b/redis_retrieval_optimizer/search_study.py @@ -90,7 +90,10 @@ def run_search_study( trial_metrics = utils.eval_trial_metrics(qrels, search_method_output.run) - trial_metrics["total_indexing_time"] = index_info["total_indexing_time"] + last_indexing_time = utils.get_last_indexing_time(redis_url) + trial_metrics["total_indexing_time"] = ( + last_indexing_time if last_indexing_time is not None else 0.0 + ) memory_stats = utils.get_index_memory_stats( search_study_config.index_name, diff --git a/redis_retrieval_optimizer/utils.py b/redis_retrieval_optimizer/utils.py index 695f242..c3aa9a4 100644 --- a/redis_retrieval_optimizer/utils.py +++ b/redis_retrieval_optimizer/utils.py @@ -69,6 +69,27 @@ def set_last_index_settings(redis_url, index_settings): client.json().set("ret-opt:last_schema", Path.root_path(), index_settings) +def get_last_indexing_time(redis_url: str) -> float | None: + """Return the last recorded total indexing time in seconds, if any. + + This is stored under a dedicated JSON key so we can reuse the + indexing time across runs where we do not reload data. + """ + client = Redis.from_url(redis_url) + value = client.json().get("ret-opt:last_indexing_time") + return float(value) if value is not None else None + + +def set_last_indexing_time(redis_url: str, indexing_time: float) -> None: + """Persist the total indexing time (in seconds) for the current index. + + This is used when subsequent runs reuse the existing indexed data + and therefore should reuse the previously measured indexing time. + """ + client = Redis.from_url(redis_url) + client.json().set("ret-opt:last_indexing_time", Path.root_path(), indexing_time) + + def check_recreate(index_settings, last_index_settings): embedding_settings = index_settings.pop("embedding") if index_settings else None last_embedding_settings = ( diff --git a/tests/integration/test_bayes.py b/tests/integration/test_bayes.py index 9ee1a83..9a9b7d1 100644 --- a/tests/integration/test_bayes.py +++ b/tests/integration/test_bayes.py @@ -1,5 +1,6 @@ import os +import pytest import yaml from redisvl.index import SearchIndex @@ -31,6 +32,16 @@ def test_run_bayes_study(redis_url): assert metrics.shape[0] == study_config["optimization_settings"]["n_trials"] + # total_indexing_time should be recorded for each trial and persisted + assert "total_indexing_time" in metrics.columns + + last_indexing_time = utils.get_last_indexing_time(redis_url) + assert last_indexing_time is not None + assert last_indexing_time > 0.0 + + # The last trial's recorded indexing time should match the persisted value + assert metrics["total_indexing_time"].iloc[-1] == pytest.approx(last_indexing_time) + for score in metrics["f1"].tolist(): assert score > 0.0 @@ -43,4 +54,5 @@ def test_run_bayes_study(redis_url): # clean up index.client.json().delete("ret-opt:last_schema") + index.client.json().delete("ret-opt:last_indexing_time") index.delete(drop=True) diff --git a/tests/integration/test_grid.py b/tests/integration/test_grid.py index 5454e5e..82e0d76 100644 --- a/tests/integration/test_grid.py +++ b/tests/integration/test_grid.py @@ -1,5 +1,6 @@ import os +import pytest import yaml from redisvl.index import SearchIndex @@ -44,6 +45,19 @@ def test_run_grid_study(redis_url): for score in metrics["f1"].tolist(): assert score > 0.0 + # total_indexing_time should be recorded and reused across trials + assert "total_indexing_time" in metrics.columns + + # With a single vector data type, all trials should share the same + # positive indexing time value. + unique_times = metrics["total_indexing_time"].unique() + assert len(unique_times) == 1 + assert unique_times[0] > 0.0 + + last_indexing_time = utils.get_last_indexing_time(redis_url) + assert last_indexing_time is not None + assert unique_times[0] == pytest.approx(last_indexing_time) + last_schema = utils.get_last_index_settings(redis_url) assert last_schema is not None @@ -53,6 +67,7 @@ def test_run_grid_study(redis_url): # clean up index.client.json().delete("ret-opt:last_schema") + index.client.json().delete("ret-opt:last_indexing_time") index.delete(drop=True) @@ -96,6 +111,17 @@ def test_run_grid_study_with_multiple_dtypes(redis_url): for score in metrics["f1"].tolist(): assert score > 0.0 + # total_indexing_time should be recorded for each dtype and reused + # across search methods for that dtype. + assert "total_indexing_time" in metrics.columns + + for dtype in unique_dtypes: + dtype_times = metrics.loc[ + metrics["vector_data_type"] == dtype, "total_indexing_time" + ] + assert dtype_times.nunique() == 1 + assert dtype_times.iloc[0] > 0.0 + last_schema = utils.get_last_index_settings(redis_url) assert last_schema is not None @@ -105,4 +131,5 @@ def test_run_grid_study_with_multiple_dtypes(redis_url): # clean up index.client.json().delete("ret-opt:last_schema") + index.client.json().delete("ret-opt:last_indexing_time") index.delete(drop=True) diff --git a/tests/integration/test_search_study.py b/tests/integration/test_search_study.py index 09b450c..ae00bef 100644 --- a/tests/integration/test_search_study.py +++ b/tests/integration/test_search_study.py @@ -1,5 +1,7 @@ import os +import time +import pytest import yaml from redisvl.index import SearchIndex from redisvl.utils.vectorize.text.huggingface import HFTextVectorizer @@ -38,14 +40,20 @@ def test_run_search_study(redis_url): # Load corpus data corpus = utils.load_json(f"{TEST_DIR}/search_data/corpus.json") corpus_data = eval_beir.process_corpus(corpus, emb_model) + indexing_start_time = time.time() index.load(corpus_data) # Wait for indexing to complete while float(index.info()["percent_indexed"]) < 1: - import time - time.sleep(1) + total_indexing_time = time.time() - indexing_start_time + # Sanity check: indexing time should be positive for a small test corpus. + assert total_indexing_time > 0.0 + + # Persist the measured indexing time so search_study can reuse it. + utils.set_last_indexing_time(redis_url, total_indexing_time) + # Run search study metrics = run_search_study( config_path=search_config_path, @@ -57,6 +65,13 @@ def test_run_search_study(redis_url): assert metrics.shape[0] == expected_trials + # total_indexing_time should be present and match the value we measured. + assert "total_indexing_time" in metrics.columns + + unique_indexing_times = metrics["total_indexing_time"].unique() + assert len(unique_indexing_times) == 1 + assert unique_indexing_times[0] == pytest.approx(total_indexing_time) + for score in metrics["f1"].tolist(): assert score > 0.0 @@ -67,13 +82,12 @@ def test_run_search_study(redis_url): assert method in unique_methods # Clean up + index.client.json().delete("ret-opt:last_indexing_time") index.delete(drop=True) def test_search_study_requires_embedding_model(redis_url): """Test that search study requires embedding_model in config.""" - import pytest - # Create a config without embedding_model config_path = f"{TEST_DIR}/search_data/test_search_study_config_no_embedding.yaml"