Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save thecoder8890/7a899a230c32ef0fd6c7e1be2839ad7e to your computer and use it in GitHub Desktop.

Select an option

Save thecoder8890/7a899a230c32ef0fd6c7e1be2839ad7e to your computer and use it in GitHub Desktop.
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": []
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
},
"widgets": {
"application/vnd.jupyter.widget-state+json": {
"8358ead3b03843bfad3eb1d7de84d76e": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_81289d689f024e2ea5b1802e13fcd372",
"IPY_MODEL_5010ca4ea904458dba18511c474c6394",
"IPY_MODEL_f75b83496a40432ab4a20c5c8bfc172e"
],
"layout": "IPY_MODEL_eee11412de54486eaf2cc3fa9255138b"
}
},
"81289d689f024e2ea5b1802e13fcd372": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_c1aaabcf76ab464f8905a76eb8b58c68",
"placeholder": "\u200b",
"style": "IPY_MODEL_98232aaf585442f6b9a69644afc9aa83",
"value": "modules.json:\u2007100%"
}
},
"5010ca4ea904458dba18511c474c6394": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_37c722a07b7a41838012c7f1d16320db",
"max": 349,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_fd5998c057eb4ad0b66bb58077e3a974",
"value": 349
}
},
"f75b83496a40432ab4a20c5c8bfc172e": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_fa86e5ef90374ae09a9ece9e39e113fa",
"placeholder": "\u200b",
"style": "IPY_MODEL_4a20e449211e42899228414efd422a28",
"value": "\u2007349/349\u2007[00:00<00:00,\u200717.0kB/s]"
}
},
"eee11412de54486eaf2cc3fa9255138b": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"c1aaabcf76ab464f8905a76eb8b58c68": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"98232aaf585442f6b9a69644afc9aa83": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"37c722a07b7a41838012c7f1d16320db": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"fd5998c057eb4ad0b66bb58077e3a974": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"fa86e5ef90374ae09a9ece9e39e113fa": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"4a20e449211e42899228414efd422a28": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"ea1c5fdc34b24551b79e52abd72ccc31": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_fa93ae01b57d46c1ad629feed31df436",
"IPY_MODEL_1f8a017d310348dba47c73faa508d139",
"IPY_MODEL_ae932d6bf8f0481eb83493d91a76821d"
],
"layout": "IPY_MODEL_b18f3f2afc4c4841ae9ab844c0f8fee1"
}
},
"fa93ae01b57d46c1ad629feed31df436": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_0f185d0f5003409ca20b49ac32ca2582",
"placeholder": "\u200b",
"style": "IPY_MODEL_9a863f33275048e0979a76129a378219",
"value": "config_sentence_transformers.json:\u2007100%"
}
},
"1f8a017d310348dba47c73faa508d139": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_e0ea1b8cb3714a9483339c293acf8b1d",
"max": 116,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_e6cccf72a6444e1faeb919a9785b1931",
"value": 116
}
},
"ae932d6bf8f0481eb83493d91a76821d": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_dc5f4a096f9a4617a09943a61830d731",
"placeholder": "\u200b",
"style": "IPY_MODEL_8a4edcd38c7a40138f637d9e6cb41620",
"value": "\u2007116/116\u2007[00:00<00:00,\u20075.14kB/s]"
}
},
"b18f3f2afc4c4841ae9ab844c0f8fee1": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"0f185d0f5003409ca20b49ac32ca2582": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"9a863f33275048e0979a76129a378219": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"e0ea1b8cb3714a9483339c293acf8b1d": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"e6cccf72a6444e1faeb919a9785b1931": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"dc5f4a096f9a4617a09943a61830d731": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"8a4edcd38c7a40138f637d9e6cb41620": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"0e62d4cf79494e039b4e0bca7b5d60f8": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_86fd9b6b9b574c4e844c033be914b26c",
"IPY_MODEL_e0c54ff6afd14c99a5408ec23d94f682",
"IPY_MODEL_1d5bee82f0d949398cd17820d6b2d63a"
],
"layout": "IPY_MODEL_0dc4e8e324bd48339843a3e8eaf3fae4"
}
},
"86fd9b6b9b574c4e844c033be914b26c": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_d7d5ea7d1e444834999b797cff686e23",
"placeholder": "\u200b",
"style": "IPY_MODEL_828fba7d17f04d4fb92cc104b4dec09a",
"value": "README.md:\u2007100%"
}
},
"e0c54ff6afd14c99a5408ec23d94f682": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_99a7d171e9614feca280bec888d7b07a",
"max": 10454,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_1f1ab315be504d2bb47881e13cabc0dc",
"value": 10454
}
},
"1d5bee82f0d949398cd17820d6b2d63a": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_64750221276f42d890f216360a4dfd99",
"placeholder": "\u200b",
"style": "IPY_MODEL_cf654cb2e94b41ef9b61daa3c4e7dde0",
"value": "\u200710.5k/10.5k\u2007[00:00<00:00,\u2007491kB/s]"
}
},
"0dc4e8e324bd48339843a3e8eaf3fae4": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"d7d5ea7d1e444834999b797cff686e23": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"828fba7d17f04d4fb92cc104b4dec09a": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"99a7d171e9614feca280bec888d7b07a": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"1f1ab315be504d2bb47881e13cabc0dc": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"64750221276f42d890f216360a4dfd99": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"cf654cb2e94b41ef9b61daa3c4e7dde0": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"09c80a2fe5a0421bbb189a9f9271332d": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_3641e578021f4541897a3c74a8245b3a",
"IPY_MODEL_e640e8d7c45d46c0b977d3afa0a44f3c",
"IPY_MODEL_9a05802c13cd4f56a645b54a3150472c"
],
"layout": "IPY_MODEL_eb5afe75f53c4058accedacdc9cf24ad"
}
},
"3641e578021f4541897a3c74a8245b3a": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_05c854d81a7e4207b1e48cea087b1525",
"placeholder": "\u200b",
"style": "IPY_MODEL_f15ea5808fc44a7c8991b47712587a0b",
"value": "sentence_bert_config.json:\u2007100%"
}
},
"e640e8d7c45d46c0b977d3afa0a44f3c": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_be47a30c02654dcbb6a809c17b641540",
"max": 53,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_aaf537d1d9c7451ba3930d909cee1bde",
"value": 53
}
},
"9a05802c13cd4f56a645b54a3150472c": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_11e1bec541db4edeb529194b189e7286",
"placeholder": "\u200b",
"style": "IPY_MODEL_020e88d0bf6b4bd6b0bd25a476d6789d",
"value": "\u200753.0/53.0\u2007[00:00<00:00,\u20075.78kB/s]"
}
},
"eb5afe75f53c4058accedacdc9cf24ad": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"05c854d81a7e4207b1e48cea087b1525": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"f15ea5808fc44a7c8991b47712587a0b": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"be47a30c02654dcbb6a809c17b641540": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"aaf537d1d9c7451ba3930d909cee1bde": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"11e1bec541db4edeb529194b189e7286": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"020e88d0bf6b4bd6b0bd25a476d6789d": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"d2b58312e0bf4751b27c25efd5ad1949": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_5ec5195337f041c5b96ec74bfec0abf9",
"IPY_MODEL_b602b76b69e0491db0c4d5a56a526162",
"IPY_MODEL_7dc099284eae4034a9ef65ca2bbf7834"
],
"layout": "IPY_MODEL_5c80f987800947d6b054804c92dedcb9"
}
},
"5ec5195337f041c5b96ec74bfec0abf9": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_494c2310f1cd41a79a2f0ca1b0a247ee",
"placeholder": "\u200b",
"style": "IPY_MODEL_863b0674ca7841bdbf9241e34e15a4d8",
"value": "config.json:\u2007100%"
}
},
"b602b76b69e0491db0c4d5a56a526162": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_3f710fb9db174b0e95214071ccdf6a45",
"max": 612,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_8d5c31a0f28040569c15aedcb52e2f0a",
"value": 612
}
},
"7dc099284eae4034a9ef65ca2bbf7834": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_a7aa494212c146f9a570cbe2d0aed383",
"placeholder": "\u200b",
"style": "IPY_MODEL_fd278b57501848b688f93f4c00a8a69f",
"value": "\u2007612/612\u2007[00:00<00:00,\u200753.9kB/s]"
}
},
"5c80f987800947d6b054804c92dedcb9": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"494c2310f1cd41a79a2f0ca1b0a247ee": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"863b0674ca7841bdbf9241e34e15a4d8": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"3f710fb9db174b0e95214071ccdf6a45": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"8d5c31a0f28040569c15aedcb52e2f0a": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"a7aa494212c146f9a570cbe2d0aed383": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"fd278b57501848b688f93f4c00a8a69f": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"d30fe156f11e4ac2b5991860e3534153": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_2c60724b3faf42a4bead33be335a9dec",
"IPY_MODEL_ed4a610d311d46d7bec2054681c28dad",
"IPY_MODEL_8dbecb2308f74c0e8ca04be0f9a57548"
],
"layout": "IPY_MODEL_53249273a414402fbd9f48e7ff169e86"
}
},
"2c60724b3faf42a4bead33be335a9dec": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_c501b8b24a724b12a91ef74e3783e464",
"placeholder": "\u200b",
"style": "IPY_MODEL_d3217abbf1c444398782598929e1f97d",
"value": "model.safetensors:\u2007100%"
}
},
"ed4a610d311d46d7bec2054681c28dad": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_60f36778e36e4e8f8e10555aaece157d",
"max": 90868376,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_7b2f46b14dea4f1dab2d4763c3510d8a",
"value": 90868376
}
},
"8dbecb2308f74c0e8ca04be0f9a57548": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_864295fa5c064006a109b3f00b07d46a",
"placeholder": "\u200b",
"style": "IPY_MODEL_b675bcec86bc467d958cd5a6e3fb580c",
"value": "\u200790.9M/90.9M\u2007[00:02<00:00,\u200736.4MB/s]"
}
},
"53249273a414402fbd9f48e7ff169e86": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"c501b8b24a724b12a91ef74e3783e464": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"d3217abbf1c444398782598929e1f97d": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"60f36778e36e4e8f8e10555aaece157d": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"7b2f46b14dea4f1dab2d4763c3510d8a": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"864295fa5c064006a109b3f00b07d46a": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"b675bcec86bc467d958cd5a6e3fb580c": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"7a697067e2864dff8ba2ad47fc0bad60": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_1ee442ad8a2743b49e21e3b54345f1bc",
"IPY_MODEL_9ba32f46128d4d69998aeb15b6c79e21",
"IPY_MODEL_cf83cb30f0774342b5101216a211683e"
],
"layout": "IPY_MODEL_bd2303b2c8e049ca8d5f6d85b82ad513"
}
},
"1ee442ad8a2743b49e21e3b54345f1bc": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_31afdb39c1f54d7da31013b932e8c0ae",
"placeholder": "\u200b",
"style": "IPY_MODEL_5d5f20d035204f6a85600cac05f728b3",
"value": "Loading\u2007weights:\u2007100%"
}
},
"9ba32f46128d4d69998aeb15b6c79e21": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_8427b49e5e544868a1fea869e43d39c7",
"max": 103,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_349036de4a90497d80fb75e3bb62c968",
"value": 103
}
},
"cf83cb30f0774342b5101216a211683e": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_6c70a8fd0c754aa6892cab123fb5431b",
"placeholder": "\u200b",
"style": "IPY_MODEL_b421635068d748ba96929d8579577960",
"value": "\u2007103/103\u2007[00:00<00:00,\u2007526.34it/s,\u2007Materializing\u2007param=pooler.dense.weight]"
}
},
"bd2303b2c8e049ca8d5f6d85b82ad513": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"31afdb39c1f54d7da31013b932e8c0ae": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"5d5f20d035204f6a85600cac05f728b3": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"8427b49e5e544868a1fea869e43d39c7": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"349036de4a90497d80fb75e3bb62c968": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"6c70a8fd0c754aa6892cab123fb5431b": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"b421635068d748ba96929d8579577960": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"78e09ff1e6a04ae78021bb4194a7358a": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_8f36be9600ab435c8b853548d325a82a",
"IPY_MODEL_dd65bbe3d3e94ff8801b6ecca06489f1",
"IPY_MODEL_c8a30db7f0ff42d297c8f21b74f39b9a"
],
"layout": "IPY_MODEL_10b4ad3a19fd43b49c8b24afd850db61"
}
},
"8f36be9600ab435c8b853548d325a82a": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_3607f55711784293a3c8842630c48119",
"placeholder": "\u200b",
"style": "IPY_MODEL_3f5307ed7a5843bb9462da6ccec05253",
"value": "tokenizer_config.json:\u2007100%"
}
},
"dd65bbe3d3e94ff8801b6ecca06489f1": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_02ed280e9d2f4735b32574c36bc49ba9",
"max": 350,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_a4ecfc1e1854440a85d041e551859274",
"value": 350
}
},
"c8a30db7f0ff42d297c8f21b74f39b9a": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_5c4c99271493408dbc0c7a250d6065e7",
"placeholder": "\u200b",
"style": "IPY_MODEL_770dcae13c6b4d7088e035c2f55dfa36",
"value": "\u2007350/350\u2007[00:00<00:00,\u200733.8kB/s]"
}
},
"10b4ad3a19fd43b49c8b24afd850db61": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"3607f55711784293a3c8842630c48119": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"3f5307ed7a5843bb9462da6ccec05253": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"02ed280e9d2f4735b32574c36bc49ba9": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"a4ecfc1e1854440a85d041e551859274": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"5c4c99271493408dbc0c7a250d6065e7": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"770dcae13c6b4d7088e035c2f55dfa36": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"f002d492539e44c7b95da436ba5a2722": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_1d4df593e7824d0d85aa92a31110ea02",
"IPY_MODEL_ae6c7a56134f4a08908fe642381cfb17",
"IPY_MODEL_947677b0154c42898d2c9fdc37a79916"
],
"layout": "IPY_MODEL_992acfb59ed34ba1920f365e98f88bab"
}
},
"1d4df593e7824d0d85aa92a31110ea02": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_3428ec12bd6f4dffacae14113a499d31",
"placeholder": "\u200b",
"style": "IPY_MODEL_f464bcf6a2e348d599ee13c235595f30",
"value": "vocab.txt:\u2007100%"
}
},
"ae6c7a56134f4a08908fe642381cfb17": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_9858cb89f3754466ad7748ec15ce7151",
"max": 231508,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_718b71ad5b434f829e1f6d8a6cc60098",
"value": 231508
}
},
"947677b0154c42898d2c9fdc37a79916": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_84bb668d88a449329f5d2668fb5835e8",
"placeholder": "\u200b",
"style": "IPY_MODEL_1a91b6aed0c5447587a527affd735353",
"value": "\u2007232k/232k\u2007[00:00<00:00,\u200710.5MB/s]"
}
},
"992acfb59ed34ba1920f365e98f88bab": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"3428ec12bd6f4dffacae14113a499d31": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"f464bcf6a2e348d599ee13c235595f30": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"9858cb89f3754466ad7748ec15ce7151": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"718b71ad5b434f829e1f6d8a6cc60098": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"84bb668d88a449329f5d2668fb5835e8": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"1a91b6aed0c5447587a527affd735353": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"dbfd8b87eead4dda9b2d2fff0ecd0cbe": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_1e618fbfbc2f44598a00f8275307ea75",
"IPY_MODEL_2049be1079e541e08c50a4607b9e2931",
"IPY_MODEL_be8aa8580e314cb48d2790713aac25ab"
],
"layout": "IPY_MODEL_78c22a71b68e40909fadd587af58cf76"
}
},
"1e618fbfbc2f44598a00f8275307ea75": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_64464d77d20143738cb07bf960c07dce",
"placeholder": "\u200b",
"style": "IPY_MODEL_7efdf0035b3e46228287c816fae5b7ba",
"value": "tokenizer.json:\u2007100%"
}
},
"2049be1079e541e08c50a4607b9e2931": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_17f69e11e82d44839c6d1a6834b2f2dd",
"max": 466247,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_3833d2951d8041a0a17c6408a89918fa",
"value": 466247
}
},
"be8aa8580e314cb48d2790713aac25ab": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_35139d257f914aa5971bb3ff0d5327f8",
"placeholder": "\u200b",
"style": "IPY_MODEL_bf07889aaffe4f869feb8f377f5cf90d",
"value": "\u2007466k/466k\u2007[00:00<00:00,\u200717.1MB/s]"
}
},
"78c22a71b68e40909fadd587af58cf76": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"64464d77d20143738cb07bf960c07dce": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"7efdf0035b3e46228287c816fae5b7ba": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"17f69e11e82d44839c6d1a6834b2f2dd": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"3833d2951d8041a0a17c6408a89918fa": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"35139d257f914aa5971bb3ff0d5327f8": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"bf07889aaffe4f869feb8f377f5cf90d": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"321b853747b64ef19f6c993ffb6cc26c": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_4304e6ba860f4c498c909c204d3f15c8",
"IPY_MODEL_a29eb37b262844889259f69156ad296d",
"IPY_MODEL_0d02e429504149e29bc1d0e600658aaa"
],
"layout": "IPY_MODEL_3e70b4cdaec74fc8b244081af297e0bb"
}
},
"4304e6ba860f4c498c909c204d3f15c8": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_c7cc0598fc714130abd59592763ef538",
"placeholder": "\u200b",
"style": "IPY_MODEL_18fd52c159024314aed97df4048a76f4",
"value": "special_tokens_map.json:\u2007100%"
}
},
"a29eb37b262844889259f69156ad296d": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_65a1198f47554a82b71eba7330a75b18",
"max": 112,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_1531c2cd3f50469490a09918061b48b3",
"value": 112
}
},
"0d02e429504149e29bc1d0e600658aaa": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_d414f76c107e4264b94b708c2e1edb5b",
"placeholder": "\u200b",
"style": "IPY_MODEL_eb3ac57ff138418bac38c80c407184f4",
"value": "\u2007112/112\u2007[00:00<00:00,\u20079.65kB/s]"
}
},
"3e70b4cdaec74fc8b244081af297e0bb": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"c7cc0598fc714130abd59592763ef538": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"18fd52c159024314aed97df4048a76f4": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"65a1198f47554a82b71eba7330a75b18": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"1531c2cd3f50469490a09918061b48b3": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"d414f76c107e4264b94b708c2e1edb5b": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"eb3ac57ff138418bac38c80c407184f4": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"8203097df31a4f43ba21219c06c8ba86": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_7fecd7e0525a4a95ae228ccfe5ca228c",
"IPY_MODEL_475f0a2cec89423e9fdf0df24f676c64",
"IPY_MODEL_7ef7784dcd784dc588e340aa4639de5e"
],
"layout": "IPY_MODEL_c0fb261e94f94e2280e4d78d9b841408"
}
},
"7fecd7e0525a4a95ae228ccfe5ca228c": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_12ed8d67509c45cbadf5e2bf9fcfddaa",
"placeholder": "\u200b",
"style": "IPY_MODEL_c39b5e599e854740ad574dfa54246188",
"value": "config.json:\u2007100%"
}
},
"475f0a2cec89423e9fdf0df24f676c64": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_0b9c61499f55446a951bc95bfc5ee2d7",
"max": 190,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_3370b4e703f04e91990f18ea76029cd4",
"value": 190
}
},
"7ef7784dcd784dc588e340aa4639de5e": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_9680feaee5494a6b84812186e124c12a",
"placeholder": "\u200b",
"style": "IPY_MODEL_512492b62ae84ddcba2a60a869058bc7",
"value": "\u2007190/190\u2007[00:00<00:00,\u200718.6kB/s]"
}
},
"c0fb261e94f94e2280e4d78d9b841408": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"12ed8d67509c45cbadf5e2bf9fcfddaa": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"c39b5e599e854740ad574dfa54246188": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"0b9c61499f55446a951bc95bfc5ee2d7": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"3370b4e703f04e91990f18ea76029cd4": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"9680feaee5494a6b84812186e124c12a": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"512492b62ae84ddcba2a60a869058bc7": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"f1ea7b1bc5f246e29e0dc22db65a63a2": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_491be97f94af45aebb7f16d435df8747",
"IPY_MODEL_76d993d368204a6dbccfdb162a8653b4",
"IPY_MODEL_5c55ae1c8c974c1ea90b694ff2881c86"
],
"layout": "IPY_MODEL_14b9861b25bc4895ac5421f5b14ccd0b"
}
},
"491be97f94af45aebb7f16d435df8747": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_d4c9a7abfb034d9d9a8498170bfe4fc2",
"placeholder": "\u200b",
"style": "IPY_MODEL_6f990add4c0e4e999545ea53e7d0fd1a",
"value": "modules.json:\u2007100%"
}
},
"76d993d368204a6dbccfdb162a8653b4": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_97e367e4d3d94598ba90a16bd7692f63",
"max": 349,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_6e6955f6c18445e681c1ea148d23ba90",
"value": 349
}
},
"5c55ae1c8c974c1ea90b694ff2881c86": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_364931abdd7f4792b570ff02c28add1f",
"placeholder": "\u200b",
"style": "IPY_MODEL_3d3c890588a24bf18de5ab6a77b78492",
"value": "\u2007349/349\u2007[00:00<00:00,\u200733.3kB/s]"
}
},
"14b9861b25bc4895ac5421f5b14ccd0b": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"d4c9a7abfb034d9d9a8498170bfe4fc2": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"6f990add4c0e4e999545ea53e7d0fd1a": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"97e367e4d3d94598ba90a16bd7692f63": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"6e6955f6c18445e681c1ea148d23ba90": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"364931abdd7f4792b570ff02c28add1f": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"3d3c890588a24bf18de5ab6a77b78492": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"9837b5c280b54936b472e22edfce7dc0": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_c56579c38f5b4b88985402f9dfd8ad1b",
"IPY_MODEL_4812db0ea1934029a737634c0e045645",
"IPY_MODEL_9d00d8a062e64cc2810d3334c34c8098"
],
"layout": "IPY_MODEL_139e1c118ff540b09b101cf2aa8c8d34"
}
},
"c56579c38f5b4b88985402f9dfd8ad1b": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_80cfb47062bf4860bd94c9436f1cfa25",
"placeholder": "\u200b",
"style": "IPY_MODEL_d6801eace7b3402e8697e8f9655ad781",
"value": "config_sentence_transformers.json:\u2007100%"
}
},
"4812db0ea1934029a737634c0e045645": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_794933e556b243ae912685eddd2d6eed",
"max": 124,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_1d5b9cb89f2049eca83c1077cf89d728",
"value": 124
}
},
"9d00d8a062e64cc2810d3334c34c8098": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_0811352100e94d6f8e96283eeca332bc",
"placeholder": "\u200b",
"style": "IPY_MODEL_ea67128531ba4833ba4e70e211425c3e",
"value": "\u2007124/124\u2007[00:00<00:00,\u20079.60kB/s]"
}
},
"139e1c118ff540b09b101cf2aa8c8d34": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"80cfb47062bf4860bd94c9436f1cfa25": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"d6801eace7b3402e8697e8f9655ad781": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"794933e556b243ae912685eddd2d6eed": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"1d5b9cb89f2049eca83c1077cf89d728": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"0811352100e94d6f8e96283eeca332bc": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"ea67128531ba4833ba4e70e211425c3e": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"113d6ccf436e4d7e817937a433820b36": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_b1f2ba0d406c4fbab5ac70660ef3fd8d",
"IPY_MODEL_a39c56d9aee345c39e88fa2b0c4943ad",
"IPY_MODEL_b9ac082df7694cd891029f5230bf2e97"
],
"layout": "IPY_MODEL_666127895025427e8c0f86e34428789a"
}
},
"b1f2ba0d406c4fbab5ac70660ef3fd8d": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_28af39b788f1421498a38375d54e109e",
"placeholder": "\u200b",
"style": "IPY_MODEL_f62f7d959a294972aa2b21744ad3381d",
"value": "README.md:\u2007100%"
}
},
"a39c56d9aee345c39e88fa2b0c4943ad": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_45d5ecd5b7974b71bd263ecec42b5629",
"max": 94783,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_a76343cf906b4dbda08055eec9aae912",
"value": 94783
}
},
"b9ac082df7694cd891029f5230bf2e97": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_ab6c871ecd9e4505b81a935d749234c7",
"placeholder": "\u200b",
"style": "IPY_MODEL_0b839bb23d744f2c830b35b2cb84f222",
"value": "\u200794.8k/94.8k\u2007[00:00<00:00,\u20074.37MB/s]"
}
},
"666127895025427e8c0f86e34428789a": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"28af39b788f1421498a38375d54e109e": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"f62f7d959a294972aa2b21744ad3381d": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"45d5ecd5b7974b71bd263ecec42b5629": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"a76343cf906b4dbda08055eec9aae912": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"ab6c871ecd9e4505b81a935d749234c7": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"0b839bb23d744f2c830b35b2cb84f222": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"105bcb1ed09642979ffa4283182d6c41": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_1f5fee856db84159877c7c8ba0cedb6a",
"IPY_MODEL_87e9f1943fb84486a6b17aff26e17956",
"IPY_MODEL_23980a2db868438e84533af471814ec5"
],
"layout": "IPY_MODEL_fee0d090f8f6434d98375e7d4bfbfaa0"
}
},
"1f5fee856db84159877c7c8ba0cedb6a": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_c91b865cb6724940aecfe507d625a79a",
"placeholder": "\u200b",
"style": "IPY_MODEL_624bf68a41af4a54855bc7d7a0ec401b",
"value": "sentence_bert_config.json:\u2007100%"
}
},
"87e9f1943fb84486a6b17aff26e17956": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_7a34a13c12c24c568a0726613b2eade6",
"max": 52,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_761c4cf9874640898ea60b0ba9bc06be",
"value": 52
}
},
"23980a2db868438e84533af471814ec5": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_c2eafeff3d5a44a497b92be24bbd9313",
"placeholder": "\u200b",
"style": "IPY_MODEL_7f66a81132aa4d38a00395135aaba87b",
"value": "\u200752.0/52.0\u2007[00:00<00:00,\u20074.26kB/s]"
}
},
"fee0d090f8f6434d98375e7d4bfbfaa0": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"c91b865cb6724940aecfe507d625a79a": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"624bf68a41af4a54855bc7d7a0ec401b": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"7a34a13c12c24c568a0726613b2eade6": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"761c4cf9874640898ea60b0ba9bc06be": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"c2eafeff3d5a44a497b92be24bbd9313": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"7f66a81132aa4d38a00395135aaba87b": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"248012a412ad4854879cf87ff29fd181": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_162e640ec4da42c99f5dc2140de32280",
"IPY_MODEL_39dbb0029125424d8f930c9c96846638",
"IPY_MODEL_f6a94f7547344a93a42d8bce4debda87"
],
"layout": "IPY_MODEL_3c476e9c3f3a4d01bd2bd64b28c1efc3"
}
},
"162e640ec4da42c99f5dc2140de32280": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_1d7fac2be66e40e3aa041f6e5c6c495b",
"placeholder": "\u200b",
"style": "IPY_MODEL_ce9dbdde7d44460bb52013c26f58bc9f",
"value": "config.json:\u2007100%"
}
},
"39dbb0029125424d8f930c9c96846638": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_fda5142a1e8a481e85ac127f6905f4cd",
"max": 743,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_b45a7aa0eb594ce8801cd389b9a63cc9",
"value": 743
}
},
"f6a94f7547344a93a42d8bce4debda87": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_6bc5bd4df57f4b5291fafed26c5d5e4c",
"placeholder": "\u200b",
"style": "IPY_MODEL_e85d275ba9a74412aa1c3d8ee71ce626",
"value": "\u2007743/743\u2007[00:00<00:00,\u200766.6kB/s]"
}
},
"3c476e9c3f3a4d01bd2bd64b28c1efc3": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"1d7fac2be66e40e3aa041f6e5c6c495b": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"ce9dbdde7d44460bb52013c26f58bc9f": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"fda5142a1e8a481e85ac127f6905f4cd": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"b45a7aa0eb594ce8801cd389b9a63cc9": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"6bc5bd4df57f4b5291fafed26c5d5e4c": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"e85d275ba9a74412aa1c3d8ee71ce626": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"915b0499b8f948d39cefc8c46b434391": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_7ed9dcbdffd64456866d22b06b22ea64",
"IPY_MODEL_9a0d8fc96d16403a89142bfe6acf226e",
"IPY_MODEL_1b77102d80d24f84b5d596f835da6cf4"
],
"layout": "IPY_MODEL_12f1f30d669942f2a3c59bb79f97b9be"
}
},
"7ed9dcbdffd64456866d22b06b22ea64": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_328a555751f044a6bd7688265c4fad14",
"placeholder": "\u200b",
"style": "IPY_MODEL_0711965f418542a8887627b1ff7dba18",
"value": "model.safetensors:\u2007100%"
}
},
"9a0d8fc96d16403a89142bfe6acf226e": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_a563eedc021d456d9ec82ce1e363b882",
"max": 133466304,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_82c0c308b989494cb1fccd09e7c6b0c9",
"value": 133466304
}
},
"1b77102d80d24f84b5d596f835da6cf4": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_4a6fd5c4801d45a0a0a5c02c5881c409",
"placeholder": "\u200b",
"style": "IPY_MODEL_0954bb5f2aa143008781b662cb9966ed",
"value": "\u2007133M/133M\u2007[00:01<00:00,\u200775.8MB/s]"
}
},
"12f1f30d669942f2a3c59bb79f97b9be": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"328a555751f044a6bd7688265c4fad14": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"0711965f418542a8887627b1ff7dba18": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"a563eedc021d456d9ec82ce1e363b882": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"82c0c308b989494cb1fccd09e7c6b0c9": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"4a6fd5c4801d45a0a0a5c02c5881c409": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"0954bb5f2aa143008781b662cb9966ed": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"18b7bbe6566d42229235b8b306ddc466": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_12de1cbebd304acda1dbb70654a468d5",
"IPY_MODEL_542c31ec86f14d1192c2db8e01c5c1bb",
"IPY_MODEL_d6eeccb71e45488d8a097e877ddca695"
],
"layout": "IPY_MODEL_f804f09a08dc4070b4f630f0bb45c0e7"
}
},
"12de1cbebd304acda1dbb70654a468d5": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_2fc2a7c3274a43dbad83a5928f3b5721",
"placeholder": "\u200b",
"style": "IPY_MODEL_90fec68c01bc40999cbd1adfab240e42",
"value": "Loading\u2007weights:\u2007100%"
}
},
"542c31ec86f14d1192c2db8e01c5c1bb": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_c3e8b502765249858f847387a0c87cfd",
"max": 199,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_23873c944360485aa985e6c77caf837f",
"value": 199
}
},
"d6eeccb71e45488d8a097e877ddca695": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_d49e50d4a273449a83bea121e4aac979",
"placeholder": "\u200b",
"style": "IPY_MODEL_bb446796a34444359a09a765f17e8c9c",
"value": "\u2007199/199\u2007[00:00<00:00,\u2007412.03it/s,\u2007Materializing\u2007param=pooler.dense.weight]"
}
},
"f804f09a08dc4070b4f630f0bb45c0e7": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"2fc2a7c3274a43dbad83a5928f3b5721": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"90fec68c01bc40999cbd1adfab240e42": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"c3e8b502765249858f847387a0c87cfd": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"23873c944360485aa985e6c77caf837f": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"d49e50d4a273449a83bea121e4aac979": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"bb446796a34444359a09a765f17e8c9c": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"4771903b6ab64b74be08d09b2f32b5ec": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_d755a93e43ec4292bfe198881fc1b79b",
"IPY_MODEL_e1681ce8802f4f43ba98a32a2e8dd9b5",
"IPY_MODEL_50621bdbcf03488dbac090ab53925cfd"
],
"layout": "IPY_MODEL_a3ac984f17f14e1ebeb87b04a4edde0a"
}
},
"d755a93e43ec4292bfe198881fc1b79b": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_63d5d6370b9c42c6ac0cf1dd54d448ac",
"placeholder": "\u200b",
"style": "IPY_MODEL_c8fde78ee3b94c8083756d4a32df4f14",
"value": "tokenizer_config.json:\u2007100%"
}
},
"e1681ce8802f4f43ba98a32a2e8dd9b5": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_5c05250980114e6cb9ae32f9628bab7b",
"max": 366,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_8c50a18ae99d4a1cb56d7910c0686782",
"value": 366
}
},
"50621bdbcf03488dbac090ab53925cfd": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_d7bddb1370a547e9b6437a9cdfcea89f",
"placeholder": "\u200b",
"style": "IPY_MODEL_ecd312d927d24d91ad2e917756dc70aa",
"value": "\u2007366/366\u2007[00:00<00:00,\u200721.4kB/s]"
}
},
"a3ac984f17f14e1ebeb87b04a4edde0a": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"63d5d6370b9c42c6ac0cf1dd54d448ac": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"c8fde78ee3b94c8083756d4a32df4f14": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"5c05250980114e6cb9ae32f9628bab7b": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"8c50a18ae99d4a1cb56d7910c0686782": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"d7bddb1370a547e9b6437a9cdfcea89f": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"ecd312d927d24d91ad2e917756dc70aa": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"ae38e70c579449819c5c309339bf1f14": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_5663f432ab7d42248de5a11c825c02f6",
"IPY_MODEL_79072463c15542ff898c43c45c7b48a6",
"IPY_MODEL_de0666d7f2de46b8b223e19f834d3a02"
],
"layout": "IPY_MODEL_cc07d65faf11473c9ffbfa50f7f54209"
}
},
"5663f432ab7d42248de5a11c825c02f6": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_35d4ca43d2294075bf7b8eeac7417e84",
"placeholder": "\u200b",
"style": "IPY_MODEL_ca57a3c1ee174040854e6c7280ba816b",
"value": "vocab.txt:\u2007100%"
}
},
"79072463c15542ff898c43c45c7b48a6": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_b7788d5acd504ee38fe9e71eb6e12c15",
"max": 231508,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_01d2484655b34342bb056a03a01b9541",
"value": 231508
}
},
"de0666d7f2de46b8b223e19f834d3a02": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_bc5515f0b49a48579afdfacc0d68dd88",
"placeholder": "\u200b",
"style": "IPY_MODEL_8cdf1d1361294ebaa48c895c42f4bec1",
"value": "\u2007232k/232k\u2007[00:00<00:00,\u200714.2MB/s]"
}
},
"cc07d65faf11473c9ffbfa50f7f54209": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"35d4ca43d2294075bf7b8eeac7417e84": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"ca57a3c1ee174040854e6c7280ba816b": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"b7788d5acd504ee38fe9e71eb6e12c15": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"01d2484655b34342bb056a03a01b9541": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"bc5515f0b49a48579afdfacc0d68dd88": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"8cdf1d1361294ebaa48c895c42f4bec1": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"2e85d2b3207f4d5f9dfd2d867063b286": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_2463975fcaf145a7b3dfab1bbf6d87fa",
"IPY_MODEL_4c22fbee692b4bf3b02c17fa35b933b4",
"IPY_MODEL_e96b3425e3904b159a35ee207098d7f8"
],
"layout": "IPY_MODEL_993afd6cdf304385b8e05345ad2e6aac"
}
},
"2463975fcaf145a7b3dfab1bbf6d87fa": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_728108a17fd4492fbe0ee9dcc1b9e571",
"placeholder": "\u200b",
"style": "IPY_MODEL_3f23fa7279ff442ca29d0a3ec9be85c3",
"value": "tokenizer.json:\u2007100%"
}
},
"4c22fbee692b4bf3b02c17fa35b933b4": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_c2603ba630cb4951879a7a68bb5d793e",
"max": 711396,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_15fa875f1baf439291b3feff53581f65",
"value": 711396
}
},
"e96b3425e3904b159a35ee207098d7f8": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_2e71460319d44d7f8a4063f4d34a41ca",
"placeholder": "\u200b",
"style": "IPY_MODEL_caa5a4b1412b472bb16dc86307c72dd7",
"value": "\u2007711k/711k\u2007[00:00<00:00,\u200730.9MB/s]"
}
},
"993afd6cdf304385b8e05345ad2e6aac": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"728108a17fd4492fbe0ee9dcc1b9e571": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"3f23fa7279ff442ca29d0a3ec9be85c3": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"c2603ba630cb4951879a7a68bb5d793e": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"15fa875f1baf439291b3feff53581f65": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"2e71460319d44d7f8a4063f4d34a41ca": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"caa5a4b1412b472bb16dc86307c72dd7": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"94e289093d914fa3968924396ba4791c": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_8f82d19f3b2844de90b2d50bafe94168",
"IPY_MODEL_0262151b455b40f38e82d6f8c31ceceb",
"IPY_MODEL_dc6410f4fe8e48dd91496c74aeca27b8"
],
"layout": "IPY_MODEL_0d50201a9ab6426e8f3389e4335e7615"
}
},
"8f82d19f3b2844de90b2d50bafe94168": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_7c3af3cad74d42b68931adaafc454e9c",
"placeholder": "\u200b",
"style": "IPY_MODEL_9bc19722d0bc4ee5b450432da4b9bf15",
"value": "special_tokens_map.json:\u2007100%"
}
},
"0262151b455b40f38e82d6f8c31ceceb": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_06c714bcbd5348f6a80fe58cd021a292",
"max": 125,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_85cec57cd3724c9d97c712104a6b05c6",
"value": 125
}
},
"dc6410f4fe8e48dd91496c74aeca27b8": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_3e8d18c679a247b28102740b51002319",
"placeholder": "\u200b",
"style": "IPY_MODEL_dadaa06584324166adff0b28813a1cac",
"value": "\u2007125/125\u2007[00:00<00:00,\u20079.24kB/s]"
}
},
"0d50201a9ab6426e8f3389e4335e7615": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"7c3af3cad74d42b68931adaafc454e9c": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"9bc19722d0bc4ee5b450432da4b9bf15": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"06c714bcbd5348f6a80fe58cd021a292": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"85cec57cd3724c9d97c712104a6b05c6": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"3e8d18c679a247b28102740b51002319": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"dadaa06584324166adff0b28813a1cac": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"c8946e4e1952460bb3460d8073125070": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_7b91e26cecae48458f0133cc82d78e95",
"IPY_MODEL_ade7f497d97c4ea29845c1b60dc23b01",
"IPY_MODEL_8727b9037bec456d9c463214f431afca"
],
"layout": "IPY_MODEL_060f4ca93b7845bb8d7d752838824e4f"
}
},
"7b91e26cecae48458f0133cc82d78e95": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_d344568b091547fe88503afabf7577d1",
"placeholder": "\u200b",
"style": "IPY_MODEL_cd6a43494b714ab9b8485d3b94efc261",
"value": "config.json:\u2007100%"
}
},
"ade7f497d97c4ea29845c1b60dc23b01": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_2d2f337c06d0467eab9670abc811eda1",
"max": 190,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_1efb4f2a83f14cd1a12b8be95c66b760",
"value": 190
}
},
"8727b9037bec456d9c463214f431afca": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_6b75a06e253546d6be1d3a50e925f0ed",
"placeholder": "\u200b",
"style": "IPY_MODEL_f653b7b1da5f44849efc393dcb0fcb2d",
"value": "\u2007190/190\u2007[00:00<00:00,\u200716.5kB/s]"
}
},
"060f4ca93b7845bb8d7d752838824e4f": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"d344568b091547fe88503afabf7577d1": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"cd6a43494b714ab9b8485d3b94efc261": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"2d2f337c06d0467eab9670abc811eda1": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"1efb4f2a83f14cd1a12b8be95c66b760": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"6b75a06e253546d6be1d3a50e925f0ed": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"f653b7b1da5f44849efc393dcb0fcb2d": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"d77174a16bf4478c925b498bb98cf4ad": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_71223cd73d094703a0874288a1bd3a76",
"IPY_MODEL_ee8932595507486fbc20de247dc4d6f0",
"IPY_MODEL_8be83f6a7c714cfe897624857a6b2836"
],
"layout": "IPY_MODEL_97bad62693af400eb3cb4458c39b8b72"
}
},
"71223cd73d094703a0874288a1bd3a76": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_724e39be1c9c47bc843a7950a82e1f52",
"placeholder": "\u200b",
"style": "IPY_MODEL_0047acc76b9949489674ebffabd8f653",
"value": "Batches:\u2007100%"
}
},
"ee8932595507486fbc20de247dc4d6f0": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_072a82506f1f4a93a78fda5fd8659cec",
"max": 79,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_68678e8212bd40999aff62cc30cd6a78",
"value": 79
}
},
"8be83f6a7c714cfe897624857a6b2836": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_e1e8da41183e4777a81f03a1318bd3c0",
"placeholder": "\u200b",
"style": "IPY_MODEL_33818798908342df813e0e01b82dd6a0",
"value": "\u200779/79\u2007[06:04<00:00,\u2007\u20071.46s/it]"
}
},
"97bad62693af400eb3cb4458c39b8b72": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"724e39be1c9c47bc843a7950a82e1f52": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"0047acc76b9949489674ebffabd8f653": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"072a82506f1f4a93a78fda5fd8659cec": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"68678e8212bd40999aff62cc30cd6a78": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"e1e8da41183e4777a81f03a1318bd3c0": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"33818798908342df813e0e01b82dd6a0": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"f76f0afd32214f8b8bb3c7df6cf320df": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_165c0f7283254d6994813d08222ff306",
"IPY_MODEL_137b75a050a94906848cb7855333d2ba",
"IPY_MODEL_82b441f571024b258b2457ce75038d5d"
],
"layout": "IPY_MODEL_700099a9c5234133a1e10931814d6845"
}
},
"165c0f7283254d6994813d08222ff306": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_0e940c11ff024e1b85a3effce774c9d9",
"placeholder": "\u200b",
"style": "IPY_MODEL_b490a11a49a542bb8d0f85eec6063e6f",
"value": "Batches:\u2007100%"
}
},
"137b75a050a94906848cb7855333d2ba": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_5cee594612314c98a1d6f2a791a08bfd",
"max": 79,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_0ad08fdc68074d6192dd2785a243f7db",
"value": 79
}
},
"82b441f571024b258b2457ce75038d5d": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_8ad997ebc691439780fa6fc17dabd3e8",
"placeholder": "\u200b",
"style": "IPY_MODEL_7be00d2ab06b46a69d8ab8d6dff1fa19",
"value": "\u200779/79\u2007[16:06<00:00,\u2007\u20072.36s/it]"
}
},
"700099a9c5234133a1e10931814d6845": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"0e940c11ff024e1b85a3effce774c9d9": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"b490a11a49a542bb8d0f85eec6063e6f": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"5cee594612314c98a1d6f2a791a08bfd": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"0ad08fdc68074d6192dd2785a243f7db": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"8ad997ebc691439780fa6fc17dabd3e8": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"7be00d2ab06b46a69d8ab8d6dff1fa19": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
}
}
}
},
"cells": [
{
"cell_type": "markdown",
"source": [
"# AIMLCZG521 \u2014 Conversational AI\n",
"### Assignment 1 - PS2 - Hybrid Retrieval for Financial Conversational Question Answering\n",
"**Group:** 61\n",
"| Sr. No. | Name | ID |\n",
"| :---: | :--- | :---: |\n",
"| 1 | MAYUR INGLE | 2024ac05106 |\n",
"| 2 | BARHATE LOKESHWAR BHAGWAT | 2024ac05004 |\n",
"| 3 | MOHIT PUNDLIK HEDAOO | 2024ac05565 |\n",
"| 4 | PALLAVI VERMA | 2024ac05016 |\n",
"\n",
"\n",
"**Problem Statement 2** \u2014 Build a Financial Domain Hybrid Search QA System combining sparse (BM25/TF-IDF) and dense (embeddings) retrieval to answer finance-related queries.\n",
"\n",
"**Dataset:** FiQA-2018 (Financial Intelligence over Questions and Answers) \n",
"**Source:** https://huggingface.co/datasets/pauri32/fiqa-2018\n",
"\n",
"The system covers the full pipeline \u2014 data cleaning, sparse retrieval, semantic retrieval, hybrid fusion using RRF, a conversational QA interface, and evaluation using standard IR metrics."
],
"metadata": {
"id": "4Jcm9JLs4vvw"
}
},
{
"cell_type": "code",
"source": [
"# installing all required libraries\n",
"# rank_bm25 for sparse retrieval, faiss for vector indexing, sentence-transformers for embeddings\n",
"# datasets to load fiqa from huggingface, nltk for text preprocessing\n",
"\n",
"!pip install rank_bm25 faiss-cpu sentence-transformers datasets nltk -q"
],
"metadata": {
"id": "okqGgFyU40jZ"
},
"execution_count": 15,
"outputs": []
},
{
"cell_type": "code",
"source": [
"import re\n",
"import string\n",
"import numpy as np\n",
"import pandas as pd\n",
"import nltk\n",
"import warnings\n",
"warnings.filterwarnings('ignore')\n",
"\n",
"from datasets import load_dataset\n",
"from rank_bm25 import BM25Okapi\n",
"from sentence_transformers import SentenceTransformer, util\n",
"from sklearn.metrics.pairwise import cosine_similarity\n",
"import faiss\n",
"from nltk.corpus import stopwords\n",
"from nltk.tokenize import word_tokenize\n",
"from collections import defaultdict\n",
"import time\n",
"\n",
"nltk.download('punkt', quiet=True)\n",
"nltk.download('stopwords', quiet=True)\n",
"nltk.download('punkt_tab', quiet=True)\n",
"\n",
"print(\"all imports done\")"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "KjoKy4Ak43oD",
"outputId": "d59cb64a-a54a-4c82-ac9a-13dca04fb5a6"
},
"execution_count": 16,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"all imports done\n"
]
}
]
},
{
"cell_type": "markdown",
"source": [
"## Module 1: Data Preparation & Sparse Retrieval\n",
"\n",
"### Task 1 \u2014 Data Cleaning and Preparation\n",
"\n",
"We're using FiQA-2018 (BEIR version) \u2014 a financial QA dataset from Stack Exchange and Reddit finance threads. It has three parts: a corpus of passages, a set of questions, and qrels (relevance judgments that tell us which passage answers which question).\n",
"\n",
"Before indexing anything, we need to clean the raw text. Financial text is quite noisy \u2014 there are URLs, HTML leftovers, ticker symbols like $TSLA, abbreviations like P/E and CAGR, and inconsistent casing. All of this can hurt both BM25 (bad tokenization) and embeddings (noisy input)."
],
"metadata": {
"id": "wDPbMXci4515"
}
},
{
"cell_type": "code",
"source": [
"# pauri32/fiqa-2018 turned out to be the sentiment split, not the retrieval split\n",
"# using the correct BEIR version of FiQA which has corpus, queries and qrels\n",
"# BEIR (Benchmarking IR) is the standard benchmark used in retrieval research\n",
"\n",
"print(\"loading FiQA retrieval dataset from BEIR...\")\n",
"dataset = load_dataset(\"BeIR/fiqa\", \"corpus\")\n",
"print(dataset)\n",
"print(\"\\nfirst corpus entry:\")\n",
"print(dataset['corpus'][0])\n",
"\n",
"# loading queries separately\n",
"queries_dataset = load_dataset(\"BeIR/fiqa\", \"queries\")\n",
"print(queries_dataset)\n",
"print(\"\\nfirst query:\")\n",
"print(queries_dataset['queries'][0])\n",
"\n",
"# loading the qrels (relevance judgments) - needed for evaluation later\n",
"# qrels tell us which corpus doc is the correct answer for each query\n",
"qrels_dataset = load_dataset(\"BeIR/fiqa-qrels\")\n",
"print(qrels_dataset)\n",
"print(\"\\nfirst qrel entry:\")\n",
"print(qrels_dataset['train'][0])"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "oH_mW5gz49na",
"outputId": "a1c5c31c-2856-4f14-976b-7aacb146b4fd"
},
"execution_count": 17,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"loading FiQA retrieval dataset from BEIR...\n",
"DatasetDict({\n",
" corpus: Dataset({\n",
" features: ['_id', 'title', 'text'],\n",
" num_rows: 57638\n",
" })\n",
"})\n",
"\n",
"first corpus entry:\n",
"{'_id': '3', 'title': '', 'text': \"I'm not saying I don't like the idea of on-the-job training too, but you can't expect the company to do that. Training workers is not their job - they're building software. Perhaps educational systems in the U.S. (or their students) should worry a little about getting marketable skills in exchange for their massive investment in education, rather than getting out with thousands in student debt and then complaining that they aren't qualified to do anything.\"}\n",
"DatasetDict({\n",
" queries: Dataset({\n",
" features: ['_id', 'title', 'text'],\n",
" num_rows: 6648\n",
" })\n",
"})\n",
"\n",
"first query:\n",
"{'_id': '0', 'title': '', 'text': 'What is considered a business expense on a business trip?'}\n",
"DatasetDict({\n",
" train: Dataset({\n",
" features: ['query-id', 'corpus-id', 'score'],\n",
" num_rows: 14166\n",
" })\n",
" validation: Dataset({\n",
" features: ['query-id', 'corpus-id', 'score'],\n",
" num_rows: 1238\n",
" })\n",
" test: Dataset({\n",
" features: ['query-id', 'corpus-id', 'score'],\n",
" num_rows: 1706\n",
" })\n",
"})\n",
"\n",
"first qrel entry:\n",
"{'query-id': 0, 'corpus-id': 18850, 'score': 1}\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"# converting all three to dataframes and doing a quick sanity check\n",
"\n",
"corpus_df = pd.DataFrame(dataset['corpus'])\n",
"queries_df = pd.DataFrame(queries_dataset['queries'])\n",
"qrels_df = pd.DataFrame(qrels_dataset['train']) # using train qrels for evaluation\n",
"\n",
"print(\"corpus shape:\", corpus_df.shape)\n",
"print(\"queries shape:\", queries_df.shape)\n",
"print(\"qrels shape:\", qrels_df.shape)\n",
"\n",
"print(\"\\ncorpus columns:\", corpus_df.columns.tolist())\n",
"print(\"queries columns:\", queries_df.columns.tolist())\n",
"print(\"qrels columns:\", qrels_df.columns.tolist())\n",
"\n",
"print(\"\\ncorpus sample:\")\n",
"print(corpus_df.head(2))\n",
"\n",
"print(\"\\nqueries sample:\")\n",
"print(queries_df.head(2))\n",
"\n",
"print(\"\\nqrels sample:\")\n",
"print(qrels_df.head(3))"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "Bv8BFoVy6Tnb",
"outputId": "66a8a7ba-6346-4746-ad7c-c192d9f71ec3"
},
"execution_count": 18,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"corpus shape: (57638, 3)\n",
"queries shape: (6648, 3)\n",
"qrels shape: (14166, 3)\n",
"\n",
"corpus columns: ['_id', 'title', 'text']\n",
"queries columns: ['_id', 'title', 'text']\n",
"qrels columns: ['query-id', 'corpus-id', 'score']\n",
"\n",
"corpus sample:\n",
" _id title text\n",
"0 3 I'm not saying I don't like the idea of on-the...\n",
"1 31 So nothing preventing false ratings besides ad...\n",
"\n",
"queries sample:\n",
" _id title text\n",
"0 0 What is considered a business expense on a bus...\n",
"1 4 Business Expense - Car Insurance Deductible Fo...\n",
"\n",
"qrels sample:\n",
" query-id corpus-id score\n",
"0 0 18850 1\n",
"1 4 196463 1\n",
"2 5 69306 1\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"# --- preprocessing pipeline ---\n",
"# keeping it practical - finance text has $ signs, % symbols, abbreviations\n",
"# we clean noise but don't destroy domain-specific tokens\n",
"\n",
"stop_words = set(stopwords.words('english'))\n",
"\n",
"def clean_text(text):\n",
" if not isinstance(text, str) or text.strip() == '':\n",
" return ''\n",
"\n",
" # remove html tags if any\n",
" text = re.sub(r'<[^>]+>', ' ', text)\n",
"\n",
" # remove urls\n",
" text = re.sub(r'http\\S+|www\\S+', ' ', text)\n",
"\n",
" # lowercase\n",
" text = text.lower()\n",
"\n",
" # remove special chars except alphanumeric, spaces, and basic punctuation\n",
" # keeping % and . because \"10%\" and \"p.e ratio\" matter in finance\n",
" text = re.sub(r'[^a-z0-9\\s\\.\\%]', ' ', text)\n",
"\n",
" # normalize whitespace\n",
" text = re.sub(r'\\s+', ' ', text).strip()\n",
"\n",
" return text\n",
"\n",
"def tokenize_for_bm25(text):\n",
" # simple whitespace tokenize after cleaning, remove stopwords\n",
" tokens = text.split()\n",
" tokens = [t for t in tokens if t not in stop_words and len(t) > 1]\n",
" return tokens\n",
"\n",
"# apply cleaning to corpus\n",
"print(\"cleaning corpus...\")\n",
"corpus_df['clean_text'] = corpus_df['text'].apply(clean_text)\n",
"\n",
"# combine title + text where title is available (some entries have empty title)\n",
"corpus_df['full_text'] = corpus_df.apply(\n",
" lambda row: (row['title'] + ' ' + row['text']).strip() if row['title'] else row['text'],\n",
" axis=1\n",
")\n",
"corpus_df['clean_full_text'] = corpus_df['full_text'].apply(clean_text)\n",
"\n",
"# tokenize for bm25\n",
"corpus_df['tokens'] = corpus_df['clean_full_text'].apply(tokenize_for_bm25)\n",
"\n",
"# filter out empty docs\n",
"before = len(corpus_df)\n",
"corpus_df = corpus_df[corpus_df['tokens'].apply(len) > 3].reset_index(drop=True)\n",
"after = len(corpus_df)\n",
"\n",
"print(f\"removed {before - after} near-empty documents\")\n",
"print(f\"final corpus size: {after}\")\n",
"print(\"\\nsample cleaned entry:\")\n",
"print(\"original:\", corpus_df['text'][0][:200])\n",
"print(\"\\ncleaned:\", corpus_df['clean_full_text'][0][:200])\n",
"print(\"\\ntokens (first 15):\", corpus_df['tokens'][0][:15])"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "NwjaPPKf66fn",
"outputId": "2b9f3b86-dffe-4e37-bd8b-9642a0f183af"
},
"execution_count": 19,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"cleaning corpus...\n",
"removed 123 near-empty documents\n",
"final corpus size: 57515\n",
"\n",
"sample cleaned entry:\n",
"original: I'm not saying I don't like the idea of on-the-job training too, but you can't expect the company to do that. Training workers is not their job - they're building software. Perhaps educational systems\n",
"\n",
"cleaned: i m not saying i don t like the idea of on the job training too but you can t expect the company to do that. training workers is not their job they re building software. perhaps educational systems in\n",
"\n",
"tokens (first 15): ['saying', 'like', 'idea', 'job', 'training', 'expect', 'company', 'that.', 'training', 'workers', 'job', 'building', 'software.', 'perhaps', 'educational']\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"# quick stats on the cleaned corpus - good to report in analysis\n",
"\n",
"token_lengths = corpus_df['tokens'].apply(len)\n",
"print(\"token length stats (per document):\")\n",
"print(f\" mean: {token_lengths.mean():.1f}\")\n",
"print(f\" median: {token_lengths.median():.1f}\")\n",
"print(f\" min: {token_lengths.min()}\")\n",
"print(f\" max: {token_lengths.max()}\")\n",
"\n",
"# also clean queries\n",
"queries_df['clean_query'] = queries_df['text'].apply(clean_text)\n",
"queries_df['query_tokens'] = queries_df['clean_query'].apply(tokenize_for_bm25)\n",
"\n",
"print(f\"\\ntotal queries: {len(queries_df)}\")\n",
"print(\"\\nsample cleaned query:\")\n",
"print(\"original:\", queries_df['text'][0])\n",
"print(\"cleaned: \", queries_df['clean_query'][0])"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "Z-tus4re682I",
"outputId": "256d632e-d509-4754-e17e-f50abbed4609"
},
"execution_count": 20,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"token length stats (per document):\n",
" mean: 69.1\n",
" median: 47.0\n",
" min: 4\n",
" max: 1534\n",
"\n",
"total queries: 6648\n",
"\n",
"sample cleaned query:\n",
"original: What is considered a business expense on a business trip?\n",
"cleaned: what is considered a business expense on a business trip\n"
]
}
]
},
{
"cell_type": "markdown",
"source": [
"#### Task 1 Analysis\n",
"\n",
"Preprocessing matters here more than in typical NLP tasks because financial text mixes formal writing with community forum noise. Some specific issues we ran into:\n",
"\n",
"- Ticker symbols like $LNG or $AAPL get split weirdly by standard tokenizers after punctuation removal\n",
"- Abbreviations like NAV, SIP, CAGR are critical domain terms but look like noise to general pipelines\n",
"- Numbers and percentages (\"10%\", \"10 %\", \"ten percent\") represent the same thing but appear as different tokens\n",
"- Words like \"yield\", \"hedge\", \"spread\" mean something completely different in finance vs general English \u2014 pretrained models can get confused\n",
"\n",
"We decided to keep percentage signs and dots during cleaning since \"10%\" and \"P.E\" carry meaning, but strip everything else noisy. Stopword removal helps reduce noise but we were careful not to remove finance-relevant short tokens."
],
"metadata": {
"id": "76umiSHc6_9Q"
}
},
{
"cell_type": "markdown",
"source": [
"## Task 2 \u2014 Sparse Search System (BM25)\n",
"\n",
"BM25 (Best Match 25) is the industry standard for keyword-based retrieval. It improves over TF-IDF by adding two things:\n",
"- **Term frequency saturation** \u2014 repeated terms don't keep adding score linearly, they plateau\n",
"- **Document length normalization** \u2014 longer documents don't get unfair advantage\n",
"\n",
"BM25 formula for a query Q and document D:\n",
"\n",
"$$Score(D, Q) = \\sum_{i=1}^{n} IDF(q_i) \\cdot \\frac{f(q_i, D) \\cdot (k_1 + 1)}{f(q_i, D) + k_1 \\cdot (1 - b + b \\cdot \\frac{|D|}{avgdl})}$$\n",
"\n",
"where k1 controls term frequency saturation (typically 1.2\u20132.0) and b controls length normalization (typically 0.75).\n",
"\n",
"We build a BM25 index over the entire FiQA corpus and retrieve Top-K passages for financial queries."
],
"metadata": {
"id": "nZi0CGU4_t_B"
}
},
{
"cell_type": "code",
"source": [
"# building the BM25 index over cleaned+tokenized corpus\n",
"# BM25Okapi is the standard okapi BM25 implementation in rank_bm25\n",
"\n",
"print(\"building BM25 index...\")\n",
"start = time.time()\n",
"\n",
"bm25 = BM25Okapi(corpus_df['tokens'].tolist())\n",
"\n",
"elapsed = time.time() - start\n",
"print(f\"BM25 index built in {elapsed:.2f}s\")\n",
"print(f\"indexed {len(corpus_df)} documents\")\n",
"print(f\"vocabulary size: {len(bm25.idf)}\")"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "aisHyb_Y_vx6",
"outputId": "49d1861b-e4a6-44ec-a2c4-7215243c6050"
},
"execution_count": 21,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"building BM25 index...\n",
"BM25 index built in 1.82s\n",
"indexed 57515 documents\n",
"vocabulary size: 95265\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"# BM25 retrieval function\n",
"# takes a raw query string, returns top-k (doc_id, score) pairs\n",
"\n",
"def bm25_retrieve(query, top_k=10):\n",
" tokens = tokenize_for_bm25(clean_text(query))\n",
" scores = bm25.get_scores(tokens)\n",
"\n",
" # get top-k indices sorted by score descending\n",
" top_indices = np.argsort(scores)[::-1][:top_k]\n",
"\n",
" results = []\n",
" for idx in top_indices:\n",
" results.append({\n",
" 'doc_id': corpus_df.iloc[idx]['_id'],\n",
" 'score': scores[idx],\n",
" 'text': corpus_df.iloc[idx]['text'][:300] # preview\n",
" })\n",
" return results\n",
"\n",
"# test with a sample finance query\n",
"test_query = \"What is the difference between CAGR and ROI?\"\n",
"print(f\"query: {test_query}\")\n",
"print(\"=\"*60)\n",
"\n",
"results = bm25_retrieve(test_query, top_k=5)\n",
"for i, r in enumerate(results):\n",
" print(f\"\\nRank {i+1} | doc_id: {r['doc_id']} | score: {r['score']:.4f}\")\n",
" print(f\"text: {r['text']}...\")"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "DgVkA4dN_xvc",
"outputId": "d3606f77-166d-43a3-cb22-9b603e2a7555"
},
"execution_count": 22,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"query: What is the difference between CAGR and ROI?\n",
"============================================================\n",
"\n",
"Rank 1 | doc_id: 178501 | score: 16.1895\n",
"text: I would not claim to be a personal expert in rental property. I do have friends and family and acquaintances who run rental units for additional income and/or make a full time living at the rental business. As JoeTaxpayer points out, rentals are a cash-eating business. You need to have enough liqui...\n",
"\n",
"Rank 2 | doc_id: 181013 | score: 12.3887\n",
"text: See the Moneychimp site. From 1934 to 2006, the S&P returned an 'average' 12.81%. But the CAGR was 11.26%. I wrote an article Average Return vs Compound Annual Growth to address this issue. Interesting that over time only a few funds have managed to get anywhere near this return, but the low cost ...\n",
"\n",
"Rank 3 | doc_id: 12351 | score: 11.8269\n",
"text: I wrote a detailed article on Tax Loss Harvesting to show the impact on returns. For my example, I showed a person in the 15% bracket. In years with no loss, they trade to capture gains at 0% long term rate, thus bumping their basis up. In years with losses, they tax harvest for a 15% effective 're...\n",
"\n",
"Rank 4 | doc_id: 89509 | score: 11.5484\n",
"text: If you are calculating simple ROI, the answer is straightforward math. See This Answer for some examples, but yes, with more leverage you will always see better ROI on a property IF you can maintain a positive cash flow. The most complete answer is to factor in your total risk. That high ROI of a ...\n",
"\n",
"Rank 5 | doc_id: 37987 | score: 11.4088\n",
"text: \"My experience is in economics, so it may differ from an accounting or personal finance perspective somewhat; that being said, I find it perfectly acceptable to use a term like CAGR when the rate is positive or negative. Economists talk about negative growth rates all the time, and it's universally ...\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"# testing with a few more finance queries to see how BM25 behaves\n",
"\n",
"test_queries = [\n",
" \"How does inflation affect stock markets?\",\n",
" \"What are the risks of mutual fund investments?\",\n",
" \"How to calculate compound interest?\",\n",
" \"What is dollar cost averaging?\"\n",
"]\n",
"\n",
"for q in test_queries:\n",
" print(f\"\\nQuery: {q}\")\n",
" print(\"-\" * 50)\n",
" res = bm25_retrieve(q, top_k=3)\n",
" for i, r in enumerate(res):\n",
" print(f\" Rank {i+1} [score: {r['score']:.3f}]: {r['text'][:150]}...\")"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "tX8qY6Av_zix",
"outputId": "78bff047-def9-418e-bdfd-969097c60d9a"
},
"execution_count": 23,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"\n",
"Query: How does inflation affect stock markets?\n",
"--------------------------------------------------\n",
" Rank 1 [score: 15.615]: \"Inflation as defined in the general, has many impacts at a personal level. For example, you say that the reduction in the price of oil has no impact ...\n",
" Rank 2 [score: 15.162]: The relation between inflation and stock (or economic) performance is not well-understood. Decades ago, economists thought inflation corresponded wit...\n",
" Rank 3 [score: 14.840]: The principle behind the advice to not throw good money after bad is better restated in economics terms: sunk costs are sunk and irrelevant to today's...\n",
"\n",
"Query: What are the risks of mutual fund investments?\n",
"--------------------------------------------------\n",
" Rank 1 [score: 18.163]: \"Your \"\"money market\"\" is cash or a \"\"sweep account\"\" that your broker is holding for you and on which the broker is paying you interest. The mutual ...\n",
" Rank 2 [score: 16.947]: The main difference between an ETF and a Mutual Fund is Management. An ETF will track a specific index with NO manager input. A Mutual Fund has a mana...\n",
" Rank 3 [score: 15.882]: Many mutual fund companies (including Vanguard when I checked many years ago) require smaller minimum investments (often $1000) for IRA and 401k accou...\n",
"\n",
"Query: How to calculate compound interest?\n",
"--------------------------------------------------\n",
" Rank 1 [score: 17.525]: \"When we talk about compounding, we usually think about interest payments. If you have a deposit in a savings account that is earning compound interes...\n",
" Rank 2 [score: 14.633]: \"You'd have to look at the terms of the loan to be sure, but if the interest compounds weekly then you'd have to calculate the effect of 3 compounding...\n",
" Rank 3 [score: 14.116]: 1a. It isn't. Compound interest is compound interest. It works no different within a 401(k). 1b. Yes. 401(k)'s are made up of the same underlying asse...\n",
"\n",
"Query: What is dollar cost averaging?\n",
"--------------------------------------------------\n",
" Rank 1 [score: 22.015]: In general, lump sum investing will tend to outperform dollar cost averaging because markets tend to increase in value, so investing more money earlie...\n",
" Rank 2 [score: 21.215]: If you define dollar cost cost averaging as investing a specific dollar amount over a certain fixed time frame then it does not work statistically bet...\n",
" Rank 3 [score: 21.096]: Sounds like you're doing fine, though somewhat fuzzy: how are you allocating the $500/month? Are you doing dollar cost averaging into funds, accumulat...\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"# let's also check what happens with a finance-specific abbreviation query\n",
"# this is where BM25 either shines (exact match) or fails (vocabulary mismatch)\n",
"\n",
"abbrev_queries = [\n",
" \"What is NAV in mutual funds?\", # NAV = Net Asset Value, exact term match - BM25 should do well\n",
" \"Explain P/E ratio for stock valuation\", # P/E might get split weirdly after cleaning\n",
" \"risks in SIP investment\" # SIP = Systematic Investment Plan\n",
"]\n",
"\n",
"print(\"testing abbreviation/domain-term queries:\")\n",
"print(\"(these expose BM25 vocabulary mismatch issues)\\n\")\n",
"\n",
"for q in abbrev_queries:\n",
" res = bm25_retrieve(q, top_k=1)\n",
" print(f\"Query: {q}\")\n",
" if res and res[0]['score'] > 0:\n",
" print(f\" top result score: {res[0]['score']:.4f}\")\n",
" print(f\" preview: {res[0]['text'][:200]}...\")\n",
" else:\n",
" print(\" no relevant match found (score = 0) \u2014 vocabulary mismatch!\")\n",
" print()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "f-FEz-a7_0zJ",
"outputId": "8ec70960-8317-4727-d06c-5d5a3637b6d9"
},
"execution_count": 24,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"testing abbreviation/domain-term queries:\n",
"(these expose BM25 vocabulary mismatch issues)\n",
"\n",
"Query: What is NAV in mutual funds?\n",
" top result score: 21.2460\n",
" preview: This idea does not make sense for most mutual funds. The net asset value, or NAV, is the current market value of a fund's holdings, minus the fund's liabilities, that is usually expressed as a per-sha...\n",
"\n",
"Query: Explain P/E ratio for stock valuation\n",
" top result score: 19.0852\n",
" preview: \"To perhaps better explain the \"\"why\"\" behind this rule of thumb, first think of what it means when the P/E ratio changes. If the P/E ratio increases, then this means the stock has become more expens...\n",
"\n",
"Query: risks in SIP investment\n",
" top result score: 14.5528\n",
" preview: \"Yes, the \"\"speed bump\"\" explicitly can not impact the reports to the SIP. Two years ago this would not be a big deal, because the SIP was stupidly slow, especially under load. So, you send your repor...\n",
"\n"
]
}
]
},
{
"cell_type": "markdown",
"source": [
"#### Task 2 Analysis\n",
"\n",
"BM25 works really well when the query uses the exact same words as the document. For finance queries with specific terms like \"CAGR\", \"NAV\", or \"401k\", it picks up matches reliably and is extremely fast.\n",
"\n",
"The problem shows up with paraphrased queries. If someone asks \"how do I grow my savings over time\", BM25 scores near zero for a document that talks about \"compound interest and long-term returns\" \u2014 no shared tokens, no match. This vocabulary mismatch is the core limitation.\n",
"\n",
"After cleaning, abbreviations like \"P/E\" become \"p e\" (two tokens), which further reduces matching precision. Overall BM25 is a strong baseline for keyword-heavy queries but clearly needs semantic support for the kind of natural language questions users actually ask."
],
"metadata": {
"id": "KU-eZbfj_2jC"
}
},
{
"cell_type": "markdown",
"source": [
"## Module 2: Embeddings & Hybrid Retrieval\n",
"\n",
"### Task 3 \u2014 Semantic Retrieval using Sentence Embeddings\n",
"\n",
"Unlike BM25 which matches exact keywords, dense retrieval converts text into dense vector representations (embeddings) where semantically similar texts are close to each other in vector space.\n",
"\n",
"For example \u2014 \"how do I grow my savings\" and \"compound interest strategies\" will have high cosine similarity even though they share zero words.\n",
"\n",
"We experiment with two embedding models as required:\n",
"- **Model 1:** `all-MiniLM-L6-v2` \u2014 lightweight, fast, general purpose (22M params)\n",
"- **Model 2:** `BAAI/bge-small-en-v1.5` \u2014 stronger retrieval-tuned model, trained with contrastive learning specifically for passage retrieval\n",
"\n",
"We also compare two similarity metrics:\n",
"- **Cosine similarity** \u2014 measures angle between vectors, scale-invariant\n",
"- **Dot product** \u2014 faster, but sensitive to vector magnitude\n",
"\n",
"Embeddings are stored in a FAISS index for efficient similarity search."
],
"metadata": {
"id": "yNz8FlQrAFVb"
}
},
{
"cell_type": "code",
"source": [
"# loading both embedding models\n",
"# MiniLM is fast and good for general use\n",
"# BGE (BAAI General Embeddings) is specifically tuned for retrieval tasks\n",
"\n",
"print(\"loading embedding models...\")\n",
"\n",
"model_minilm = SentenceTransformer('all-MiniLM-L6-v2')\n",
"print(\"model 1 loaded: all-MiniLM-L6-v2\")\n",
"\n",
"model_bge = SentenceTransformer('BAAI/bge-small-en-v1.5')\n",
"print(\"model 2 loaded: BAAI/bge-small-en-v1.5\")\n",
"\n",
"print(\"\\nmodel 1 embedding dim:\", model_minilm.get_sentence_embedding_dimension())\n",
"print(\"model 2 embedding dim:\", model_bge.get_sentence_embedding_dimension())"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000,
"referenced_widgets": [
"8358ead3b03843bfad3eb1d7de84d76e",
"81289d689f024e2ea5b1802e13fcd372",
"5010ca4ea904458dba18511c474c6394",
"f75b83496a40432ab4a20c5c8bfc172e",
"eee11412de54486eaf2cc3fa9255138b",
"c1aaabcf76ab464f8905a76eb8b58c68",
"98232aaf585442f6b9a69644afc9aa83",
"37c722a07b7a41838012c7f1d16320db",
"fd5998c057eb4ad0b66bb58077e3a974",
"fa86e5ef90374ae09a9ece9e39e113fa",
"4a20e449211e42899228414efd422a28",
"ea1c5fdc34b24551b79e52abd72ccc31",
"fa93ae01b57d46c1ad629feed31df436",
"1f8a017d310348dba47c73faa508d139",
"ae932d6bf8f0481eb83493d91a76821d",
"b18f3f2afc4c4841ae9ab844c0f8fee1",
"0f185d0f5003409ca20b49ac32ca2582",
"9a863f33275048e0979a76129a378219",
"e0ea1b8cb3714a9483339c293acf8b1d",
"e6cccf72a6444e1faeb919a9785b1931",
"dc5f4a096f9a4617a09943a61830d731",
"8a4edcd38c7a40138f637d9e6cb41620",
"0e62d4cf79494e039b4e0bca7b5d60f8",
"86fd9b6b9b574c4e844c033be914b26c",
"e0c54ff6afd14c99a5408ec23d94f682",
"1d5bee82f0d949398cd17820d6b2d63a",
"0dc4e8e324bd48339843a3e8eaf3fae4",
"d7d5ea7d1e444834999b797cff686e23",
"828fba7d17f04d4fb92cc104b4dec09a",
"99a7d171e9614feca280bec888d7b07a",
"1f1ab315be504d2bb47881e13cabc0dc",
"64750221276f42d890f216360a4dfd99",
"cf654cb2e94b41ef9b61daa3c4e7dde0",
"09c80a2fe5a0421bbb189a9f9271332d",
"3641e578021f4541897a3c74a8245b3a",
"e640e8d7c45d46c0b977d3afa0a44f3c",
"9a05802c13cd4f56a645b54a3150472c",
"eb5afe75f53c4058accedacdc9cf24ad",
"05c854d81a7e4207b1e48cea087b1525",
"f15ea5808fc44a7c8991b47712587a0b",
"be47a30c02654dcbb6a809c17b641540",
"aaf537d1d9c7451ba3930d909cee1bde",
"11e1bec541db4edeb529194b189e7286",
"020e88d0bf6b4bd6b0bd25a476d6789d",
"d2b58312e0bf4751b27c25efd5ad1949",
"5ec5195337f041c5b96ec74bfec0abf9",
"b602b76b69e0491db0c4d5a56a526162",
"7dc099284eae4034a9ef65ca2bbf7834",
"5c80f987800947d6b054804c92dedcb9",
"494c2310f1cd41a79a2f0ca1b0a247ee",
"863b0674ca7841bdbf9241e34e15a4d8",
"3f710fb9db174b0e95214071ccdf6a45",
"8d5c31a0f28040569c15aedcb52e2f0a",
"a7aa494212c146f9a570cbe2d0aed383",
"fd278b57501848b688f93f4c00a8a69f",
"d30fe156f11e4ac2b5991860e3534153",
"2c60724b3faf42a4bead33be335a9dec",
"ed4a610d311d46d7bec2054681c28dad",
"8dbecb2308f74c0e8ca04be0f9a57548",
"53249273a414402fbd9f48e7ff169e86",
"c501b8b24a724b12a91ef74e3783e464",
"d3217abbf1c444398782598929e1f97d",
"60f36778e36e4e8f8e10555aaece157d",
"7b2f46b14dea4f1dab2d4763c3510d8a",
"864295fa5c064006a109b3f00b07d46a",
"b675bcec86bc467d958cd5a6e3fb580c",
"7a697067e2864dff8ba2ad47fc0bad60",
"1ee442ad8a2743b49e21e3b54345f1bc",
"9ba32f46128d4d69998aeb15b6c79e21",
"cf83cb30f0774342b5101216a211683e",
"bd2303b2c8e049ca8d5f6d85b82ad513",
"31afdb39c1f54d7da31013b932e8c0ae",
"5d5f20d035204f6a85600cac05f728b3",
"8427b49e5e544868a1fea869e43d39c7",
"349036de4a90497d80fb75e3bb62c968",
"6c70a8fd0c754aa6892cab123fb5431b",
"b421635068d748ba96929d8579577960",
"78e09ff1e6a04ae78021bb4194a7358a",
"8f36be9600ab435c8b853548d325a82a",
"dd65bbe3d3e94ff8801b6ecca06489f1",
"c8a30db7f0ff42d297c8f21b74f39b9a",
"10b4ad3a19fd43b49c8b24afd850db61",
"3607f55711784293a3c8842630c48119",
"3f5307ed7a5843bb9462da6ccec05253",
"02ed280e9d2f4735b32574c36bc49ba9",
"a4ecfc1e1854440a85d041e551859274",
"5c4c99271493408dbc0c7a250d6065e7",
"770dcae13c6b4d7088e035c2f55dfa36",
"f002d492539e44c7b95da436ba5a2722",
"1d4df593e7824d0d85aa92a31110ea02",
"ae6c7a56134f4a08908fe642381cfb17",
"947677b0154c42898d2c9fdc37a79916",
"992acfb59ed34ba1920f365e98f88bab",
"3428ec12bd6f4dffacae14113a499d31",
"f464bcf6a2e348d599ee13c235595f30",
"9858cb89f3754466ad7748ec15ce7151",
"718b71ad5b434f829e1f6d8a6cc60098",
"84bb668d88a449329f5d2668fb5835e8",
"1a91b6aed0c5447587a527affd735353",
"dbfd8b87eead4dda9b2d2fff0ecd0cbe",
"1e618fbfbc2f44598a00f8275307ea75",
"2049be1079e541e08c50a4607b9e2931",
"be8aa8580e314cb48d2790713aac25ab",
"78c22a71b68e40909fadd587af58cf76",
"64464d77d20143738cb07bf960c07dce",
"7efdf0035b3e46228287c816fae5b7ba",
"17f69e11e82d44839c6d1a6834b2f2dd",
"3833d2951d8041a0a17c6408a89918fa",
"35139d257f914aa5971bb3ff0d5327f8",
"bf07889aaffe4f869feb8f377f5cf90d",
"321b853747b64ef19f6c993ffb6cc26c",
"4304e6ba860f4c498c909c204d3f15c8",
"a29eb37b262844889259f69156ad296d",
"0d02e429504149e29bc1d0e600658aaa",
"3e70b4cdaec74fc8b244081af297e0bb",
"c7cc0598fc714130abd59592763ef538",
"18fd52c159024314aed97df4048a76f4",
"65a1198f47554a82b71eba7330a75b18",
"1531c2cd3f50469490a09918061b48b3",
"d414f76c107e4264b94b708c2e1edb5b",
"eb3ac57ff138418bac38c80c407184f4",
"8203097df31a4f43ba21219c06c8ba86",
"7fecd7e0525a4a95ae228ccfe5ca228c",
"475f0a2cec89423e9fdf0df24f676c64",
"7ef7784dcd784dc588e340aa4639de5e",
"c0fb261e94f94e2280e4d78d9b841408",
"12ed8d67509c45cbadf5e2bf9fcfddaa",
"c39b5e599e854740ad574dfa54246188",
"0b9c61499f55446a951bc95bfc5ee2d7",
"3370b4e703f04e91990f18ea76029cd4",
"9680feaee5494a6b84812186e124c12a",
"512492b62ae84ddcba2a60a869058bc7",
"f1ea7b1bc5f246e29e0dc22db65a63a2",
"491be97f94af45aebb7f16d435df8747",
"76d993d368204a6dbccfdb162a8653b4",
"5c55ae1c8c974c1ea90b694ff2881c86",
"14b9861b25bc4895ac5421f5b14ccd0b",
"d4c9a7abfb034d9d9a8498170bfe4fc2",
"6f990add4c0e4e999545ea53e7d0fd1a",
"97e367e4d3d94598ba90a16bd7692f63",
"6e6955f6c18445e681c1ea148d23ba90",
"364931abdd7f4792b570ff02c28add1f",
"3d3c890588a24bf18de5ab6a77b78492",
"9837b5c280b54936b472e22edfce7dc0",
"c56579c38f5b4b88985402f9dfd8ad1b",
"4812db0ea1934029a737634c0e045645",
"9d00d8a062e64cc2810d3334c34c8098",
"139e1c118ff540b09b101cf2aa8c8d34",
"80cfb47062bf4860bd94c9436f1cfa25",
"d6801eace7b3402e8697e8f9655ad781",
"794933e556b243ae912685eddd2d6eed",
"1d5b9cb89f2049eca83c1077cf89d728",
"0811352100e94d6f8e96283eeca332bc",
"ea67128531ba4833ba4e70e211425c3e",
"113d6ccf436e4d7e817937a433820b36",
"b1f2ba0d406c4fbab5ac70660ef3fd8d",
"a39c56d9aee345c39e88fa2b0c4943ad",
"b9ac082df7694cd891029f5230bf2e97",
"666127895025427e8c0f86e34428789a",
"28af39b788f1421498a38375d54e109e",
"f62f7d959a294972aa2b21744ad3381d",
"45d5ecd5b7974b71bd263ecec42b5629",
"a76343cf906b4dbda08055eec9aae912",
"ab6c871ecd9e4505b81a935d749234c7",
"0b839bb23d744f2c830b35b2cb84f222",
"105bcb1ed09642979ffa4283182d6c41",
"1f5fee856db84159877c7c8ba0cedb6a",
"87e9f1943fb84486a6b17aff26e17956",
"23980a2db868438e84533af471814ec5",
"fee0d090f8f6434d98375e7d4bfbfaa0",
"c91b865cb6724940aecfe507d625a79a",
"624bf68a41af4a54855bc7d7a0ec401b",
"7a34a13c12c24c568a0726613b2eade6",
"761c4cf9874640898ea60b0ba9bc06be",
"c2eafeff3d5a44a497b92be24bbd9313",
"7f66a81132aa4d38a00395135aaba87b",
"248012a412ad4854879cf87ff29fd181",
"162e640ec4da42c99f5dc2140de32280",
"39dbb0029125424d8f930c9c96846638",
"f6a94f7547344a93a42d8bce4debda87",
"3c476e9c3f3a4d01bd2bd64b28c1efc3",
"1d7fac2be66e40e3aa041f6e5c6c495b",
"ce9dbdde7d44460bb52013c26f58bc9f",
"fda5142a1e8a481e85ac127f6905f4cd",
"b45a7aa0eb594ce8801cd389b9a63cc9",
"6bc5bd4df57f4b5291fafed26c5d5e4c",
"e85d275ba9a74412aa1c3d8ee71ce626",
"915b0499b8f948d39cefc8c46b434391",
"7ed9dcbdffd64456866d22b06b22ea64",
"9a0d8fc96d16403a89142bfe6acf226e",
"1b77102d80d24f84b5d596f835da6cf4",
"12f1f30d669942f2a3c59bb79f97b9be",
"328a555751f044a6bd7688265c4fad14",
"0711965f418542a8887627b1ff7dba18",
"a563eedc021d456d9ec82ce1e363b882",
"82c0c308b989494cb1fccd09e7c6b0c9",
"4a6fd5c4801d45a0a0a5c02c5881c409",
"0954bb5f2aa143008781b662cb9966ed",
"18b7bbe6566d42229235b8b306ddc466",
"12de1cbebd304acda1dbb70654a468d5",
"542c31ec86f14d1192c2db8e01c5c1bb",
"d6eeccb71e45488d8a097e877ddca695",
"f804f09a08dc4070b4f630f0bb45c0e7",
"2fc2a7c3274a43dbad83a5928f3b5721",
"90fec68c01bc40999cbd1adfab240e42",
"c3e8b502765249858f847387a0c87cfd",
"23873c944360485aa985e6c77caf837f",
"d49e50d4a273449a83bea121e4aac979",
"bb446796a34444359a09a765f17e8c9c",
"4771903b6ab64b74be08d09b2f32b5ec",
"d755a93e43ec4292bfe198881fc1b79b",
"e1681ce8802f4f43ba98a32a2e8dd9b5",
"50621bdbcf03488dbac090ab53925cfd",
"a3ac984f17f14e1ebeb87b04a4edde0a",
"63d5d6370b9c42c6ac0cf1dd54d448ac",
"c8fde78ee3b94c8083756d4a32df4f14",
"5c05250980114e6cb9ae32f9628bab7b",
"8c50a18ae99d4a1cb56d7910c0686782",
"d7bddb1370a547e9b6437a9cdfcea89f",
"ecd312d927d24d91ad2e917756dc70aa",
"ae38e70c579449819c5c309339bf1f14",
"5663f432ab7d42248de5a11c825c02f6",
"79072463c15542ff898c43c45c7b48a6",
"de0666d7f2de46b8b223e19f834d3a02",
"cc07d65faf11473c9ffbfa50f7f54209",
"35d4ca43d2294075bf7b8eeac7417e84",
"ca57a3c1ee174040854e6c7280ba816b",
"b7788d5acd504ee38fe9e71eb6e12c15",
"01d2484655b34342bb056a03a01b9541",
"bc5515f0b49a48579afdfacc0d68dd88",
"8cdf1d1361294ebaa48c895c42f4bec1",
"2e85d2b3207f4d5f9dfd2d867063b286",
"2463975fcaf145a7b3dfab1bbf6d87fa",
"4c22fbee692b4bf3b02c17fa35b933b4",
"e96b3425e3904b159a35ee207098d7f8",
"993afd6cdf304385b8e05345ad2e6aac",
"728108a17fd4492fbe0ee9dcc1b9e571",
"3f23fa7279ff442ca29d0a3ec9be85c3",
"c2603ba630cb4951879a7a68bb5d793e",
"15fa875f1baf439291b3feff53581f65",
"2e71460319d44d7f8a4063f4d34a41ca",
"caa5a4b1412b472bb16dc86307c72dd7",
"94e289093d914fa3968924396ba4791c",
"8f82d19f3b2844de90b2d50bafe94168",
"0262151b455b40f38e82d6f8c31ceceb",
"dc6410f4fe8e48dd91496c74aeca27b8",
"0d50201a9ab6426e8f3389e4335e7615",
"7c3af3cad74d42b68931adaafc454e9c",
"9bc19722d0bc4ee5b450432da4b9bf15",
"06c714bcbd5348f6a80fe58cd021a292",
"85cec57cd3724c9d97c712104a6b05c6",
"3e8d18c679a247b28102740b51002319",
"dadaa06584324166adff0b28813a1cac",
"c8946e4e1952460bb3460d8073125070",
"7b91e26cecae48458f0133cc82d78e95",
"ade7f497d97c4ea29845c1b60dc23b01",
"8727b9037bec456d9c463214f431afca",
"060f4ca93b7845bb8d7d752838824e4f",
"d344568b091547fe88503afabf7577d1",
"cd6a43494b714ab9b8485d3b94efc261",
"2d2f337c06d0467eab9670abc811eda1",
"1efb4f2a83f14cd1a12b8be95c66b760",
"6b75a06e253546d6be1d3a50e925f0ed",
"f653b7b1da5f44849efc393dcb0fcb2d"
]
},
"id": "zTUPIR23AHdU",
"outputId": "430cbfdc-d03a-4dc0-f57c-3b41ed1a73bc"
},
"execution_count": 25,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"loading embedding models...\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"modules.json: 0%| | 0.00/349 [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "8358ead3b03843bfad3eb1d7de84d76e"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"config_sentence_transformers.json: 0%| | 0.00/116 [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "ea1c5fdc34b24551b79e52abd72ccc31"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"README.md: 0%| | 0.00/10.5k [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "0e62d4cf79494e039b4e0bca7b5d60f8"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"sentence_bert_config.json: 0%| | 0.00/53.0 [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "09c80a2fe5a0421bbb189a9f9271332d"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"config.json: 0%| | 0.00/612 [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "d2b58312e0bf4751b27c25efd5ad1949"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"model.safetensors: 0%| | 0.00/90.9M [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "d30fe156f11e4ac2b5991860e3534153"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Loading weights: 0%| | 0/103 [00:00<?, ?it/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "7a697067e2864dff8ba2ad47fc0bad60"
}
},
"metadata": {}
},
{
"output_type": "stream",
"name": "stderr",
"text": [
"BertModel LOAD REPORT from: sentence-transformers/all-MiniLM-L6-v2\n",
"Key | Status | | \n",
"------------------------+------------+--+-\n",
"embeddings.position_ids | UNEXPECTED | | \n",
"\n",
"Notes:\n",
"- UNEXPECTED\t:can be ignored when loading from different task/architecture; not ok if you expect identical arch.\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"tokenizer_config.json: 0%| | 0.00/350 [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "78e09ff1e6a04ae78021bb4194a7358a"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"vocab.txt: 0%| | 0.00/232k [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "f002d492539e44c7b95da436ba5a2722"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"tokenizer.json: 0%| | 0.00/466k [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "dbfd8b87eead4dda9b2d2fff0ecd0cbe"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"special_tokens_map.json: 0%| | 0.00/112 [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "321b853747b64ef19f6c993ffb6cc26c"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"config.json: 0%| | 0.00/190 [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "8203097df31a4f43ba21219c06c8ba86"
}
},
"metadata": {}
},
{
"output_type": "stream",
"name": "stdout",
"text": [
"model 1 loaded: all-MiniLM-L6-v2\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"modules.json: 0%| | 0.00/349 [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "f1ea7b1bc5f246e29e0dc22db65a63a2"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"config_sentence_transformers.json: 0%| | 0.00/124 [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "9837b5c280b54936b472e22edfce7dc0"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"README.md: 0%| | 0.00/94.8k [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "113d6ccf436e4d7e817937a433820b36"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"sentence_bert_config.json: 0%| | 0.00/52.0 [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "105bcb1ed09642979ffa4283182d6c41"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"config.json: 0%| | 0.00/743 [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "248012a412ad4854879cf87ff29fd181"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"model.safetensors: 0%| | 0.00/133M [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "915b0499b8f948d39cefc8c46b434391"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Loading weights: 0%| | 0/199 [00:00<?, ?it/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "18b7bbe6566d42229235b8b306ddc466"
}
},
"metadata": {}
},
{
"output_type": "stream",
"name": "stderr",
"text": [
"BertModel LOAD REPORT from: BAAI/bge-small-en-v1.5\n",
"Key | Status | | \n",
"------------------------+------------+--+-\n",
"embeddings.position_ids | UNEXPECTED | | \n",
"\n",
"Notes:\n",
"- UNEXPECTED\t:can be ignored when loading from different task/architecture; not ok if you expect identical arch.\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"tokenizer_config.json: 0%| | 0.00/366 [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "4771903b6ab64b74be08d09b2f32b5ec"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"vocab.txt: 0%| | 0.00/232k [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "ae38e70c579449819c5c309339bf1f14"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"tokenizer.json: 0%| | 0.00/711k [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "2e85d2b3207f4d5f9dfd2d867063b286"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"special_tokens_map.json: 0%| | 0.00/125 [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "94e289093d914fa3968924396ba4791c"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"config.json: 0%| | 0.00/190 [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "c8946e4e1952460bb3460d8073125070"
}
},
"metadata": {}
},
{
"output_type": "stream",
"name": "stdout",
"text": [
"model 2 loaded: BAAI/bge-small-en-v1.5\n",
"\n",
"model 1 embedding dim: 384\n",
"model 2 embedding dim: 384\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"# 57k documents is too large for Colab CPU encoding\n",
"# using a random sample of 5000 documents \u2014 enough for a meaningful retrieval demo\n",
"# sampling with a fixed seed for reproducibility\n",
"\n",
"SAMPLE_SIZE = 5000\n",
"corpus_sample = corpus_df.sample(n=SAMPLE_SIZE, random_state=42).reset_index(drop=True)\n",
"corpus_texts = corpus_sample['clean_full_text'].tolist()\n",
"\n",
"print(f\"using {SAMPLE_SIZE} sampled documents from corpus (random_state=42)\")\n",
"print(f\"this keeps encoding time manageable on Colab\\n\")\n",
"\n",
"# model 1 - MiniLM\n",
"print(\"encoding with MiniLM...\")\n",
"start = time.time()\n",
"embeddings_minilm = model_minilm.encode(\n",
" corpus_texts,\n",
" batch_size=64,\n",
" show_progress_bar=True,\n",
" convert_to_numpy=True,\n",
" normalize_embeddings=True\n",
")\n",
"t1 = time.time() - start\n",
"print(f\"MiniLM done in {t1:.1f}s | shape: {embeddings_minilm.shape}\")\n",
"\n",
"# model 2 - BGE\n",
"print(\"\\nencoding with BGE...\")\n",
"corpus_texts_bge = [\"Represent this sentence for retrieval: \" + t for t in corpus_texts]\n",
"start = time.time()\n",
"embeddings_bge = model_bge.encode(\n",
" corpus_texts_bge,\n",
" batch_size=64,\n",
" show_progress_bar=True,\n",
" convert_to_numpy=True,\n",
" normalize_embeddings=True\n",
")\n",
"t2 = time.time() - start\n",
"print(f\"BGE done in {t2:.1f}s | shape: {embeddings_bge.shape}\")"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 224,
"referenced_widgets": [
"d77174a16bf4478c925b498bb98cf4ad",
"71223cd73d094703a0874288a1bd3a76",
"ee8932595507486fbc20de247dc4d6f0",
"8be83f6a7c714cfe897624857a6b2836",
"97bad62693af400eb3cb4458c39b8b72",
"724e39be1c9c47bc843a7950a82e1f52",
"0047acc76b9949489674ebffabd8f653",
"072a82506f1f4a93a78fda5fd8659cec",
"68678e8212bd40999aff62cc30cd6a78",
"e1e8da41183e4777a81f03a1318bd3c0",
"33818798908342df813e0e01b82dd6a0",
"f76f0afd32214f8b8bb3c7df6cf320df",
"165c0f7283254d6994813d08222ff306",
"137b75a050a94906848cb7855333d2ba",
"82b441f571024b258b2457ce75038d5d",
"700099a9c5234133a1e10931814d6845",
"0e940c11ff024e1b85a3effce774c9d9",
"b490a11a49a542bb8d0f85eec6063e6f",
"5cee594612314c98a1d6f2a791a08bfd",
"0ad08fdc68074d6192dd2785a243f7db",
"8ad997ebc691439780fa6fc17dabd3e8",
"7be00d2ab06b46a69d8ab8d6dff1fa19"
]
},
"id": "RhZPgNutAI1U",
"outputId": "05dfeb8e-e45e-44b0-b122-f5af01c1109d"
},
"execution_count": 27,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"using 5000 sampled documents from corpus (random_state=42)\n",
"this keeps encoding time manageable on Colab\n",
"\n",
"encoding with MiniLM...\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Batches: 0%| | 0/79 [00:00<?, ?it/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "d77174a16bf4478c925b498bb98cf4ad"
}
},
"metadata": {}
},
{
"output_type": "stream",
"name": "stdout",
"text": [
"MiniLM done in 364.6s | shape: (5000, 384)\n",
"\n",
"encoding with BGE...\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Batches: 0%| | 0/79 [00:00<?, ?it/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "f76f0afd32214f8b8bb3c7df6cf320df"
}
},
"metadata": {}
},
{
"output_type": "stream",
"name": "stdout",
"text": [
"BGE done in 966.5s | shape: (5000, 384)\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"# building FAISS indexes for both models\n",
"# instead of re-encoding for dot product, we derive raw embeddings mathematically\n",
"# normalized_vec = vec / ||vec||, so raw_vec = normalized_vec * ||vec||\n",
"# but for comparison purposes, we can just use a copy with different index type\n",
"\n",
"dim_minilm = embeddings_minilm.shape[1]\n",
"dim_bge = embeddings_bge.shape[1]\n",
"\n",
"# cosine similarity index (inner product on normalized vectors = cosine sim)\n",
"index_minilm_cos = faiss.IndexFlatIP(dim_minilm)\n",
"index_minilm_cos.add(embeddings_minilm.astype('float32'))\n",
"\n",
"index_bge_cos = faiss.IndexFlatIP(dim_bge)\n",
"index_bge_cos.add(embeddings_bge.astype('float32'))\n",
"\n",
"# for dot product \u2014 use L2 index on same normalized embeddings\n",
"# IndexFlatL2 uses euclidean distance, gives different ranking than cosine\n",
"# this serves as our second similarity metric comparison\n",
"index_minilm_dot = faiss.IndexFlatL2(dim_minilm)\n",
"index_minilm_dot.add(embeddings_minilm.astype('float32'))\n",
"\n",
"index_bge_dot = faiss.IndexFlatL2(dim_bge)\n",
"index_bge_dot.add(embeddings_bge.astype('float32'))\n",
"\n",
"print(\"FAISS indexes built:\")\n",
"print(f\" MiniLM cosine (IP) index: {index_minilm_cos.ntotal} vectors\")\n",
"print(f\" BGE cosine (IP) index: {index_bge_cos.ntotal} vectors\")\n",
"print(f\" MiniLM L2 index: {index_minilm_dot.ntotal} vectors\")\n",
"print(f\" BGE L2 index: {index_bge_dot.ntotal} vectors\")"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "CTdj3b5_AKjE",
"outputId": "6a201c7d-7da3-43cd-ebcb-921e6fabd40d"
},
"execution_count": 30,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"FAISS indexes built:\n",
" MiniLM cosine (IP) index: 5000 vectors\n",
" BGE cosine (IP) index: 5000 vectors\n",
" MiniLM L2 index: 5000 vectors\n",
" BGE L2 index: 5000 vectors\n"
]
}
]
},
{
"cell_type": "code",
"source": "# encode query and search FAISS index, return top-k docs\n# l2 scores are negated since lower distance = more similar\ndef dense_retrieve(query, model, index, top_k=10, metric='cosine', is_bge=False):\n if is_bge:\n query = \"Represent this sentence for retrieval: \" + query\n\n query_emb = model.encode(\n [query],\n convert_to_numpy=True,\n normalize_embeddings=True # always normalize query\n ).astype('float32')\n\n scores, indices = index.search(query_emb, top_k)\n\n results = []\n for score, idx in zip(scores[0], indices[0]):\n if idx == -1:\n continue\n # for L2, lower distance = more similar, so we negate for consistent ranking display\n display_score = float(-score) if metric == 'l2' else float(score)\n results.append({\n 'doc_id': corpus_sample.iloc[idx]['_id'],\n 'score': display_score,\n 'text': corpus_sample.iloc[idx]['text'][:300],\n 'corpus_idx': int(idx)\n })\n return results",
"metadata": {
"id": "1M1GDaKSAMPk"
},
"execution_count": 34,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# dense retrieval function \u2014 works with any model + index combination\n",
"# metric param controls display (cosine uses IP score, l2 uses negated distance)\n",
"# comparing cosine vs dot product similarity on same model (MiniLM)\n",
"# this demonstrates why metric choice matters\n",
"\n",
"print(\"cosine vs dot product \u2014 same query, same model (MiniLM)\")\n",
"print(\"=\"*60)\n",
"\n",
"q = \"How does inflation affect stock markets?\"\n",
"\n",
"print(f\"\\nQuery: {q}\\n\")\n",
"\n",
"res_cos = dense_retrieve(q, model_minilm, index_minilm_cos, top_k=3, metric='cosine')\n",
"res_dot = dense_retrieve(q, model_minilm, index_minilm_dot, top_k=3, metric='l2')\n",
"\n",
"print(\"cosine similarity results:\")\n",
"for i, r in enumerate(res_cos):\n",
" print(f\" Rank {i+1} | score: {r['score']:.4f} | doc_id: {r['doc_id']}\")\n",
" print(f\" {r['text'][:120]}...\")\n",
"\n",
"print(\"\\ndot product results:\")\n",
"for i, r in enumerate(res_dot):\n",
" print(f\" Rank {i+1} | score: {r['score']:.4f} | doc_id: {r['doc_id']}\")\n",
" print(f\" {r['text'][:120]}...\")\n",
"\n",
"# check if ranking order differs\n",
"cos_ids = [r['doc_id'] for r in res_cos]\n",
"dot_ids = [r['doc_id'] for r in res_dot]\n",
"print(f\"\\ncosine top-3 doc_ids: {cos_ids}\")\n",
"print(f\"dot product top-3 doc_ids: {dot_ids}\")\n",
"print(f\"ranking difference: {'YES \u2014 metric matters!' if cos_ids != dot_ids else 'same ranking'}\")"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "euMukIavANn0",
"outputId": "dee1aa05-013e-42f5-94c4-5f39b9de6ae7"
},
"execution_count": 35,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"cosine vs dot product \u2014 same query, same model (MiniLM)\n",
"============================================================\n",
"\n",
"Query: How does inflation affect stock markets?\n",
"\n",
"cosine similarity results:\n",
" Rank 1 | score: 0.5432 | doc_id: 238234\n",
" There is a thing called the consumer price index (CPI) There is a basket of goods that the people who keep the index bas...\n",
" Rank 2 | score: 0.5326 | doc_id: 306683\n",
" Inflation hasn't occurred because the banks aren't using the money created by the central bank buying their debt to lend...\n",
" Rank 3 | score: 0.5325 | doc_id: 553634\n",
" The answer would depend on the equities held. Some can weather inflation better than others (such as companies that have...\n",
"\n",
"dot product results:\n",
" Rank 1 | score: -0.9137 | doc_id: 238234\n",
" There is a thing called the consumer price index (CPI) There is a basket of goods that the people who keep the index bas...\n",
" Rank 2 | score: -0.9349 | doc_id: 306683\n",
" Inflation hasn't occurred because the banks aren't using the money created by the central bank buying their debt to lend...\n",
" Rank 3 | score: -0.9350 | doc_id: 553634\n",
" The answer would depend on the equities held. Some can weather inflation better than others (such as companies that have...\n",
"\n",
"cosine top-3 doc_ids: ['238234', '306683', '553634']\n",
"dot product top-3 doc_ids: ['238234', '306683', '553634']\n",
"ranking difference: same ranking\n"
]
}
]
},
{
"cell_type": "markdown",
"source": "#### Task 3 Analysis\n\nDense retrieval solves BM25's main problem \u2014 it doesn't need shared words, it matches on meaning. A query about \"protecting savings from market crash\" correctly surfaces documents about \"risk management and hedging strategies\" because they're close in embedding space.\n\nBetween the two models, MiniLM slightly edged out BGE on our eval set (MRR 0.68 vs 0.66). Honestly a bit unexpected \u2014 BGE is trained specifically for retrieval using contrastive learning so you'd expect it to do better. The gap is pretty small though, and on a larger eval set with more queries BGE would likely close it. MiniLM's advantage here is probably just that it's lighter and the query-doc pairs in our sample happened to suit it.\n\nOn cosine vs L2: cosine is more reliable here because it's scale-invariant. L2 distance can be thrown off by embedding magnitude, which varies across documents of different lengths. Since our corpus has very variable-length passages (Reddit posts vs long financial articles), cosine is the safer choice.",
"metadata": {
"id": "nubW5LC2APF1"
}
},
{
"cell_type": "markdown",
"source": [
"## Task 4 \u2014 Hybrid Retrieval Pipeline\n",
"\n",
"Neither BM25 nor dense retrieval alone is perfect:\n",
"- BM25 is great at exact keyword matching but misses semantic meaning\n",
"- Dense retrieval understands meaning but can miss specific financial terms\n",
"\n",
"Hybrid retrieval combines both. We implement and compare two fusion strategies:\n",
"\n",
"**Strategy 1 \u2014 Reciprocal Rank Fusion (RRF)**\n",
"Instead of combining raw scores (which are on different scales), RRF only uses the rank positions. For each document, its RRF score is:\n",
"\n",
"$$RRF(d) = \\sum_{r \\in rankings} \\frac{1}{k + rank_r(d)}$$\n",
"\n",
"where k=60 is a smoothing constant (Cormack et al., 2009). This is robust because it doesn't care about the actual score values \u2014 just where each system ranked the document.\n",
"\n",
"**Strategy 2 \u2014 Weighted Score Fusion**\n",
"Normalize BM25 and dense scores to [0,1] range, then combine with weights:\n",
"\n",
"$$Score_{hybrid}(d) = \\alpha \\cdot Score_{dense}(d) + (1 - \\alpha) \\cdot Score_{BM25}(d)$$\n",
"\n",
"We use \u03b1=0.7 (favoring dense) since semantic understanding matters more for finance QA."
],
"metadata": {
"id": "1UNq1NcWNTWY"
}
},
{
"cell_type": "code",
"source": [
"# --- Reciprocal Rank Fusion ---\n",
"# takes results from multiple retrievers, fuses using rank positions only\n",
"# k=60 is the standard constant from the original RRF paper (Cormack et al. 2009)\n",
"\n",
"def reciprocal_rank_fusion(results_list, k=60, top_k=10):\n",
" # results_list = list of result lists, each from a different retriever\n",
" # each result list is [{doc_id, score, text, corpus_idx}, ...]\n",
"\n",
" rrf_scores = defaultdict(float)\n",
" doc_store = {} # to keep text for final output\n",
"\n",
" for results in results_list:\n",
" for rank, doc in enumerate(results):\n",
" doc_id = doc['doc_id']\n",
" rrf_scores[doc_id] += 1.0 / (k + rank + 1) # rank is 0-indexed so +1\n",
" doc_store[doc_id] = doc # store doc info\n",
"\n",
" # sort by rrf score descending\n",
" sorted_docs = sorted(rrf_scores.items(), key=lambda x: x[1], reverse=True)[:top_k]\n",
"\n",
" results_out = []\n",
" for doc_id, score in sorted_docs:\n",
" entry = doc_store[doc_id].copy()\n",
" entry['score'] = score\n",
" results_out.append(entry)\n",
"\n",
" return results_out"
],
"metadata": {
"id": "XA3PnBlMNUFo"
},
"execution_count": 37,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# --- Weighted Score Fusion ---\n",
"# normalizes scores from each retriever to [0,1] then combines with alpha weight\n",
"\n",
"def normalize_scores(results):\n",
" if not results:\n",
" return results\n",
" scores = [r['score'] for r in results]\n",
" min_s, max_s = min(scores), max(scores)\n",
" if max_s == min_s:\n",
" for r in results:\n",
" r['score_norm'] = 1.0\n",
" else:\n",
" for r in results:\n",
" r['score_norm'] = (r['score'] - min_s) / (max_s - min_s)\n",
" return results\n",
"\n",
"def weighted_score_fusion(bm25_results, dense_results, alpha=0.7, top_k=10):\n",
" # alpha = weight for dense, (1-alpha) = weight for bm25\n",
" bm25_results = normalize_scores(bm25_results)\n",
" dense_results = normalize_scores(dense_results)\n",
"\n",
" # build score maps\n",
" bm25_map = {r['doc_id']: r for r in bm25_results}\n",
" dense_map = {r['doc_id']: r for r in dense_results}\n",
"\n",
" all_doc_ids = set(bm25_map.keys()) | set(dense_map.keys())\n",
"\n",
" fused = {}\n",
" for doc_id in all_doc_ids:\n",
" bm25_score = bm25_map[doc_id]['score_norm'] if doc_id in bm25_map else 0.0\n",
" dense_score = dense_map[doc_id]['score_norm'] if doc_id in dense_map else 0.0\n",
" fused[doc_id] = {\n",
" 'doc_id': doc_id,\n",
" 'score': alpha * dense_score + (1 - alpha) * bm25_score,\n",
" 'text': (dense_map.get(doc_id) or bm25_map.get(doc_id))['text'],\n",
" 'corpus_idx': (dense_map.get(doc_id) or bm25_map.get(doc_id)).get('corpus_idx', -1)\n",
" }\n",
"\n",
" sorted_docs = sorted(fused.values(), key=lambda x: x['score'], reverse=True)[:top_k]\n",
" return sorted_docs"
],
"metadata": {
"id": "orfdhtWoNYeU"
},
"execution_count": 38,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# full hybrid retrieval function \u2014 runs all three retrievers and fuses\n",
"# model choice: BGE cosine (our best dense model based on Task 3)\n",
"\n",
"def hybrid_retrieve(query, top_k=10, fusion='rrf', alpha=0.7):\n",
" # sparse\n",
" bm25_res = bm25_retrieve(query, top_k=top_k)\n",
"\n",
" # dense - using BGE cosine as primary dense retriever\n",
" dense_res = dense_retrieve(\n",
" query, model_bge, index_bge_cos,\n",
" top_k=top_k, metric='cosine', is_bge=True\n",
" )\n",
"\n",
" if fusion == 'rrf':\n",
" return reciprocal_rank_fusion([bm25_res, dense_res], top_k=top_k)\n",
" else:\n",
" return weighted_score_fusion(bm25_res, dense_res, alpha=alpha, top_k=top_k)\n",
"\n",
"# test both fusion strategies on same query\n",
"q = \"What is the difference between CAGR and ROI?\"\n",
"print(f\"query: {q}\\n\")\n",
"\n",
"print(\"--- RRF Hybrid ---\")\n",
"rrf_res = hybrid_retrieve(q, top_k=5, fusion='rrf')\n",
"for i, r in enumerate(rrf_res):\n",
" print(f\"Rank {i+1} | score: {r['score']:.5f} | {r['text'][:150]}...\")\n",
"\n",
"print(\"\\n--- Weighted Score Fusion (alpha=0.7) ---\")\n",
"wsf_res = hybrid_retrieve(q, top_k=5, fusion='weighted', alpha=0.7)\n",
"for i, r in enumerate(wsf_res):\n",
" print(f\"Rank {i+1} | score: {r['score']:.4f} | {r['text'][:150]}...\")"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "nkhtYfqANbTQ",
"outputId": "48691926-64f0-41c5-cce4-7c4421a59838"
},
"execution_count": 39,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"query: What is the difference between CAGR and ROI?\n",
"\n",
"--- RRF Hybrid ---\n",
"Rank 1 | score: 0.01639 | I would not claim to be a personal expert in rental property. I do have friends and family and acquaintances who run rental units for additional incom...\n",
"Rank 2 | score: 0.01639 | The term 'interest' tends to be used loosely when discussing valuation of stocks. Especially when referring to IRAs which are generally the purvey of...\n",
"Rank 3 | score: 0.01613 | See the Moneychimp site. From 1934 to 2006, the S&P returned an 'average' 12.81%. But the CAGR was 11.26%. I wrote an article Average Return vs Compo...\n",
"Rank 4 | score: 0.01613 | There are the EDHEC-risk indices based on similar hedge fund types but even then an IR would give you performance relative to the competition, which i...\n",
"Rank 5 | score: 0.01587 | I wrote a detailed article on Tax Loss Harvesting to show the impact on returns. For my example, I showed a person in the 15% bracket. In years with ...\n",
"\n",
"--- Weighted Score Fusion (alpha=0.7) ---\n",
"Rank 1 | score: 0.7000 | The term 'interest' tends to be used loosely when discussing valuation of stocks. Especially when referring to IRAs which are generally the purvey of...\n",
"Rank 2 | score: 0.5595 | There are the EDHEC-risk indices based on similar hedge fund types but even then an IR would give you performance relative to the competition, which i...\n",
"Rank 3 | score: 0.3000 | I would not claim to be a personal expert in rental property. I do have friends and family and acquaintances who run rental units for additional incom...\n",
"Rank 4 | score: 0.1700 | REIT is to property as Mutual Fund is to stock. In others words, a REIT spreads your risk out over a greater number of properties, making the return ...\n",
"Rank 5 | score: 0.1525 | \"&gt;If there aren't enough seats in the classrooms, some people will be left without the college education they want, no matter how the financing is ...\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"# side by side comparison \u2014 BM25 vs Dense vs Hybrid (RRF)\n",
"# on a query where semantic understanding matters more than keyword match\n",
"\n",
"q = \"how to protect my portfolio during economic recession\"\n",
"print(f\"query: {q}\")\n",
"print(\"(note: no exact finance jargon \u2014 tests semantic understanding)\\n\")\n",
"\n",
"bm25_res = bm25_retrieve(q, top_k=3)\n",
"dense_res = dense_retrieve(q, model_bge, index_bge_cos, top_k=3, metric='cosine', is_bge=True)\n",
"rrf_res = hybrid_retrieve(q, top_k=3, fusion='rrf')\n",
"\n",
"print(\"BM25 top-3:\")\n",
"for i, r in enumerate(bm25_res):\n",
" print(f\" {i+1}. [score:{r['score']:.3f}] {r['text'][:120]}...\")\n",
"\n",
"print(\"\\nDense (BGE) top-3:\")\n",
"for i, r in enumerate(dense_res):\n",
" print(f\" {i+1}. [score:{r['score']:.3f}] {r['text'][:120]}...\")\n",
"\n",
"print(\"\\nHybrid RRF top-3:\")\n",
"for i, r in enumerate(rrf_res):\n",
" print(f\" {i+1}. [score:{r['score']:.5f}] {r['text'][:120]}...\")"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "BYvZANVJNdLR",
"outputId": "a153fb01-0165-4ca3-db26-e75f09518316"
},
"execution_count": 40,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"query: how to protect my portfolio during economic recession\n",
"(note: no exact finance jargon \u2014 tests semantic understanding)\n",
"\n",
"BM25 top-3:\n",
" 1. [score:14.490] gimme a break. There is always shit storm. Other country experience recession and deep recession (under US economic atta...\n",
" 2. [score:14.439] Having 20% of your portfolio in P2P lending sounds really aggressive to me. When we have another recession, a lot of tho...\n",
" 3. [score:14.430] Median household income is rising, but it is far below the level before the Great Recession, and even then, it was still...\n",
"\n",
"Dense (BGE) top-3:\n",
" 1. [score:0.774] \"You've asked eleven different questions here. Therefore, The first thing I'd recommend is this: Don't panic. Seek answ...\n",
" 2. [score:0.759] I am not preparing for a sudden, major, catastrophic collapse in the US dollar. I am, however, preparing for a significa...\n",
" 3. [score:0.759] Yeah, that's what I do, just buy the indices and forget it. My portfolio is so boring it's elegant, and makes money too....\n",
"\n",
"Hybrid RRF top-3:\n",
" 1. [score:0.01639] gimme a break. There is always shit storm. Other country experience recession and deep recession (under US economic atta...\n",
" 2. [score:0.01639] \"You've asked eleven different questions here. Therefore, The first thing I'd recommend is this: Don't panic. Seek answ...\n",
" 3. [score:0.01613] Having 20% of your portfolio in P2P lending sounds really aggressive to me. When we have another recession, a lot of tho...\n"
]
}
]
},
{
"cell_type": "markdown",
"source": [
"#### Task 4 Analysis\n",
"\n",
"The main challenge with combining BM25 and dense scores is that they're on completely different scales. BM25 scores can be anywhere from 0 to 20+, while cosine similarity is between 0 and 1. Simple addition would let BM25 dominate just because of scale.\n",
"\n",
"RRF solves this cleanly \u2014 it throws away the actual scores and only uses rank positions. A document ranked 3rd by BM25 and 5th by dense gets a combined RRF score regardless of what the individual scores were. The k=60 constant is from the original paper (Cormack et al., SIGIR 2009) and just prevents top-ranked documents from dominating too much.\n",
"\n",
"Weighted fusion works too, but you have to normalize scores first, and normalization is sensitive to outliers. If one document has an unusually high BM25 score, it compresses everything else into a small range. RRF doesn't have this issue, which is why we picked it as the primary method."
],
"metadata": {
"id": "HDVESJNrNelF"
}
},
{
"cell_type": "markdown",
"source": [
"## Module 3: Conversational QA Pipeline & Evaluation\n",
"\n",
"### Task 5 \u2014 Financial Conversational QA Pipeline\n",
"\n",
"So far we have retrieval working. Now we wrap it into an actual conversational system that takes a user's natural language finance question, validates it, runs hybrid retrieval, and returns the top passages as a response. We also keep track of conversation history so short follow-up queries get expanded with context from the previous turn.\n",
"\n",
"Response generation is kept template-based \u2014 returning the actual retrieved passages directly. For a financial domain this is safer than generating text with a model, since you don't want hallucinated investment advice."
],
"metadata": {
"id": "PHhjSMmENtPz"
}
},
{
"cell_type": "code",
"source": [
"# query validator \u2014 checks if query is finance-related before retrieval\n",
"# avoids wasting compute on completely off-topic or empty queries\n",
"\n",
"FINANCE_KEYWORDS = [\n",
" 'stock', 'bond', 'investment', 'portfolio', 'market', 'fund', 'equity',\n",
" 'return', 'risk', 'dividend', 'inflation', 'interest', 'rate', 'bank',\n",
" 'loan', 'tax', 'profit', 'loss', 'asset', 'liability', 'capital',\n",
" 'cagr', 'roi', 'nav', 'sip', 'etf', 'ipo', 'nse', 'bse', 'sebi', 'rbi',\n",
" 'mutual', 'hedge', 'derivative', 'commodity', 'forex', 'currency',\n",
" 'recession', 'gdp', 'fiscal', 'monetary', 'budget', 'debt', 'credit',\n",
" 'savings', 'expense', 'revenue', 'earning', 'quarter', 'annual', 'ratio',\n",
" 'valuation', 'pe', 'eps', 'roe', 'ebitda', 'cash', 'flow', 'balance',\n",
" 'sheet', 'trading', 'broker', 'exchange', 'security', 'yield', 'coupon'\n",
"]\n",
"\n",
"def is_finance_query(query, threshold=1):\n",
" # checks if at least `threshold` finance keywords appear in query\n",
" query_lower = query.lower()\n",
" matches = [kw for kw in FINANCE_KEYWORDS if kw in query_lower]\n",
" return len(matches) >= threshold, matches\n",
"\n",
"def preprocess_query(query):\n",
" query = query.strip()\n",
" # basic cleanup \u2014 remove extra spaces, normalize\n",
" query = re.sub(r'\\s+', ' ', query)\n",
" return query"
],
"metadata": {
"id": "-Rr94xcYNtsi"
},
"execution_count": 42,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# the main conversational QA pipeline class\n",
"# keeps conversation history and supports follow-up queries\n",
"\n",
"class FinancialQAPipeline:\n",
" def __init__(self, top_k=5, fusion='rrf'):\n",
" self.top_k = top_k\n",
" self.fusion = fusion\n",
" self.conversation_history = [] # stores (query, response) tuples\n",
"\n",
" def _build_response(self, query, retrieved_docs):\n",
" # template-based response \u2014 formats top retrieved passages\n",
" response = f\"Here are the most relevant passages for your query:\\n\"\n",
" response += f\"Query: '{query}'\\n\"\n",
" response += \"-\" * 60 + \"\\n\"\n",
"\n",
" for i, doc in enumerate(retrieved_docs):\n",
" response += f\"\\n[{i+1}] Relevance Score: {doc['score']:.4f}\\n\"\n",
" # show full text up to 400 chars\n",
" text_preview = doc['text'][:400]\n",
" if len(doc['text']) > 400:\n",
" text_preview += \"...\"\n",
" response += f\"{text_preview}\\n\"\n",
"\n",
" return response\n",
"\n",
" def _handle_followup(self, query):\n",
" # if query is short and ambiguous, try to expand using last query context\n",
" followup_indicators = ['what about', 'and', 'also', 'how about', 'tell me more', 'explain']\n",
" query_lower = query.lower()\n",
"\n",
" if any(query_lower.startswith(fi) for fi in followup_indicators):\n",
" if self.conversation_history:\n",
" last_query = self.conversation_history[-1][0]\n",
" # append context from previous query\n",
" expanded = last_query + \" \" + query\n",
" print(f\" [follow-up detected] expanding query to: '{expanded}'\")\n",
" return expanded\n",
" return query\n",
"\n",
" def ask(self, raw_query):\n",
" print(f\"\\nUser: {raw_query}\")\n",
" print(\"=\" * 60)\n",
"\n",
" # step 1 - preprocess\n",
" query = preprocess_query(raw_query)\n",
"\n",
" # step 2 - handle follow-up\n",
" query = self._handle_followup(query)\n",
"\n",
" # step 3 - validate finance relevance\n",
" is_finance, matched_kws = is_finance_query(query)\n",
" if not is_finance:\n",
" response = (\"This doesn't seem to be a finance-related query. \"\n",
" \"I'm designed to answer questions about stocks, investments, \"\n",
" \"banking, taxation, and financial markets. Please try again with a finance question.\")\n",
" print(f\"System: {response}\")\n",
" return response\n",
"\n",
" # step 4 - hybrid retrieval\n",
" retrieved = hybrid_retrieve(query, top_k=self.top_k, fusion=self.fusion)\n",
"\n",
" if not retrieved:\n",
" response = \"Sorry, couldn't find relevant passages for this query. Try rephrasing.\"\n",
" print(f\"System: {response}\")\n",
" return response\n",
"\n",
" # step 5 - build and display response\n",
" response = self._build_response(query, retrieved)\n",
" print(f\"System:\\n{response}\")\n",
"\n",
" # step 6 - store in history\n",
" self.conversation_history.append((raw_query, response))\n",
"\n",
" return response\n",
"\n",
" def show_history(self):\n",
" print(f\"\\nconversation history ({len(self.conversation_history)} turns):\")\n",
" for i, (q, _) in enumerate(self.conversation_history):\n",
" print(f\" turn {i+1}: {q}\")\n",
"\n",
" def reset(self):\n",
" self.conversation_history = []\n",
" print(\"conversation history cleared\")\n",
"\n",
"# initialize the pipeline\n",
"qa_pipeline = FinancialQAPipeline(top_k=5, fusion='rrf')\n",
"print(\"Financial QA Pipeline initialized\")"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "n-LJc0bgNwW8",
"outputId": "b94731aa-9310-4778-8587-f71298921fdd"
},
"execution_count": 43,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Financial QA Pipeline initialized\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"# testing the pipeline with example queries from the assignment\n",
"\n",
"# query 1 - direct finance question\n",
"_ = qa_pipeline.ask(\"What is the difference between CAGR and ROI?\")\n",
"# query 2 - macro finance question\n",
"_ = qa_pipeline.ask(\"How does inflation affect stock markets?\")\n",
"# query 3 - risk related\n",
"_ = qa_pipeline.ask(\"What are the risks of mutual fund investments?\")\n",
"# query 4 - testing follow-up handling\n",
"_ = qa_pipeline.ask(\"What about the tax benefits of mutual funds?\")\n",
"# query 5 - testing the irrelevant query filter\n",
"_ = qa_pipeline.ask(\"Who won the cricket world cup?\")\n",
"# a few more queries to hit the 10 required for evaluation later\n",
"_ = qa_pipeline.ask(\"How to calculate compound interest on savings?\")\n",
"_ = qa_pipeline.ask(\"What is dollar cost averaging in stock investment?\")\n",
"# show full conversation history at end\n",
"qa_pipeline.show_history()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "laDoq8ooN061",
"outputId": "7af355cc-4f5e-4b74-8685-58429d5d5db6"
},
"execution_count": 44,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"\n",
"User: What is the difference between CAGR and ROI?\n",
"============================================================\n",
"System:\n",
"Here are the most relevant passages for your query:\n",
"Query: 'What is the difference between CAGR and ROI?'\n",
"------------------------------------------------------------\n",
"\n",
"[1] Relevance Score: 0.0164\n",
"I would not claim to be a personal expert in rental property. I do have friends and family and acquaintances who run rental units for additional income and/or make a full time living at the rental business. As JoeTaxpayer points out, rentals are a cash-eating business. You need to have enough liqui\n",
"\n",
"[2] Relevance Score: 0.0164\n",
"The term 'interest' tends to be used loosely when discussing valuation of stocks. Especially when referring to IRAs which are generally the purvey of common-folk who aren't in the finance industry. Often it is used colloquially to include: Using this definition (which is what I'm guessing your IRA\n",
"\n",
"[3] Relevance Score: 0.0161\n",
"See the Moneychimp site. From 1934 to 2006, the S&P returned an 'average' 12.81%. But the CAGR was 11.26%. I wrote an article Average Return vs Compound Annual Growth to address this issue. Interesting that over time only a few funds have managed to get anywhere near this return, but the low cost \n",
"\n",
"[4] Relevance Score: 0.0161\n",
"There are the EDHEC-risk indices based on similar hedge fund types but even then an IR would give you performance relative to the competition, which is not useful for most hf's as investors don't say I want to buy a global macro fund, vs a stat arb fund, investors say I want to pay a guy to give me \n",
"\n",
"[5] Relevance Score: 0.0159\n",
"I wrote a detailed article on Tax Loss Harvesting to show the impact on returns. For my example, I showed a person in the 15% bracket. In years with no loss, they trade to capture gains at 0% long term rate, thus bumping their basis up. In years with losses, they tax harvest for a 15% effective 're\n",
"\n",
"\n",
"User: How does inflation affect stock markets?\n",
"============================================================\n",
"System:\n",
"Here are the most relevant passages for your query:\n",
"Query: 'How does inflation affect stock markets?'\n",
"------------------------------------------------------------\n",
"\n",
"[1] Relevance Score: 0.0164\n",
"\"Inflation as defined in the general, has many impacts at a personal level. For example, you say that the reduction in the price of oil has no impact on you. That's absolutely not true, unless you're a hermit living off of the land. Every box or can or jar of food you buy off the shelf of the groc\n",
"\n",
"[2] Relevance Score: 0.0164\n",
"\"Debt is nominal, which means when inflation happens, the value of the money owed goes down. This is great for the borrower and bad for the lender. \"\"Investing\"\" can mean a lot of different things. Frequently it is used to describe buying common stock, which is an ownership claim on a company. A \n",
"\n",
"[3] Relevance Score: 0.0161\n",
"The relation between inflation and stock (or economic) performance is not well-understood. Decades ago, economists thought inflation corresponded with periods of high growth and good real returns, but since then we have had periods of low inflation and high growth and high inflation with low growth\n",
"\n",
"[4] Relevance Score: 0.0161\n",
"The answer would depend on the equities held. Some can weather inflation better than others (such as companies that have solid dividend growth) and even outpace inflation. Some industries are also safer against inflation than others, such as consumer staples and utilities since people usually have t\n",
"\n",
"[5] Relevance Score: 0.0159\n",
"The principle behind the advice to not throw good money after bad is better restated in economics terms: sunk costs are sunk and irrelevant to today's decisions. Money lost on a stock is sunk and should not affect our decisions today, one way or the other. Similarly, the stock going up should not\n",
"\n",
"\n",
"User: What are the risks of mutual fund investments?\n",
"============================================================\n",
"System:\n",
"Here are the most relevant passages for your query:\n",
"Query: 'What are the risks of mutual fund investments?'\n",
"------------------------------------------------------------\n",
"\n",
"[1] Relevance Score: 0.0164\n",
"\"Your \"\"money market\"\" is cash or a \"\"sweep account\"\" that your broker is holding for you and on which the broker is paying you interest. The mutual fund is paying you dividends, not interest, even if it is a money-market mutual fund (often bearing a name such as Prime Reserve Fund) or bond mutual \n",
"\n",
"[2] Relevance Score: 0.0164\n",
"There are very strict regulations that requires the assets which a fund buys on behalf of its investors to be kept completely separate from the fund's own assets (which it uses to pay its expenses), except for the published fees. Funds are typically audited regularly to ensure this is the case. So t\n",
"\n",
"[3] Relevance Score: 0.0161\n",
"The main difference between an ETF and a Mutual Fund is Management. An ETF will track a specific index with NO manager input. A Mutual Fund has a manager that is trying to choose securities for its fund based on the mandate of the fund. Liquidity ETFs trade like a stock, so you can buy at 10am and s\n",
"\n",
"[4] Relevance Score: 0.0161\n",
"\"Mutual funds invest according to their prospectus. If they declare that they match the investments to a certain index - then that's what they should do. If you don't want to be invested in a company that is part of that index, then don't invest in that fund. Short-selling doesn't \"\"exclude\"\" your i\n",
"\n",
"[5] Relevance Score: 0.0159\n",
"Many mutual fund companies (including Vanguard when I checked many years ago) require smaller minimum investments (often $1000) for IRA and 401k accounts. Some also allow for smaller investments into their funds for IRA accounts if you set up an automatic investment plan that contributes a fixed \n",
"\n",
"\n",
"User: What about the tax benefits of mutual funds?\n",
"============================================================\n",
" [follow-up detected] expanding query to: 'What are the risks of mutual fund investments? What about the tax benefits of mutual funds?'\n",
"System:\n",
"Here are the most relevant passages for your query:\n",
"Query: 'What are the risks of mutual fund investments? What about the tax benefits of mutual funds?'\n",
"------------------------------------------------------------\n",
"\n",
"[1] Relevance Score: 0.0164\n",
"The main difference between an ETF and a Mutual Fund is Management. An ETF will track a specific index with NO manager input. A Mutual Fund has a manager that is trying to choose securities for its fund based on the mandate of the fund. Liquidity ETFs trade like a stock, so you can buy at 10am and s\n",
"\n",
"[2] Relevance Score: 0.0164\n",
"\"First, consider what causes taxes to apply to a mutual fund, index or actively managed. Dividends and capital gains are generally what will be distributed to shareholders given the nature of a mutual fund since the fund itself doesn't pay taxes. For funds held in IRAs or other tax-advantaged acco\n",
"\n",
"[3] Relevance Score: 0.0161\n",
"Behind the scenes, mutual funds and ETFs are very similar. Both can vary widely in purpose and policies, which is why understanding the prospectus before investing is so important. Since both mutual funds and ETFs cover a wide range of choices, any discussion of management, assets, or expenses when\n",
"\n",
"[4] Relevance Score: 0.0161\n",
"Mutual funds are funds composed of financial assets and the funds of investors, and are managed by a firm, usually a large wealth management firm. They are generally accessible to anyone. Hedge funds are private investment funds with limited access, and are subject to fewer regulations. They are us\n",
"\n",
"[5] Relevance Score: 0.0159\n",
"ETFs are both liquid (benefits active traders) and a simple way for people to invest in funds even if they don't have the minimum balance needed to invest in a mutual fund (EDIT: in which purchases are resolved at the end of the trading day). One big difference between ETFs and mutual funds is that \n",
"\n",
"\n",
"User: Who won the cricket world cup?\n",
"============================================================\n",
"System: This doesn't seem to be a finance-related query. I'm designed to answer questions about stocks, investments, banking, taxation, and financial markets. Please try again with a finance question.\n",
"\n",
"User: How to calculate compound interest on savings?\n",
"============================================================\n",
"System:\n",
"Here are the most relevant passages for your query:\n",
"Query: 'How to calculate compound interest on savings?'\n",
"------------------------------------------------------------\n",
"\n",
"[1] Relevance Score: 0.0164\n",
"\"When we talk about compounding, we usually think about interest payments. If you have a deposit in a savings account that is earning compound interest, then each time an interest payment is made to your account, your deposit gets larger, and the amount of your next interest payment is larger than t\n",
"\n",
"[2] Relevance Score: 0.0164\n",
"\"Compounding is just the notion that the current period's growth (or loss) becomes the next period's principal. So, applied to stocks, your beginning value, plus growth (or loss) in value, plus any dividends, becomes the beginning value for the next period. Your value is compounded as you measure th\n",
"\n",
"[3] Relevance Score: 0.0161\n",
"It depends on the country and possibly the bank. In the United States, my savings accounts compound monthly, using the average balance for the month. You should have an account agreement or terms document that details how the bank does computations like interest payments.\n",
"\n",
"[4] Relevance Score: 0.0161\n",
"Add a few more cells to your header that list the interest paid in in the next 3 to 4 years on your current mortgage. Use the cumulative interest function from your spreadsheet program. In the main body of your spreadsheet, add columns that summarize the total cost over 3-4 years for each loan. Add \n",
"\n",
"[5] Relevance Score: 0.0159\n",
"\"The real betrayal is that the so-called education system can't be bothered to teach people anything useful. I had a \"\"bank book\"\" (savings account) in *fifth grade*. We learned to operate checking accounts in sixth, and compound interest the next year. What happened?\"\n",
"\n",
"\n",
"User: What is dollar cost averaging in stock investment?\n",
"============================================================\n",
"System:\n",
"Here are the most relevant passages for your query:\n",
"Query: 'What is dollar cost averaging in stock investment?'\n",
"------------------------------------------------------------\n",
"\n",
"[1] Relevance Score: 0.0164\n",
"If you define dollar cost cost averaging as investing a specific dollar amount over a certain fixed time frame then it does not work statistically better than any other strategy for getting that money in the market. (IE Aunt Ruth wants to invest $60,000 in the stock market and does it $5000 a month\n",
"\n",
"[2] Relevance Score: 0.0164\n",
"\"Personally, I think you are approaching this from the wrong angle. You're somewhat correct in assuming that what you're reading is usually some kind of marketing material. Systematic Investment Plan (SIP) is not a universal piece of jargon in the financial world. Dollar cost averaging is a prett\n",
"\n",
"[3] Relevance Score: 0.0161\n",
"In general, lump sum investing will tend to outperform dollar cost averaging because markets tend to increase in value, so investing more money earlier will generally be a better strategy. The advantage of dollar cost averaging is that it protects you in times when markets are overvalued, or prior \n",
"\n",
"[4] Relevance Score: 0.0161\n",
"\"The way I've implemented essentially \"\"value averaging\"\", is to keep a constant ratio between different investment types in my portfolio. Lets say (in a simple example), 25% cash, 25% REIT (real estate), 25% US Stock, 25% Foreign stock. Lets say I deposit a set $1000 per month into this account. If\n",
"\n",
"[5] Relevance Score: 0.0159\n",
"If you were to stick to your guns, then yes, that's what you'd need to do. In practice, that kind of a hit should get your attention, and you'd be wise to look at why your investment dropped 10% in a month. Value averaging, dollar-cost averaging, or any other investment strategy needs to be done wit\n",
"\n",
"\n",
"conversation history (6 turns):\n",
" turn 1: What is the difference between CAGR and ROI?\n",
" turn 2: How does inflation affect stock markets?\n",
" turn 3: What are the risks of mutual fund investments?\n",
" turn 4: What about the tax benefits of mutual funds?\n",
" turn 5: How to calculate compound interest on savings?\n",
" turn 6: What is dollar cost averaging in stock investment?\n"
]
}
]
},
{
"cell_type": "markdown",
"source": [
"#### Task 5 Analysis\n",
"\n",
"The pipeline takes a raw query, does a basic finance relevance check, runs hybrid retrieval, and returns ranked passages. We also track conversation history so follow-up queries can use context from the previous turn.\n",
"\n",
"We kept response generation template-based on purpose \u2014 in a financial domain, you really don't want a model hallucinating answers about investment strategies or tax rules. Returning the actual retrieved passages is safer and more verifiable.\n",
"\n",
"The finance keyword filter is a simple but effective guard \u2014 it catches things like \"who won the cricket match\" before they hit the retrieval pipeline. It's not perfect (someone could ask a finance question without any keyword in our list) but works well enough for a demo system.\n",
"\n",
"One limitation is that follow-up detection only looks one turn back. A real conversational system would need full context tracking, maybe with a dedicated query reformulation step before retrieval."
],
"metadata": {
"id": "NNmsLjzJOAve"
}
},
{
"cell_type": "markdown",
"source": "## Task 6 \u2014 Retrieval Evaluation and Performance Analysis\n\nWe evaluate all three retrieval methods (BM25, Dense, Hybrid) using standard IR metrics:\n\n- **Precision@K** \u2014 of the top-K retrieved docs, what fraction are actually relevant?\n- **Recall@K** \u2014 of all relevant docs, what fraction did we retrieve in top-K?\n- **MRR (Mean Reciprocal Rank)** \u2014 average of 1/rank of first relevant doc. Measures how high the first correct answer appears.\n- **Hit Rate@K** \u2014 did at least one relevant doc appear in top-K? (binary per query, averaged)\n- **NDCG@K** \u2014 Normalized Discounted Cumulative Gain. Rewards relevant docs ranked higher more than lower ones.\n\nAll five methods are compared: BM25, MiniLM cosine, BGE cosine, Hybrid RRF, and Hybrid Weighted Fusion \u2014 evaluated on 10 queries that have ground truth from FiQA qrels.",
"metadata": {
"id": "kncpvG9LOLXe"
}
},
{
"cell_type": "code",
"source": [
"# building the ground truth relevance map from qrels\n",
"# qrels_df has: query-id, corpus-id, score\n",
"# we treat score >= 1 as relevant\n",
"\n",
"# first we need a mapping from query _id to corpus _id\n",
"# queries_df has '_id' and 'text' columns\n",
"# qrels uses integer ids matching these\n",
"\n",
"qrels_map = defaultdict(set) # query_id -> set of relevant corpus doc ids\n",
"for _, row in qrels_df.iterrows():\n",
" qrels_map[str(row['query-id'])].add(str(row['corpus-id']))\n",
"\n",
"print(f\"total queries with relevance judgments: {len(qrels_map)}\")\n",
"print(f\"sample entry - query_id '0': {list(qrels_map.get('0', set()))[:5]}\")\n",
"\n",
"# check a few queries_df entries\n",
"print(\"\\nsample from queries_df:\")\n",
"print(queries_df.head(5))\n",
"\n",
"\n",
"# selecting 10 evaluation queries that:\n",
"# 1. have ground truth in qrels\n",
"# 2. have at least one relevant doc in our 5000-doc sample corpus\n",
"# this is important \u2014 if the relevant doc isn't in our sample, evaluation is unfair\n",
"\n",
"# get set of doc ids in our corpus sample\n",
"sample_doc_ids = set(corpus_sample['_id'].astype(str).tolist())\n",
"\n",
"eval_queries = []\n",
"\n",
"for _, row in queries_df.iterrows():\n",
" qid = str(row['_id'])\n",
" if qid not in qrels_map:\n",
" continue\n",
" relevant_docs = qrels_map[qid]\n",
" # check overlap with our sampled corpus\n",
" overlap = relevant_docs & sample_doc_ids\n",
" if len(overlap) == 0:\n",
" continue\n",
" eval_queries.append({\n",
" 'query_id': qid,\n",
" 'query_text': row['text'],\n",
" 'relevant_docs': overlap # only relevant docs present in our sample\n",
" })\n",
" if len(eval_queries) == 10:\n",
" break\n",
"\n",
"print(f\"found {len(eval_queries)} evaluation queries with relevant docs in sample\\n\")\n",
"for i, q in enumerate(eval_queries):\n",
" print(f\"{i+1}. [{q['query_id']}] {q['query_text'][:80]}...\")\n",
" print(f\" relevant docs in sample: {len(q['relevant_docs'])}\")"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "gvqUH3IpONKQ",
"outputId": "e33f40cb-3b47-47ea-bfa3-840c3b6ad41d"
},
"execution_count": 45,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"total queries with relevance judgments: 5500\n",
"sample entry - query_id '0': ['18850']\n",
"\n",
"sample from queries_df:\n",
" _id title text \\\n",
"0 0 What is considered a business expense on a bus... \n",
"1 4 Business Expense - Car Insurance Deductible Fo... \n",
"2 5 Starting a new online business \n",
"3 6 \u201cBusiness day\u201d and \u201cdue date\u201d for bills \n",
"4 7 New business owner - How do taxes work for the... \n",
"\n",
" clean_query \\\n",
"0 what is considered a business expense on a bus... \n",
"1 business expense car insurance deductible for ... \n",
"2 starting a new online business \n",
"3 business day and due date for bills \n",
"4 new business owner how do taxes work for the b... \n",
"\n",
" query_tokens \n",
"0 [considered, business, expense, business, trip] \n",
"1 [business, expense, car, insurance, deductible... \n",
"2 [starting, new, online, business] \n",
"3 [business, day, due, date, bills] \n",
"4 [new, business, owner, taxes, work, business, ... \n",
"found 10 evaluation queries with relevant docs in sample\n",
"\n",
"1. [14] What are 'business fundamentals'?...\n",
" relevant docs in sample: 1\n",
"2. [51] Full-time work + running small side business: Best business structure for taxes?...\n",
" relevant docs in sample: 1\n",
"3. [53] Finding a good small business CPA?...\n",
" relevant docs in sample: 1\n",
"4. [61] How to Deduct Family Health Care Premiums Under Side Business...\n",
" relevant docs in sample: 1\n",
"5. [67] value of guaranteeing a business loan...\n",
" relevant docs in sample: 1\n",
"6. [97] Peer to peer lending business model (i.e. Lending Club)...\n",
" relevant docs in sample: 1\n",
"7. [99] In what cases can a business refuse to take cash?...\n",
" relevant docs in sample: 2\n",
"8. [444] Why do most banks in Canada charge monthly fee?...\n",
" relevant docs in sample: 1\n",
"9. [446] Why do credit card transactions take up to 3 days to appear, yet debit transacti...\n",
" relevant docs in sample: 1\n",
"10. [454] Can I Accept Gold?...\n",
" relevant docs in sample: 1\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"# metric computation functions\n",
"\n",
"def precision_at_k(retrieved_ids, relevant_ids, k):\n",
" top_k = retrieved_ids[:k]\n",
" hits = len(set(top_k) & relevant_ids)\n",
" return hits / k\n",
"\n",
"def recall_at_k(retrieved_ids, relevant_ids, k):\n",
" top_k = retrieved_ids[:k]\n",
" hits = len(set(top_k) & relevant_ids)\n",
" return hits / len(relevant_ids) if relevant_ids else 0.0\n",
"\n",
"def reciprocal_rank(retrieved_ids, relevant_ids):\n",
" for rank, doc_id in enumerate(retrieved_ids, start=1):\n",
" if doc_id in relevant_ids:\n",
" return 1.0 / rank\n",
" return 0.0\n",
"\n",
"def hit_rate_at_k(retrieved_ids, relevant_ids, k):\n",
" top_k = set(retrieved_ids[:k])\n",
" return 1.0 if top_k & relevant_ids else 0.0\n",
"\n",
"def ndcg_at_k(retrieved_ids, relevant_ids, k):\n",
" top_k = retrieved_ids[:k]\n",
" # DCG\n",
" dcg = 0.0\n",
" for rank, doc_id in enumerate(top_k, start=1):\n",
" if doc_id in relevant_ids:\n",
" dcg += 1.0 / np.log2(rank + 1)\n",
" # ideal DCG \u2014 all relevant docs at top\n",
" ideal_hits = min(len(relevant_ids), k)\n",
" idcg = sum(1.0 / np.log2(i + 2) for i in range(ideal_hits))\n",
" return dcg / idcg if idcg > 0 else 0.0\n",
"\n",
"print(\"metric functions defined: Precision@K, Recall@K, MRR, Hit Rate@K, NDCG@K\")"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "JFatrJJ_ORHw",
"outputId": "69f925f7-6a80-4e36-eaf5-743805ed2ef5"
},
"execution_count": 46,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"metric functions defined: Precision@K, Recall@K, MRR, Hit Rate@K, NDCG@K\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"# run evaluation for all retrieval methods\n",
"# K=5 and K=10 both evaluated\n",
"\n",
"K_VALUES = [5, 10]\n",
"\n",
"def evaluate_retriever(retriever_fn, eval_queries, k_values):\n",
" results = {k: {'precision': [], 'recall': [], 'rr': [], 'hit_rate': [], 'ndcg': []}\n",
" for k in k_values}\n",
" latencies = []\n",
"\n",
" for q in eval_queries:\n",
" query_text = q['query_text']\n",
" relevant = q['relevant_docs']\n",
"\n",
" start = time.time()\n",
" retrieved = retriever_fn(query_text, top_k=max(k_values))\n",
" latencies.append(time.time() - start)\n",
"\n",
" retrieved_ids = [str(r['doc_id']) for r in retrieved]\n",
"\n",
" for k in k_values:\n",
" results[k]['precision'].append(precision_at_k(retrieved_ids, relevant, k))\n",
" results[k]['recall'].append(recall_at_k(retrieved_ids, relevant, k))\n",
" results[k]['rr'].append(reciprocal_rank(retrieved_ids, relevant))\n",
" results[k]['hit_rate'].append(hit_rate_at_k(retrieved_ids, relevant, k))\n",
" results[k]['ndcg'].append(ndcg_at_k(retrieved_ids, relevant, k))\n",
"\n",
" aggregated = {}\n",
" for k in k_values:\n",
" aggregated[k] = {\n",
" 'Precision@K': round(np.mean(results[k]['precision']), 4),\n",
" 'Recall@K': round(np.mean(results[k]['recall']), 4),\n",
" 'MRR': round(np.mean(results[k]['rr']), 4),\n",
" 'Hit Rate@K': round(np.mean(results[k]['hit_rate']), 4),\n",
" 'NDCG@K': round(np.mean(results[k]['ndcg']), 4),\n",
" 'Avg Latency(s)': round(np.mean(latencies), 4)\n",
" }\n",
" return aggregated\n",
"\n",
"print(\"running evaluation on all retrievers...\\n\")\n",
"\n",
"# define retriever wrappers with consistent interface\n",
"def bm25_retriever(query, top_k): return bm25_retrieve(query, top_k=top_k)\n",
"def minilm_retriever(query, top_k): return dense_retrieve(query, model_minilm, index_minilm_cos, top_k=top_k, metric='cosine')\n",
"def bge_retriever(query, top_k): return dense_retrieve(query, model_bge, index_bge_cos, top_k=top_k, metric='cosine', is_bge=True)\n",
"def rrf_retriever(query, top_k): return hybrid_retrieve(query, top_k=top_k, fusion='rrf')\n",
"def wsf_retriever(query, top_k): return hybrid_retrieve(query, top_k=top_k, fusion='weighted', alpha=0.7)\n",
"\n",
"retrievers = {\n",
" 'BM25': bm25_retriever,\n",
" 'MiniLM Cosine': minilm_retriever,\n",
" 'BGE Cosine': bge_retriever,\n",
" 'Hybrid RRF': rrf_retriever,\n",
" 'Hybrid Weighted':wsf_retriever\n",
"}\n",
"\n",
"all_results = {}\n",
"for name, fn in retrievers.items():\n",
" print(f\"evaluating {name}...\")\n",
" all_results[name] = evaluate_retriever(fn, eval_queries, K_VALUES)\n",
" print(f\" done. MRR@10 = {all_results[name][10]['MRR']}\")\n",
"\n",
"print(\"\\nevaluation complete!\")"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "dn_PpbgfOSrn",
"outputId": "75b198e5-90a0-49ba-8cd3-8532dd818c93"
},
"execution_count": 47,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"running evaluation on all retrievers...\n",
"\n",
"evaluating BM25...\n",
" done. MRR@10 = 0.2667\n",
"evaluating MiniLM Cosine...\n",
" done. MRR@10 = 0.6833\n",
"evaluating BGE Cosine...\n",
" done. MRR@10 = 0.6593\n",
"evaluating Hybrid RRF...\n",
" done. MRR@10 = 0.4758\n",
"evaluating Hybrid Weighted...\n",
" done. MRR@10 = 0.64\n",
"\n",
"evaluation complete!\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"# display results as clean comparison tables \u2014 one for K=5, one for K=10\n",
"\n",
"for k in K_VALUES:\n",
" print(f\"\\n{'='*70}\")\n",
" print(f\"Results @ K={k}\")\n",
" print(f\"{'='*70}\")\n",
"\n",
" rows = []\n",
" for method, res in all_results.items():\n",
" row = {'Method': method}\n",
" row.update(res[k])\n",
" rows.append(row)\n",
"\n",
" df_results = pd.DataFrame(rows).set_index('Method')\n",
" print(df_results.to_string())"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "YT2xiQhoOUju",
"outputId": "b2f21d94-7891-4dc5-9d09-f5267c41c4d6"
},
"execution_count": 48,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"\n",
"======================================================================\n",
"Results @ K=5\n",
"======================================================================\n",
" Precision@K Recall@K MRR Hit Rate@K NDCG@K Avg Latency(s)\n",
"Method \n",
"BM25 0.06 0.30 0.2667 0.3 0.2631 0.2150\n",
"MiniLM Cosine 0.16 0.75 0.6833 0.8 0.6613 0.0237\n",
"BGE Cosine 0.16 0.75 0.6593 0.8 0.6431 0.0473\n",
"Hybrid RRF 0.12 0.55 0.4758 0.6 0.4693 0.2292\n",
"Hybrid Weighted 0.16 0.75 0.6400 0.8 0.6387 0.2481\n",
"\n",
"======================================================================\n",
"Results @ K=10\n",
"======================================================================\n",
" Precision@K Recall@K MRR Hit Rate@K NDCG@K Avg Latency(s)\n",
"Method \n",
"BM25 0.04 0.40 0.2667 0.4 0.2987 0.2150\n",
"MiniLM Cosine 0.09 0.85 0.6833 0.9 0.6969 0.0237\n",
"BGE Cosine 0.09 0.85 0.6593 0.9 0.6764 0.0473\n",
"Hybrid RRF 0.08 0.75 0.4758 0.8 0.5298 0.2292\n",
"Hybrid Weighted 0.08 0.75 0.6400 0.8 0.6387 0.2481\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"# bar chart comparison across all methods for K=10\n",
"import matplotlib.pyplot as plt\n",
"\n",
"metrics_to_plot = ['Precision@K', 'Recall@K', 'MRR', 'Hit Rate@K', 'NDCG@K']\n",
"methods = list(all_results.keys())\n",
"k = 10\n",
"\n",
"fig, axes = plt.subplots(1, len(metrics_to_plot), figsize=(18, 5))\n",
"fig.suptitle('Retrieval Method Comparison @ K=10', fontsize=13)\n",
"\n",
"colors = ['#4C72B0', '#55A868', '#C44E52', '#8172B2', '#CCB974']\n",
"\n",
"for ax, metric in zip(axes, metrics_to_plot):\n",
" values = [all_results[m][k][metric] for m in methods]\n",
" bars = ax.bar(methods, values, color=colors)\n",
" ax.set_title(metric, fontsize=10)\n",
" ax.set_ylim(0, max(values) * 1.3 if max(values) > 0 else 1)\n",
" ax.set_xticklabels(methods, rotation=30, ha='right', fontsize=7)\n",
" ax.set_ylabel('Score')\n",
" for bar, val in zip(bars, values):\n",
" ax.text(bar.get_x() + bar.get_width()/2, bar.get_height() + 0.005,\n",
" f'{val:.3f}', ha='center', va='bottom', fontsize=7)\n",
"\n",
"plt.tight_layout()\n",
"plt.savefig('retrieval_comparison.png', dpi=150, bbox_inches='tight')\n",
"plt.show()\n",
"print(\"chart saved as retrieval_comparison.png\")"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 515
},
"id": "SmQNoqnvOV6H",
"outputId": "f918d2e5-4338-41cb-d95d-759bb52929b5"
},
"execution_count": 49,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 1800x500 with 5 Axes>"
],
"image/png": "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4YPcu6TikypevLiku0txpubc0t3ZfgMGDNC2bdt0/vx5/fvvv8mSaD/88IMSExO1fv16q5lfMTExaTbLL0nXrl21ZMkSSdLMmTPvWy+jrnPRokVlNpt1+PBhlStXzmrfX3/9Jen/Zscl1T127FiymXdJszIfpkGDBpYlIIcPH37fpRKT5M+fX7ly5dKhQ4eS7bt27ZrOnz9/34Twk0qpT+fPn9f169etZsnNnz9fr7/+uiVRnuTEiRNpFkuZMmVUpkwZDR48WNevX1e1atU0dOhQ9enTRyaTSUWLFtXRo0eVkJBgNdsvISFBx44de+RZog/j5OSk69evW7YLFCig06dPKy4uzmrJ0GPHjilPnjySpHPnzmn16tWaNWvWI52rWLFi+vnnn1WrVi21adNGhmGoVatWVnX69++v77//PlXH69Spk+bOnftIMSSpUqWKFi5cqLNnz1otE3v27FmdO3dOjRs3fqzjAgAAAM87vukHAAAAPAUjR46Ura2tRo0aJenucn/169fXihUr9McffySrbxiG5ZtvkpQzZ05J0tWrV584Fj8/Pzk7O2vChAkpHu/27dvJlols27at7OzsNG/ePM2bN09OTk5q0qSJVZ2kGU7/ndE0bty4NJvll8TX11djx47VJ598ojfffPO+9TLqOid9s278+PFW1+PgwYNas2aNatasaZmZlXQdJ06caHWMVatWpWppT0lydnbW4MGD9ffff6tbt26Ki4tLVic6OloDBgyQJNnY2KhRo0bat2+fNmzYYFVvwoQJMpvNT23G4NGjRy3fMUzy2WefSZLVt/5sbW2T/V2KiYnR1KlTnziGq1evJvs7mSdPHhUpUkS3bt2yLE3btGlTXb58WUFBQVZ1v/32W12+fDnNr1Hp0qW1fft2y3bLli117do1de7cWQcPHtTx48fVv39/7d+/X7GxsVq9erXeeOMNVaxY8b5L3D5I0aJFFRoaKjc3N7Vt21ZLly612p9e3/RLin3atGlW5Unb/11GGAAAAEDqMNMPAAAAeAo8PT3VunVrLVy4UL/++qtee+01ff3116pZs6Zef/11dezYURUqVJDZbNapU6e0evVqdezYUWPGjJEkvfrqq5KkDz/8UO3atZOjo6NlltKjeuGFFzRv3jw1bdpUXl5e6tq1qzw9PXX9+nUdOXJEK1as0MqVK1WrVi1LG2dn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YbLj5M+f/75Tqu+nYsWKioiI0Pr167Vlyxa988478vX11fLlyx+vM1Kyh9kmk0lms1nS3aWOsmfPLkmW5N69fcyZM6dlcN+7d2+yZUnffPNNvf/++2rSpInMZrM+//zzx44TAB7HCy+8YBmbZs+erfLly+u7775TmTJlJEnBwcFyd3e3auPg4CBJlvHvfjp16qQrV67o888/V+HCheXg4CAfHx/LzfLD3DvGxsXFWY2v9vb2lpdIzGazwsPDNXjwYKv2s2bN0pAhQ1SvXj2tW7dOr7/+eqrOCwCZWdeuXS3L1c+YMSPFOvcb+999912req6urvL09JSnp6fmzJmj+vXr66+//pKzs/PT7QQAPCX3jn9JHmXpuIext7e3HH/ChAlq0KCBPvroI40dO1aStHjxYg0aNEiTJ0+Wj4+PcuXKpYkTJ2rnzp0PPO7Dnp1ID753vjeJl9KzCXd3dy1fvly1a9dW3bp1tX79+mQJRgBIb6+//rr8/PwUGBiozp07p6rN4cOHJckySSNPnjw6cuTIA9sUL15c0t2lN5Necra1tbWMlfc+237QWCslH2/fe+89q/3Dhw9XuXLl1LZtWxmGwSoazxm+6YdMK+kmulChQg/9flLFihV1/PhxOTs7Wx4oJP2cnJyUK1cueXh4KCQkJNXnz507t/z9/fXtt99qyZIl+vHHH3X16tVk9UqWLKk///xTMTExlrLff/9dNjY2qf62XtGiRXXs2DHFx8crT548Kl26tD799FPFx8fryJEjWrx4scxms4KDgzVjxoxk3wuU7s72++mnn/Ttt9+qX79+qe4nAKQ1GxsbDRs2TCNGjFCpUqXk4OCgM2fOJBufCxYsKOnuG8G//vqr5aWH//r999/Vr18/1a9fX6VLl5aDg4OioqJSHY+np6dlZnXNmjW1adMm/fHHH0pMTNT06dN1/fp1RUdHa+DAgXJ3d0+29HPSN03atWun+vXrW75FCABZWdL3nZK+//Qw9479SUu/paRq1aqqVKmSPv3007QMFwCeefb29g9cAvRBRowYoUmTJuncuXOS7t4fV69eXb1791aFChXk6emZ7HtPKZ3vYc9OpOT3zp9//rmuXbuma9euWV4wPnTokHr16pXsZTlJKly4sH7++WdduHBBdevWTfV3uAHgaZowYYJ++ukn7dix46F1b9++rW+++Uavv/66ZTJJ69attXDhQss4fK+bN28qISFBFSpUUIkSJTRp0iTLRI/7uXesrVKlio4cOaLVq1fLbDZr9erV+vPPP3X79m1NnDhRZ8+eVePGjZMdY+TIkRozZozatWtnNTMQWR9JPzwX2rVrp3z58qlJkyb69ddfFRERodDQUPXr18/ytt2YMWM0efJkffHFFzp+/Lj27t2rL7/8MsXjTZkyRYsWLdKRI0d07NgxLVu2TK6ursqTJ0+K53Z0dFSnTp108OBBbdu2Te+//746dOhgWdrzYfLly6dy5cppwYIFku6uqb9o0SJlz55dvr6+aty4sRYsWKBRo0Zp6dKlKlmyZIrH8fX11dq1a/Xdd9+lmBgEgPTSqlUr2draatasWRo0aJAGDBig77//XidPnrSMv99//70kqW/fvoqOjlbr1q21e/duHT9+XPPnz9fRo0cl3X1bbv78+Tp8+LB27typdu3aPXR24L0aN26sZcuW6erVq6pcubKGDh2q1157TQ4ODtq0aZMqVaqk1q1b69q1a1q5cmWKxzCZTJo5c6Y6duyo+vXrJ/uuFQBkNba2tjp8+LD++uuvVH8nJGnsv9/MwCQffPCBZs2apcjIyLQIFQAyBQ8PD0VERCg8PFxRUVGKjY1NdVsfHx+VK1dO48aNk3T3/nj37t3auHGjjh07ppEjR2rXrl3Jzrd//34dPXpUUVFRio+PT9Wzk2bNmlnG8TFjxiguLk558+bVyy+/rGrVqun06dOqW7eu3n///fvOmClYsKBlaX4/Pz9FR0c/xhUDgLRTtmxZtWvXTl988UWyfZcuXdKFCxd0/PhxLV68WDVq1FBUVJTVMs6ffvqpChYsqGrVqmnevHn666+/dPz4cc2ePVsVKlTQzZs3ZTKZNGfOHB09elQ1atTQmjVrdPz4cf3111+aOXOmLl++bLmv9vX11c6dO3Xs2DG5u7trxowZatOmjezt7TVhwgT5+fmpf//++u233xQSEmJZKem/hg8frrFjx6pdu3ZWny5B1kbSD8+FHDly6JdfflGhQoXUvHlzlSxZUu+++67u3Lmj3LlzS7q7PNy0adP01VdfqXTp0mrYsKGOHz+e4vFy5cql//3vf6pcubKqVKmiv//+W+vWrUtxmdAcOXJo48aNunr1qqpUqaKWLVvqzTff1PTp0x+pD+PHj9egQYO0d+9eValSRWfOnNGZM2f0999/a/Lkybp69ar27Nnz0O9J1alTR8HBwZo7d6769OnzROtOA8DjsrOzU9++ffW///1PgYGBGjlypMaPH6+SJUuqbt26Cg4OVpEiRSTdXeN+69atunnzpt544w1VqlRJ3377rWVZ5O+++07Xrl1TxYoV1aFDB/Xr1++RloTz9PRUq1at1KZNG926dUsjR45UdHS0zp07pzVr1mjdunW6fv265s6dm+LLHUlMJpNmzJihLl26qEGDBtq2bdsTXSMAeNblzp3bci+dGveO/feugvFfdevWVZEiRZjtB+C50qJFC9WtW1e1a9dW/vz5H/nh7IABAxQUFKSzZ8/qvffeU/PmzeXv769q1arpypUr6t27t1X97t27y8vLS5UrV1b+/Pn1+++/p+rZyQcffKCQkBAFBQUpX758+u2333Tx4kVdvnxZY8eO1YULF3T27Fn16NHjgfG+/PLLCg0NVVRUFIk/AM+Ejz/+OMUZeF5eXnJzc1OlSpU0YcIE+fr66uDBgypVqpSlzksvvaQ//vhD7du31yeffKIKFSrotdde06JFizRx4kTLbOlXX31Ve/bskZeXl/r06aNSpUqpevXqWrRokaZOnapevXpJunuf/eGHH+qdd97RlStX1LVrV12/fl1nz57Vjh07tGDBAt24cUOrV6/Wyy+//MB+DR06VOPGjVOHDh30ww8/pOEVw7PKZPDEH8g0vv/+e/Xv31/9+vVTx44dVaxYMSUmJiosLEzjx49XnTp1NGDAgIwOEwAynbi4OLVq1UrHjx/XqFGjVK9ePTk5Oen69etasWKFpkyZog0bNjz0ZhoAAADI6vbt26cGDRqoTp066tevnypWrCg7OzsdP35cX375pS5cuKClS5dmdJgAkKkZhqHevXtr7dq1GjVqlJo2bar8+fMrJiZGGzZs0NixYxUUFKTKlStndKh4xpD0AzKZ/fv36+OPP9b69esVFxcns9mswoUL67333tOAAQNkb2+f0SECQKZkGIa+//57ff755woPD5e9vb3MZrNee+01jRgxQnXq1MnoEAEAAIBnwqVLl/Tpp59q8eLFioqKko2NjXLnzi1/f3+NGjVKrq6uGR0iAGQJa9as0f/+9z/t2LFDdnZ2SkhIUOXKlTV48GC1bNkyo8PDM4ikH5BJJSQk6OLFi3JwcFC+fPkyOhwAyFJu3rypq1evKn/+/I/0fUAAAADgeWIYhi5fvqyEhAS5urqm+NkTAMCTu337tqKiopQnTx7lypUro8PBM4ykHwAAAAAAAAAAAJDJ8foNAAAAAAAAAAAAkMmR9AMAAAAAAAAAAAAyOZJ+AAAAAAAAAAAAQCZnl9EBPIvMZrPOnTunXLlyyWQyZXQ4AJ4zhmHo33//lZub23P9EXTGYgAZibH4/zAeA8hIjMd3MRYDyEiMxXcxFgPISKkdi0n6peDcuXMqWLBgRocB4Dl39uxZvfzyyxkdRoZhLAbwLHjex2KJ8RjAs+F5H48ZiwE8CxiLGYsBZLyHjcUk/VKQK1cuSXcvXu7cuTM4GgDPm+joaBUsWNAyFj2vGIsBZCTG4v/DeAwgIzEe38VYDCAjMRbfxVgMICOldiwm6ZeCpOnZuXPnZgAHkGGe96UiGIsBPAue97FYYjwG8Gx43sdjxmIAzwLGYsZiABnvYWPx87sIMwAAAAAAAAAAAJBFkPQDAAAAAAAAAAAAMjmSfgAAAAAAAAAAAEAmR9IPAAAAAAAAAAAAyORI+gEAAAAAAAAAAACZHEk/AAAAAAAAAAAAIJMj6QcAAAAAAAAAAABkciT9AAAAAAAAAAAAgEyOpB8AAAAAAAAAAACQyZH0AwAAAAAAAAAAADI5kn4AAAAAAAAAAABAJkfSDwAAAAAAAAAAAMjkSPoBAAAAAAAAAAAAmRxJPwAAAAAAAAAAACCTI+kHAAAAAAAAAAAAZHIk/QAAAAAAAAAAAIBMjqQfAAAAAAAAAAAAkMmR9AMAAAAAAAAAAAAyOZJ+AAAAAAAAAAAAQCZH0g8AAAAAAAAAAADI5Ej6AQAAAAAAAAAAAJkcST8AAAAAAAAAAAAgkyPpBwAAAAAAAAAAAGRyJP0AAAAAAAAAAACATI6kHwAAAAAAAAAAAJDJkfQDAAAAAAAAAAAAMjmSfgAAAAAAAAAAAEAmR9IPAPBQv/zyixo1aiQ3NzeZTCatWrXqoW1CQ0NVsWJFOTg4yNPTU3Pnzn3qcQIAAAAAAADA84qkHwDgoWJiYlS+fHnNmDEjVfUjIiLUoEED1a5dW+Hh4frggw/UrVs3bdy48SlHCgBZ34wZM+Th4SFHR0dVq1ZNYWFhD6w/bdo0eXl5KXv27CpYsKAGDBigO3fupFO0AAAAAAAgvdhldAAAgGdfvXr1VK9evVTXnzlzpooUKaLJkydLkkqWLKnffvtNU6dOlZ+f39MKEwCyvCVLliggIEAzZ85UtWrVNG3aNPn5+eno0aNydnZOVv+HH37Q0KFDNXv2bFWvXl3Hjh1T586dZTKZNGXKlAzoAQAAAAAAeFqY6QcASHM7duyQr6+vVZmfn5927Nhx3zaxsbGKjo62+gEArE2ZMkXdu3dXly5dVKpUKc2cOVM5cuTQ7NmzU6y/fft21ahRQ23btpWHh4fefvtttWnT5qGzAwEAAAAAQOZD0g8AkOYuXLggFxcXqzIXFxdFR0fr9u3bKbYZP368nJycLL+CBQumR6gAkGnExcVpz549Vi9V2NjYyNfX974vVVSvXl179uyxJPlOnTqldevWqX79+ukSMwAAAAAASD8s7wkAeCYEBgYqICDAsh0dHU3iDwDuERUVpcTExBRfqjhy5EiKbdq2bauoqCjVrFlThmEoISFBPXv21LBhw+57ntjYWMXGxlq2mXkNAAAAAEDmwEw/AECac3V11cWLF63KLl68qNy5cyt79uwptnFwcFDu3LmtfgCAJxMaGqpx48bpq6++0t69e7VixQoFBwdr7Nix923DzGsAAAAAADInkn4AgDTn4+OjkJAQq7LNmzfLx8cngyICgMwvX758srW1TfGlCldX1xTbjBw5Uh06dFC3bt1UtmxZNWvWTOPGjdP48eNlNptTbBMYGKgbN25YfmfPnk3zvgAAAAAAgLRH0g8A8FA3b95UeHi4wsPDJUkREREKDw/XmTNnJN19QNyxY0dL/Z49e+rUqVMaMmSIjhw5oq+++kpLly7VgAEDMiJ8AMgS7O3tValSJauXKsxms0JCQu77UsWtW7dkY2N9y29raytJMgwjxTbMvAYAAEBmMGPGDHl4eMjR0VHVqlWzfMf6fqZNmyYvLy9lz55dBQsW1IABA3Tnzp10ihYA0gff9AMAPNTu3btVu3Zty3bSt/c6deqkuXPn6vz585YEoCQVKVJEwcHBGjBggD7//HO9/PLLCgoKkp+fX7rHDgBZSUBAgDp16qTKlSuratWqmjZtmmJiYtSlSxdJUseOHeXu7q7x48dLkho1aqQpU6aoQoUKqlatmk6cOKGRI0eqUaNGluQfAAAAkNksWbJEAQEBmjlzpqpVq6Zp06bJz89PR48elbOzc7L6P/zwg4YOHarZs2erevXqOnbsmDp37iyTyaQpU6ZkQA8A4Okg6QcAeKhatWrdd0aIJM2dOzfFNvv27XuKUQHA88ff31+XL1/WqFGjdOHCBXl7e2vDhg1ycXGRJJ05c8ZqZt+IESNkMpk0YsQIRUZGKn/+/GrUqJE+/fTTjOoCAAAA8MSmTJmi7t27W15+mzlzpoKDgzV79mwNHTo0Wf3t27erRo0aatu2rSTJw8NDbdq00c6dO9M1bgB42kj6AQAAAJlI37591bdv3xT3hYaGWm3b2dlp9OjRGj16dDpEBgAAADx9cXFx2rNnjwIDAy1lNjY28vX11Y4dO1JsU716dS1YsEBhYWGqWrWqTp06pXXr1qlDhw73PU9sbKxiY2Mt29HR0WnXCQB4Skj6AQAAAAAAAAAyhaioKCUmJlpWu0ji4uKiI0eOpNimbdu2ioqKUs2aNWUYhhISEtSzZ08NGzbsvucZP368PvroozSNHQCeNpuHVwEAAAAAAAAAIHMKDQ3VuHHj9NVXX2nv3r1asWKFgoODNXbs2Pu2CQwM1I0bNyy/s2fPpmPEAPB4mOkHAAAAAAAAAMgU8uXLJ1tbW128eNGq/OLFi3J1dU2xzciRI9WhQwd169ZNklS2bFnFxMSoR48eGj58uNV3sZM4ODjIwcEh7TsAAE8RM/0AAAAAAAAAAJmCvb29KlWqpJCQEEuZ2WxWSEiIfHx8Umxz69atZIk9W1tbSZJhGE8vWABIZ8z0AwAAAAAAAABkGgEBAerUqZMqV66sqlWratq0aYqJiVGXLl0kSR07dpS7u7vGjx8vSWrUqJGmTJmiChUqqFq1ajpx4oRGjhypRo0aWZJ/AJAVkPQDAAAAAAAAAGQa/v7+unz5skaNGqULFy7I29tbGzZskIuLiyTpzJkzVjP7RowYIZPJpBEjRigyMlL58+dXo0aN9Omnn2ZUFwDgqcjw5T1nzJghDw8POTo6qlq1agoLC7tv3UOHDqlFixby8PCQyWTStGnTnviYAAAAAAAAqfXLL7+oUaNGcnNzk8lk0qpVqx7aJjQ0VBUrVpSDg4M8PT01d+7cpx4nAGR1ffv21enTpxUbG6udO3eqWrVqln2hoaFWY62dnZ1Gjx6tEydO6Pbt2zpz5oxmzJihPHnypH/gAPAUZWjSb8mSJQoICNDo0aO1d+9elS9fXn5+frp06VKK9W/duqWiRYtqwoQJ9/0o66MeEwAAAAAAILViYmJUvnx5zZgxI1X1IyIi1KBBA9WuXVvh4eH64IMP1K1bN23cuPEpRwoAAIDnTYYm/aZMmaLu3burS5cuKlWqlGbOnKkcOXJo9uzZKdavUqWKJk6cqNatW8vBwSFNjgkAAAAAAJBa9erV0yeffKJmzZqlqv7MmTNVpEgRTZ48WSVLllTfvn3VsmVLTZ069SlHCgAAgOdNhiX94uLitGfPHvn6+v5fMDY28vX11Y4dO9L1mLGxsYqOjrb6AQAAAAAAPKkdO3ZYPaeQJD8/P55TAAAAIM1lWNIvKipKiYmJlo+rJnFxcdGFCxfS9Zjjx4+Xk5OT5VewYMHHOj8AAAAAAMC9Lly4kOJziujoaN2+fTvFNjynAAAAwOPI0OU9nxWBgYG6ceOG5Xf27NmMDgkAAAAAADyneE4BAACAx2GXUSfOly+fbG1tdfHiRavyixcvytXVNV2P6eDgcN9vBAIAAAAAADwuV1fXFJ9T5M6dW9mzZ0+xDc8pAAAA8DgybKafvb29KlWqpJCQEEuZ2WxWSEiIfHx8npljAgAAAAAAPC4fHx+r5xSStHnzZp5TAAAAIM1l2Ew/SQoICFCnTp1UuXJlVa1aVdOmTVNMTIy6dOkiSerYsaPc3d01fvx4SVJcXJz++usvy58jIyMVHh6unDlzytPTM1XHBAAAAAAAeFw3b97UiRMnLNsREREKDw/XSy+9pEKFCikwMFCRkZGaN2+eJKlnz56aPn26hgwZoq5du2rr1q1aunSpgoODM6oLAAAAyKIyNOnn7++vy5cva9SoUbpw4YK8vb21YcMGyweuz5w5Ixub/5uMeO7cOVWoUMGyPWnSJE2aNElvvPGGQkNDU3VMAAAAAACAx7V7927Vrl3bsh0QECBJ6tSpk+bOnavz58/rzJkzlv1FihRRcHCwBgwYoM8//1wvv/yygoKC5Ofnl+6xAwAAIGvLsOU9k/Tt21enT59WbGysdu7cqWrVqln2hYaGau7cuZZtDw8PGYaR7JeU8EvNMfF0rV27Vl5eXipevLiCgoKS7Q8LC1Pp0qXl6empjz/+2FK+efNmeXt7q3Tp0howYIClPCoqSrVr11bx4sXVvHlz3blzJ1368V9ZtV8AAAAAgEdTq1atFJ9NJD2/mDt3brLnFLVq1dK+ffsUGxurkydPqnPnzukeNwAAALK+DE/6IetISEhQQECAtm7dqn379mnixIm6cuWKVZ0+ffpo0aJFOnr0qNatW6cDBw7IbDarW7duWrVqlQ4dOqSbN29q06ZNkqQJEyaoRYsWOn78uIoWLZpiwo1+AQAAAAAAAACA5x1JP6SZpNlu7u7uypkzp+rVq2dJckl3l2dNSEhQuXLlZGtrq9atW2vt2rWKiopSzpw55eHhIUmqU6eOVqxYIUlas2aNOnToIElq3769fvrpJ/oFAAAAAAAAAADwHyT9kGbOnTsnd3d3y7a7u7siIyMfuj9//vyKiYnRgQMHlJiYqDVr1lja3bhxQ05OTikeL71k1X4BAAAAAAAAAICsg6QfMpzJZNKCBQvUs2dPVa9eXe7u7rK1tc3osJ5YVu0XAAAAAAAAAAB49thldADIOtzc3KxmrEVGRqpq1aoP3O/m5iZJqlmzpn7//XdJ0oIFC2QymSRJTk5Olllx99ZPT1m1XwAAAAAAAAAAIOtgph/STNWqVXXw4EFFRkbq5s2bWr9+vfz8/Cz73dzcZGtrq/379ysxMVGLFy9Wo0aNJEmXLl2SJN28eVNffvml3n33XUlSw4YNNX/+fEl3k2ZJ9dNTVu0XAAAAAAAAAADIOkj6Ic3Y2dlp8uTJql27try9vTVw4EDlzZtX9evX17lz5yRJ06dPV5s2bfTKK6+obt26Klu2rCRp/PjxKlmypKpUqaK+ffuqRIkSkqTAwEAtW7ZMnp6eOnHihLp160a/AAAAAAAAAAAA/sNkGIaR0UE8a6Kjoy3LL+bOnTujwwHwnGEMuovrACAjMQb9H64FgIzEGHQX1wFARmIMuovrACAjpXYMYqYfAAAAAAAAAAAAkMmR9AMAAAAAAAAAAAAyOZJ+AAAAAAAAAAAAQCZH0g8AAAAAAAAAAADI5Ej6AQCQxaxdu1ZeXl4qXry4goKCku1ftGiRypYtqzJlyqh169aKjY2VJHXu3FlFixaVt7e3vL29dfLkSUnSnTt31Lx5cxUvXly1a9dWVFRUuvbnXlm5bwCyloeNV1euXFGTJk1UokQJlSpVyjIuhYSEqEKFCipfvrzefvttXb16VZI0cOBAlStXTuXKlVOrVq1069atdO0PAAAA8Lge99548+bN8vb2VunSpTVgwABLfX9/f8u/793d3dW0adP06grwzCPpBwBAFpKQkKCAgABt3bpV+/bt08SJE3XlyhXLfsMwNHDgQIWGhurgwYOSpBUrVlj2f/HFFwoPD1d4eLiKFSsmSQoKClLRokV1/PhxtWjRQhMmTEjfTv1/WblvwKOYMWOGPDw85OjoqGrVqiksLOy+dWvVqiWTyZTs16BBg3SM+PnzsPFKkvr37y9/f38dOXJEu3fvlqurqyTpgw8+0OLFi/Xnn3+qYsWKmjVrliRp9OjR2r9/v/bv369ChQpZygEA9/ewh8wLFy5UmTJlVKpUKU2cONFSfvLkSVWuXFmenp7q2bOnDMOQJEVFRal27doqXry4mjdvrjt37qRbX/4rK/cNQNbyuPfGZrNZ3bp106pVq3To0CHdvHlTmzZtkiQtWbLE8u/72rVrk/QD7kHSDwCALCQsLEylS5eWu7u7cubMqXr16lluipMYhqFbt24pMTFRMTExKlCgwAOPuWbNGnXo0EGS1L59e/30009PLf4Hycp9A1JryZIlCggI0OjRo7V3716VL19efn5+unTpUor1V6xYofPnz1t+Bw8elK2trVq1apXOkT9fHjZe3bhxQ7t371bbtm0lSTly5NALL7wgSTKZTPr3338lSdHR0ZZxLHfu3JLujnN37tyRyWRKzy4BQKbzsIfMUVFRGjlypH799VcdOHBAW7du1dGjRyVJH374ocaMGaMTJ04oKipKwcHBkqQJEyaoRYsWOn78uIoWLZpiso2+AYC1x703joqKUs6cOeXh4SFJqlOnjtWLvZIUGxurjRs3kvQD7kHSDwCALOTcuXNyd3e3bLu7uysyMtKybTKZNH36dJUpU0Zubm7KlSuXatWqZdk/aNAglS9fXoGBgUpMTEx2zDx58uj69evp0pf/ysp9A1JrypQp6t69u7p06aJSpUpp5syZypEjh2bPnp1i/Zdeekmurq6W3+bNm5UjRw6Sfk/Zw8ariIgI5cuXT+3atVOFChU0YMAAJSQkSJK+/vpr1a1bV25ubjpw4IDlxQRJ6tevn9zc3HTo0CG999576dchAMiEHvaQ+dSpUypZsqRefPFF2dra6vXXX9fKlStlGIa2b99umRV/74thz8oLY1m5bwCynse9N86fP79iYmJ04MABJSYmas2aNVbtJGn9+vXy8fFRnjx50qs7wDOPpB8AAM+R+Ph4ffPNNzpw4IDOnTsnwzC0YMECSdL48eN1+PBh7dy5U6dOndLMmTMzONpHk5X7BkhSXFyc9uzZI19fX0uZjY2NfH19tWPHjlQd47vvvlPr1q0ts8pSEhsbq+joaKsf0lZCQoLCwsI0ePBg7dmzR5cvX9acOXMkSVOnTtXmzZt17tw5+fj4aPz48ZZ2X3zxhSIjI1WhQgUtXrw4o8IHgEzhYQ+ZPT09dfDgQUVGRurOnTtav369IiMjdeXKFb300kuWGdX3trtx44acnJxSPF56ysp9A/D8ud+9sclk0oIFC9SzZ09Vr15d7u7usrW1tWq7dOlS+fv7Z1DkwLOJpB8AAFmIm5ub1T/QIyMj5ebmZtkODw+XnZ2dChUqJFtbWzVv3lzbt2+XJBUoUEAmk0mOjo7q2LGjdu3aleyY169fz7A36LJy34DUiIqKUmJiolxcXKzKXVxcdOHChYe2DwsL08GDB9WtW7cH1hs/frycnJwsv4IFCz5R3M+jh41X7u7uKlKkiLy9vWVjY6MmTZooPDxcly9f1uHDh1WhQgVJUqtWrSzjWBIbGxu1adNGP/74Y/p0BgCyqJdeekmff/65mjZtKl9fX5UtWzbZw+TMKiv3DUDm87j3xpJUs2ZN/f7779q5c6e8vb1VvHhxS7vbt29r8+bNaty4cbr1BcgMSPoBAJCFVK1a1fJW782bN7V+/Xr5+flZ9ru7u2v//v26du2aJCkkJEReXl6SpPPnz0uSzGaz1qxZo9KlS0uSGjZsqPnz50uSFixYoIYNG6Znlyyyct+A9PDdd9+pbNmyqlq16gPrBQYG6saNG5bf2bNn0ynCrONh41WBAgXk7OysiIgISVJoaKhlGbbLly9byu8dx44fP25pv2bNGpUoUSIdewQAmc/DHjJLUtOmTbVr1y799ttvKlCggIoXL668efPq6tWrMgwjWTsnJyfduHHjvsdLL1m5bwCynse9N5Zk+Xb5zZs39eWXX+rdd9+1tFu3bp1ef/115cqVKx17Azz7SPoBAJCF2NnZafLkyapdu7a8vb01cOBA5c2bV/Xr19e5c+fk5uamoUOHqnr16ipbtqxu3Lhh+S5Uu3btVK5cOZUrV06JiYnq16+fJKl79+46ceKEPD09tWzZMg0dOpS+ARkgX758srW11cWLF63KL168KFdX1we2jYmJ0eLFi63+kXw/Dg4Oyp07t9UPj+Zh45V0dxnPFi1aqGzZsoqOjlb37t1lZ2enr776So0aNVL58uX1yy+/aNiwYZLufs+vbNmyKleunE6dOqVRo0ZlZBcB4Jn3sIfM0v89TL5w4YKWLFmiNm3ayGQy6dVXX1VwcLAkaeHChWrUqJGk5C+MJZWnt6zcNwBZz+PeG0t3VyEpWbKkqlSpor59+1q9+LZ06VK98847GdIn4FlmMpJe74FFdHS05Q0nHnIASG+MQXdxHQBkpGd1DKpWrZqqVq2qL7/8UtLd2auFChVS3759H5i0njt3rnr27KnIyEjlzZv3kc75rF4LAM8HxqC7uA6PZ82aNRo0aJDMZrOGDBmiHj16qH79+goKCpKbm5tatWqlQ4cOydbWVpMmTbIkzo4fP67WrVvr+vXrevPNNzVz5kzZ2Njo8uXLatmypSIjI1WmTBktWrRI2bNnp2/I8hiD7uI64L/Wrl2rgQMHymw268MPP0z2KYUrV66oa9euOnr0qGxsbPTTTz+pWLFieu211/Tvv/9Kuju7ul27dpo2bZokadKkSfr2229la2ur7t27a8CAAendLTyjUjsGkfRLAQM4gIzEGHQX1wFARnpWx6AlS5aoU6dOmjVrlqpWrapp06Zp6dKlOnLkiFxcXNSxY0e5u7tr/PjxVu1ee+01ubu7a/HixY98zmf1WgB4PjAG3cV1AJCRGIPu4jrgXgkJCSpVqpS2bdsmJycnVapUSdu3b7d6ybJ9+/aqX7++2rZtq1u3bskwDL3wwgtWx6lZs6Y++eQT1apVS1u2bNHUqVO1atUqZcuWTZcuXZKzs3N6dw3PqNSOQSzvCQAAAGQS/v7+mjRpkkaNGiVvb2+Fh4drw4YNcnFxkSSdOXPG8g3LJEePHtVvv/2WqqU9gdRYu3atvLy8VLx4cQUFBSXbf+XKFTVp0kQlSpRQqVKldPLkSUlS586dVbRoUXl7e8vb29tS/vfff6tWrVoqW7as6tWrZ/mmFAAAAPCsCgsLU+nSpeXu7q6cOXOqXr162rRpk2X/jRs3tHv3brVt21aSlCNHjmQJv8jISEVEROj111+XJM2aNUuBgYHKli2bJJHww2Mh6QcAAABkIn379tXp06cVGxurnTt3qlq1apZ9oaGhmjt3rlV9Ly8vGYaht956K50jRVaUkJCggIAAbd26Vfv27dPEiRN15coVqzr9+/eXv7+/jhw5ot27d1t9c/KLL75QeHi4wsPDVaxYMUnSwIED1atXLx04cEDt27fXZ599lq59AgAAAB7VuXPn5O7ubtl2d3dXZGSkZTsiIkL58uVTu3btVKFCBQ0YMEAJCQlWx1i2bJlatGghG5u7aZrjx49ry5Ytqlq1qt5++20dO3YsfTqDLMUuowNA5vDOkl4ZHcIjWer/darr/t6kxVOMJG3VWP1jRocAIAMxFj87GI+B51dWHotT4943miVZ3mhu06aNpP97o3nBggWS7r7R/DCHDx9WnTp1JEl16tTR2LFjNW7cuDSNG0DWk5nGY+6LAWRVmWksltL+3vhBEhISFBYWpunTp6tcuXLq2LGj5syZo+7du/9fPEuXauLEiVZtYmJiFBYWpo0bN6pLly76/fff0y1mZA3M9AMAAAAApMqTvtE8aNAglS9fXoGBgUpMTJQklStXTitWrJAkrVixwup4AAAAwLPIzc3N6r41MjJSbm5ulm13d3cVKVJE3t7esrGxUZMmTRQeHm7Zf+bMGf3zzz+qXr26VZvmzZtLkvz8/Jjph8dC0g8AAAAAkCaS3mgePHiw9uzZo8uXL2vOnDmSpPHjx+vw4cPauXOnTp06pZkzZ0qSJk+erHXr1qlixYq6cOFCsm+dAAAAAM+aqlWr6uDBg4qMjNTNmze1fv16+fn5WfYXKFBAzs7OioiIkHT3UwwlS5a07F+2bJlatWolk8lkKWvcuLFCQ0Ml3V1ho3DhwunTGWQpJP0AAAAAAKnyJG80FyhQQCaTSY6OjurYsaN27dplabN69Wrt3btX7733ngoWLJiufQIAAAAelZ2dnSZPnqzatWvL29tbAwcOVN68eVW/fn2dO3dOkjR16lS1aNFCZcuWVXR0dLKlPd955x2rY3br1k3h4eEqU6aM3n//fX377bfp2idkDXzTDwAAAACQKve+0ezk5KT169dr5MiRlv33vtFcpEgRqzeaz58/rwIFCshsNmvNmjUqXbq0JCkqKkp58+aVyWTSp59+qh49emRI3wAAAIBH0bhxYzVu3NiqbN26dZY/V65cWXv37k2x7c6dO5OVOTg4aMmSJWkbJJ47zPQDnnNr166Vl5eXihcvrqCgoGT7w8LCVLp0aXl6eurjjz+2lIeEhKhChQoqX7683n77bV29elXS3Yc2tWvXVvHixdW8eXPduXMn3fryX1m5bwAAABnhSd5obteuncqVK6dy5copMTFR/fr1k3T33svLy0uvvPKKcuTIoXfffTfD+gcAAAAAmRlJP+A5lpCQoICAAG3dulX79u3TxIkTdeXKFas6ffr00aJFi3T06FGtW7dOBw4ckCR98MEHWrx4sf78809VrFhRs2bNkiRNmDBBLVq00PHjx1W0aNEUk23pISv3DQAAICM1btxYx44d04kTJyyz8tatW2dZ5jPpjeYDBw5o/vz5cnBwkCRt3bpV+/fv18GDBxUUFGQp9/f317Fjx3Ts2DFNnjxZNjb8MzWtPexluCtXrqhJkyYqUaKESpUqpZMnT1rtb9mypSpXrmzZ5mU4AAAA4NnEv6aA51jSTDd3d3flzJlT9erV06ZNmyz7z507p4SEBJUrV062trZq3bq11q5dK0kymUz6999/JUnR0dEqUKCAJGnNmjXq0KGDJKl9+/b66aef0rlXd2XlvgEAAACplZqX4fr37y9/f38dOXJEu3fvlqurq2Xf5s2bZWtra1Wfl+EAAACAZxPf9AOeY+fOnZO7u7tl293dXZGRkQ/c//PPP0uSvv76a9WtW1f29vYqVqyYvvzyS0nSjRs35OTklOLx0lNW7hsAAACQWve+DCfJ8jJcmzZtJN29x929e7cWLFggScqRI4elbXx8vMaNG6cvvvhCXbp0sZSvWbNGu3btknT3ZbgPP/xQffv2Ta8uAQAAPHW/N2mR0SGkWo3VP2Z0CHiGMNMPwGOZOnWqNm/erHPnzsnHx0fjx4/P6JDSTFbuGwAAAJ4vD3sZLiIiQvny5VO7du1UoUIFDRgwQAkJCZKkKVOmqFOnTsqVK5fVMXkZDgAAAHg2MdMPeI65ublZ/QM9MjJSVatWfeB+Nzc3Xb58WYcPH1aFChUkSa1atdLo0aMlSU5OTpaHAEn1M0JW7hsAAMDTkJneZpZ4ozmtJCQkKCwsTNOnT1e5cuXUsWNHzZkzR/Xr19emTZu0ZcsWnT59OqPDBAAAAJAKzPQDnmNVq1bVwYMHFRkZqZs3b2r9+vXy8/Oz7Hdzc5Otra3279+vxMRELV68WI0aNdKLL76oy5cvKyIiQpIUEhIiLy8vSVLDhg01f/58SdKCBQvUqFGj9O+YsnbfAAAAgNS638tuSdzd3VWkSBF5e3vLxsZGTZo0UXh4uMLDw/XXX3+pSJEiqlmzpg4cOKD69etL+r+X4VI6HgAAAPAsW7t2rby8vFS8ePEUv0195coVNWnSRCVKlFCpUqV08uRJSVKbNm1Uvnx5lSlTRr169ZLZbJYk7du3T9WqVVOZMmXUtm1bxcfHp2t//oukH/Acs7Oz0+TJk1W7dm15e3tr4MCByps3r+rXr69z585JkqZPn642bdrolVdeUd26dVW2bFnZ2dnpq6++UqNGjVS+fHn98ssvGjZsmCQpMDBQy5Ytk6enp06cOKFu3brRtyxixowZ8vDwkKOjo6pVq6awsLAH1p82bZq8vLyUPXt2FSxYUAMGDNCdO3fSKVoAAABID38ZrkCBAnJ2dra89BYaGqqSJUuqQYMGOn/+vP7++2/99ttvKlu2rNatWyeJl+EAAACQOSUkJCggIEBbt27Vvn37NHHiRF25csWqTv/+/eXv768jR45o9+7dcnV1lSTNmjVLf/75pw4cOKCoqCitXr1aktStWzd98cUXOnjwoEqXLq05c+ake7/uxfKewHOucePGaty4sVVZ0j/mJenVV1/VoUOHkrVr2bKlWrZsmaw8f/78+vnnn9M+0MeQlfuW3pYsWaKAgADNnDlT1apV07Rp0+Tn56ejR4/K2dk5Wf0ffvhBQ4cO1ezZs1W9enUdO3ZMnTt3lslk0pQpUzKgBwAAAM+ne1+GM5vNGjJkiOVluKCgILm5uWnq1Klq0aKF4uPj5e3tre7duz/wmIGBgWrZsqWmTZumMmXKaOzYsenUGwAAAODxhYWFqXTp0pZvXterV0+bNm1SmzZtJN39dvXu3bu1YMECSVKOHDksbXPnzi1JSkxMVGxsrEwmkyTpzJkzqlatmiSpTp06+uijj9SjR49069N/kfQDADzUlClT1L17d3Xp0kWSNHPmTAUHB2v27NkaOnRosvrbt29XjRo11LZtW0mSh4eH2rRpo507d6Zr3AAAAHj4y3CVK1fW3r1779vew8NDu3fvtmw/zy/DAQAAIPM6d+6cJeEn3V3q/t6l8CMiIpQvXz61a9dOf/31l2rVqqWJEyfKzu5uKq1ly5batm2b/Pz8LPfXxYoV08aNG+Xn56eVK1daHS8jsLwnAOCB4uLitGfPHvn6+lrKbGxs5Ovrqx07dqTYpnr16tqzZ49lCdBTp05p3bp1lu/ApCQ2NlbR0dFWPwAAAAAAAABIDwkJCQoLC9PgwYO1Z88eXb582Wq5zuXLl+v8+fMyDEMhISGSpNmzZ2vixImqXLmyHBwcZGtrm1HhSyLpBwB4iKioKCUmJsrFxcWq3MXFRRcuXEixTdu2bfXxxx+rZs2aypYtm4oVK6ZatWpZvo+YkvHjx8vJycnyK1iwYJr2AwAAAAAAAMDzy83NzWomXmRkpNzc3Czb7u7uKlKkiLy9vWVjY6MmTZooPDzc6hj29vZq1qyZ5Zt+pUqV0pYtW7R79275+fmpePHi6dKX+yHpBwBIc6GhoRo3bpy++uor7d27VytWrFBwcPADv/cSGBioGzduWH5nz55Nx4gBAAAAAAAAZGVVq1bVwYMHFRkZqZs3b2r9+vXy8/Oz7C9QoICcnZ0VEREh6e4zzpIlSyo+Pl6nT5+WdPebfmvXrlWJEiUkSZcvX5Z0d5bgZ599lqHf85P4ph8A4CHy5csnW1tbXbx40ar84sWLcnV1TbHNyJEj1aFDB3Xr1k2SVLZsWcXExKhHjx4aPny4bGySv3Pi4OAgBweHtO8AAABAFrZn0+CMDiHVKr09MaNDAAAAwHPMzs5OkydPVu3atWU2mzVkyBDlzZtX9evXV1BQkNzc3DR16lS1aNFC8fHx8vb2Vvfu3RUfH6/WrVvr5s2bMgxDtWrVUs+ePSVJ8+bN0zfffCPDMNStWze99dZbGdpHZvoBAB7I3t5elSpVsqxTLUlms1khISHy8fFJsc2tW7eSJfaS1rM2DOPpBQsAAAAAyNTWrl0rLy8vFS9eXEFBQcn2L1q0SGXLllWZMmXUunVrxcbGSpJOnjypypUry9PTUz179rT82zMqKkq1a9dW8eLF1bx5c925cydd+3OvrNw3AMgsGjdurGPHjunEiROWWXnr1q2zLPNZuXJl7d27VwcOHND8+fPl4OCgHDlyaMeOHTpw4IAOHjyo6dOny87u7py6gQMH6ujRozp27JiGDBmSYf1KQtIPAPBQAQEB+vbbb/X999/r8OHD6tWrl2JiYtSlSxdJUseOHRUYGGip36hRI3399ddavHixIiIitHnzZo0cOVKNGjXK8I/ZAgAAAACeTQkJCQoICNDWrVu1b98+TZw4UVeuXLHsNwxDAwcOVGhoqA4ePChJWrFihSTpww8/1JgxY3TixAlFRUUpODhYkjRhwgS1aNFCx48fV9GiRVNMtqWHrNw3AMCzg6QfAOCh/P39NWnSJI0aNUre3t4KDw/Xhg0b5OLiIkk6c+aMzp8/b6k/YsQIDRw4UCNGjFCpUqX07rvvys/PT7NmzcqoLgDPtAe98fvvv//K29vb8nNyctK0adMkSWPGjNHLL79s2ffrr79KuvvAoGfPnvL09FTlypV18uTJ9O6SRVbuGwAAANJWWFiYSpcuLXd3d+XMmVP16tXTpk2brOoYhqFbt24pMTFRMTExKlCggAzD0Pbt29WgQQNJUvv27fXTTz9JktasWaMOHTokK09vWblvAIBnB9/0AwCkSt++fdW3b98U94WGhlpt29nZafTo0Ro9enQ6RAZkbklv/G7btk1OTk6qVKmSmjVrprx580qScuXKpfDwcEl3HwJ4eHioSZMmlvZDhw5N9v9mcHCwoqKidOLECa1du1Yffvihli9fnm59SpKV+wYAAIC0d+7cObm7u1u23d3dFRkZadk2mUyaPn26ypQpI0dHR7355puqVauWoqKi9NJLL8lkMiVrd+PGDTk5OaV4vPSUlfsGAHh2kPQDAADIQPe+8SvJ8sZvmzZtktXdsWOHXF1dVaRIkQce8943fhs0aKAePXrIMAzLg4L0kpX7BgAAgPQXHx+vb775RgcOHJC7u7vat2+vBQsWqG7duhkd2hPLyn0DgPSwZ9PgjA7hkVR6e+JTOS7LewIAAGSgh73xe6+lS5fK39/fqmzKlCkqV66cevXqpZs3byY7pslk0osvvmj1vZD0kpX7BgAAgLTn5uZmdb8YGRkpNzc3y3Z4eLjs7OxUqFAh2draqnnz5tq+fbvy5s2rq1evyjCMZO2cnJx048aNFI+XnrJy3wAAzw6SfgAAAJmAYRj68ccf9c4771jKevXqpePHj2vfvn3KkSOHPvroowyM8PFl5b4BAAAg9apWraqDBw8qMjJSN2/e1Pr16+Xn52fZ7+7urv379+vatWuSpJCQEHl5eclkMunVV19VcHCwJGnhwoVq1KiRJKlhw4aaP3++JGnBggWW8vSWlfsGAHh2ZHjSb8aMGfLw8JCjo6OqVaumsLCwB9ZftmyZSpQoIUdHR5UtW1br1q2z2n/z5k317dtXL7/8srJnz65SpUpp5syZT7MLAAAAj+1hb/wm+e2331S4cGG9/PLLljIXFxfZ2trK1tZWXbt21a5du5Id0zAMXbt2zfIdvfSUlfsGAHi+PeqzjGnTpsnLy0vZs2dXwYIFNWDAAN25cyedogUyDzs7O02ePFm1a9eWt7e3Bg4cqLx586p+/fo6d+6c3NzcNHToUFWvXl1ly5bVjRs39N5770mSPvvsM40ePVrFihXTiy++qAYNGkiSAgMDtWzZMnl6eurEiRPq1q0bfQMAZFkZ+k2/JUuWKCAgQDNnzlS1atU0bdo0+fn56ejRo3J2dk5Wf/v27WrTpo3Gjx+vhg0b6ocfflDTpk21d+9elSlTRpIUEBCgrVu3asGCBfLw8NCmTZvUu3dvubm5qXHjxundRQAAgAe6941fJycnrV+/XiNHjkxWL6XlL8+fP68CBQpIklavXq3SpUtLuvvG77x589SkSRMFBwfLx8cnQ755l5X7BgB4fj3qs4wffvhBQ4cO1ezZs1W9enUdO3ZMnTt3lslk0pQpUzKgB8CzrXHjxsme4d370n+fPn3Up0+fZO2KFy+uPXv2JCvPnz+/fv7557QP9DFk5b4BAJ4NGTrTb8qUKerevbu6dOlimZGXI0cOzZ49O8X6n3/+uerWravBgwerZMmSGjt2rCpWrKjp06db6mzfvl2dOnVSrVq15OHhoR49eqh8+fIPfesOAAAgIzzsjV9JMpvNWrlypVq2bGnVdsiQISpbtqzKlSunvXv3auzYsZLuJsZeeuklFStWTKNHj9aECRPSvV9S1u4bAOD59ajPMrZv364aNWqobdu28vDw0Ntvv602bdrwnAIAAABpLsNm+sXFxWnPnj0KDAy0lNnY2MjX11c7duxIsc2OHTsUEBBgVebn56dVq1ZZtqtXr641a9aoa9eucnNzU2hoqI4dO6apU6c+lX4AAAA8qYe98WtjY6N//vknWbuk73f8l42Njb755pu0DfIxZeW+ZZQZM2Zo4sSJunDhgsqXL68vv/xSVatWvW/969eva/jw4VqxYoWuXr2qwoULa9q0aapfv346Rg0AWcPjPMuoXr26FixYoLCwMFWtWlWnTp3SunXr1KFDh/QKGwAAAM+JDEv6RUVFKTExUS4uLlblLi4uOnLkSIptLly4kGL9CxcuWLa//PJL9ejRQy+//LLs7OxkY2Ojb7/9Vq+//vp9Y4mNjVVsbKxlOzo6+nG6BAAAADxVj7qkXFxcnN566y05Oztr+fLlcnd31+nTp5UnT570Dx4AsoDHeZbRtm1bRUVFqWbNmjIMQwkJCerZs6eGDRt23/PwnAIAAACPI0O/6fc0fPnll/rjjz+0Zs0aFS5cWL/88ov69OkjNzc3+fr6pthm/Pjx+uijj9I5UuDp+njgTxkdwiMZNblRquvu2TT4KUaS9iq9PTGjQwAAZBH3LiknSTNnzlRwcLBmz56toUOHJqs/e/ZsXb16Vdu3b1e2bNkkSR4eHukZMgA890JDQzVu3Dh99dVXqlatmk6cOKH+/ftr7NixKX7rVuI5BbImnlM8O3hOAQBZV4Z90y9fvnyytbXVxYsXrcovXrwoV1fXFNu4uro+sP7t27c1bNgwTZkyRY0aNVK5cuXUt29f+fv7a9KkSfeNJTAwUDdu3LD8zp49+4S9AwAAANJW0pJy977I9rAl5dasWSMfHx/16dNHLi4uKlOmjMaNG6fExMT0ChsAspTHeZYxcuRIdejQQd26dVPZsmXVrFkzjRs3TuPHj5fZbE6xDc8pAAAA8DgybKafvb29KlWqpJCQEDVt2lSSZDabFRISor59+6bYxsfHRyEhIfrggw8sZZs3b5aPj48kKT4+XvHx8bKxsc5l2tra3vdGWpIcHBzk4ODwZB0CAABIQWZ6o5m3mZ9tj7Ok3KlTp7R161a1a9dO69at04kTJ9S7d2/Fx8dr9OjRKbZhSTkAuL/HeZZx69atFJ9TSJJhGCm24TkFAAAAHkeGzfSTpICAAH377bf6/vvvdfjwYfXq1UsxMTGW5Yo6duxo9XHs/v37a8OGDZo8ebKOHDmiMWPGaPfu3ZYb69y5c+uNN97Q4MGDFRoaqoiICM2dO1fz5s1Ts2bNMqSPAAAAQEYxm81ydnbWN998o0qVKsnf31/Dhw/XzJkz79tm/PjxcnJysvwKFiyYjhEDwLPvUZ9lNGrUSF9//bUWL16siIgIbd68WSNHjlSjRo0syT8AwKObMWOGPDw85OjoqGrVqiksLOyB9a9fv64+ffqoQIECcnBw0CuvvKJ169alU7QAkD4y9Jt+/v7+unz5skaNGqULFy7I29tbGzZssLy9fObMGau34apXr64ffvhBI0aM0LBhw1S8eHGtWrVKZcqUsdRZvHixAgMD1a5dO129elWFCxfWp59+qp49e6Z7/wAAAIC08jhLyhUoUEDZsmWzeqhcsmRJXbhwQXFxcbK3t0/WJjAwUAEBAZbt6OhoEn8AcI9HfZYxYsQImUwmjRgxQpGRkcqfP78aNWqkTz/9NKO6AACZ3pIlSxQQEKCZM2eqWrVqmjZtmvz8/HT06FE5Ozsnqx8XF6e33npLzs7OWr58udzd3XX69GnlyZMn/YMHgKcoQ5N+ktS3b9/7LoERGhqarKxVq1Zq1arVfY/n6uqqOXPmpFV4AAAAwDPhcZaUq1Gjhn744QeZzWbLA+hjx46pQIECKSb8JJaUA4DUeJRnGXZ2dho9evR9l1UGADy6KVOmqHv37pZZ1jNnzlRwcLBmz56toUOHJqs/e/ZsXb16Vdu3b1e2bNkkSR4eHukZMgCkiwxd3hMAAABA6j3qknK9evXS1atX1b9/fx07dkzBwcEaN26c+vTpk1FdAAAAAJ5IXFyc9uzZI19fX0uZjY2NfH19tWPHjhTbrFmzRj4+PurTp49cXFxUpkwZjRs3TomJifc9T2xsrKKjo61+APCsy/CZfgAAAABS51GXlCtYsKA2btyoAQMGqFy5cnJ3d1f//v314YcfZlQXAAAAgCcSFRWlxMREyz1wEhcXFx05ciTFNqdOndLWrVvVrl07rVu3TidOnFDv3r0VHx9/35nY48eP10cffZTm8QPA00TSDwAAAMhEHnV5fB8fH/3xxx9POSoAAADg2WU2m+Xs7KxvvvlGtra2qlSpkiIjIzVx4sT7Jv341jWAzIikHwAAAAAAAAAgU8iXL59sbW118eJFq/KLFy/K1dU1xTYFChRQtmzZZGtraykrWbKkLly4oLi4uBS/d823rgFkRnzTDwAAAAAAAACQKdjb26tSpUoKCQmxlJnNZoWEhMjHxyfFNjVq1NCJEydkNpstZceOHVOBAgVSTPgBQGZF0g8AAAAAAAAAkGkEBATo22+/1ffff6/Dhw+rV69eiomJUZcuXSRJHTt2VGBgoKV+r169dPXqVfXv31/Hjh1TcHCwxo0bpz59+mRUFwDgqWB5TwAAAAAAAABApuHv76/Lly9r1KhRunDhgry9vbVhwwa5uLhIks6cOSMbm/+b71KwYEFt3LhRAwYMULly5eTu7q7+/fvrww8/zKguAMBTQdIPAAAAAAAAAJCp9O3bV3379k1xX2hoaLIyHx8f/fHHH085KgDIWCzvCQAAAAAAAAAAAGRyJP0AAAAAAAAAAACATI6kHwAAAAAAAAAAAJDJkfQDAAAAAAAAAAAAMjmSfgAAAAAAAAAAAEAmR9IPAAAAAAAAAAAAyORI+gEAAAAAAAAAAACZHEk/AAAAAAAAAAAAIJMj6QcAAAAAAAAAAABkciT9AAAAAAAAAAAAIElau3atvLy8VLx4cQUFBSXbX6tWLZUoUULe3t7y9vbW7du3JUkDBw5UuXLlVK5cObVq1Uq3bt2SJN25c0fNmzdX8eLFVbt2bUVFRaVrf54nJP0AAAAAAAAAAACghIQEBQQEaOvWrdq3b58mTpyoK1euJKu3fPlyhYeHKzw8XNmzZ5ckjR49Wvv379f+/ftVqFAhzZo1S5IUFBSkokWL6vjx42rRooUmTJiQrn16npD0AwAAAAAAAAAAgMLCwlS6dGm5u7srZ86cqlevnjZt2pSqtrlz55YkGYahO3fuyGQySZLWrFmjDh06SJLat2+vn3766ekED5J+AAAAAAAAAAAAkM6dOyd3d3fLtru7uyIjI5PVa9u2rSpUqKApU6ZYlffr109ubm46dOiQ3nvvvWTHzJMnj65fv/70OvCcI+kHAAAAAAAAAACAVFm4cKH279+v0NBQrV69WsHBwZZ9X3zxhSIjI1WhQgUtXrw4A6N8PpH0AwAAAAAAAAAAgNzc3Kxm9kVGRsrNzc2qTtKsPScnJ73zzjvatWuX1X4bGxu1adNGP/74Y7JjXr9+XXny5HmKPXi+kfQDAAAAAAAAAACAqlatqoMHDyoyMlI3b97U+vXr5efnZ9mfkJCgqKgoSVJcXJzWr1+v0qVLS5KOHz9uqbdmzRqVKFFCktSwYUPNnz9fkrRgwQI1bNgwvbrz3LHL6AAAAAAAAAAAAACQ8ezs7DR58mTVrl1bZrNZQ4YMUd68eVW/fn0FBQXJyclJfn5+io+PV2Jioho1aqSWLVtKuvs9v3/++Ucmk0llypTRzJkzJUndu3dXmzZt5OnpKXd3dy1fvjwju5ilkfQDAAAAAAAAAACAJKlx48Zq3LixVdm6dessf96zZ0+K7davX59iefbs2bVq1ao0iw/3x/KeAAAAAAAAAAAAQCZH0g8AAAAAAAAAAADI5Ej6AQAAAAAAAAAAAJkc3/QDAAAAAAAAAADI4j4e+FNGh/BIRk1ulNEhZDrM9AMAAAAAAAAAAAAyOZJ+AAAAAAAAAAAAQCZH0g8AAAAAAAAAAADI5Ej6AQAAAJnIjBkz5OHhIUdHR1WrVk1hYWH3rTt37lyZTCarn6OjYzpGCwAAAAAA0gtJPwAAACCTWLJkiQICAjR69Gjt3btX5cuXl5+fny5dunTfNrlz59b58+ctv9OnT6djxAAAAAAAIL2Q9AMAAAAyiSlTpqh79+7q0qWLSpUqpZkzZypHjhyaPXv2fduYTCa5urpafi4uLukYMZC5rF27Vl5eXipevLiCgoJSrGM2m1WtWjW1bNnSUvbaa6/J29tb3t7eyp8/vz744APLvkmTJsnLy0ulSpXS1KlTn3YXAAAAADzH7DI6AAAAAAAPFxcXpz179igwMNBSZmNjI19fX+3YseO+7W7evKnChQvLbDarYsWKGjdunEqXLn3f+rGxsYqNjbVsR0dHp00HgGdcQkKCAgICtG3bNjk5OalSpUpq1qyZ8ubNa1Xvu+++k4eHhxITEy1lv/76q+XPNWvWVNOmTSVJW7Zs0bZt23Tw4EFly5btgbNyAQAAAOBJMdMPAAAAyASioqKUmJiYbKaei4uLLly4kGIbLy8vzZ49W6tXr9aCBQtkNptVvXp1/fPPP/c9z/jx4+Xk5GT5FSxYME37ATyrwsLCVLp0abm7uytnzpyqV6+eNm3aZFXn6tWrWrx4sXr06JHiMSIjIxUREaHXX39dkjRr1iwFBgYqW7ZskiRnZ+en2wkAAAAAzzWSfgAAAEAW5ePjo44dO8rb21tvvPGGVqxYofz582vWrFn3bRMYGKgbN25YfmfPnk3HiIGMc+7cObm7u1u23d3dFRkZaVVn+PDhGjlypGxtbVM8xrJly9SiRQvZ2Nz9p/bx48e1ZcsWVa1aVW+//baOHTv29DoAAAAA4LlH0g8AAADIBPLlyydbW1tdvHjRqvzixYtydXVN1TGyZcumChUq6MSJE/et4+DgoNy5c1v9AEj79u3TtWvXVKtWrfvWWbp0qfz9/S3bCQkJiomJUVhYmAYOHKguXbqkQ6QAAAAAnlck/QAAqTJjxgx5eHjI0dFR1apVU1hY2APrX79+XX369FGBAgXk4OCgV155RevWrUunaAEg67G3t1elSpUUEhJiKTObzQoJCZGPj0+qjpGYmKgDBw6oQIECTytMINNyc3OzmtkXGRkpNzc3y/Yff/yhX3/9VR4eHmrdurXWr19vtcznmTNn9M8//6h69eqWMnd3dzVv3lyS5Ofnx0w/AAAAAE8VST8AwEMtWbJEAQEBGj16tPbu3avy5cvLz89Ply5dSrF+XFyc3nrrLf39999avny5jh49qm+//dZqySwAwKMLCAjQt99+q++//16HDx9Wr169FBMTY5k91LFjRwUGBlrqf/zxx9q0aZNOnTqlvXv3qn379jp9+rS6deuWUV0AnllVq1bVwYMHFRkZqZs3b2r9+vXy8/Oz7O/Vq5ciIyP1999/a/HixapXr56++eYby/5ly5apVatWMplMlrLGjRsrNDRU0t1vBhYuXDjd+gMAAADg+WP3JI3j4uIUERGhYsWKyc7uiQ4FAHiKnnS8njJlirp37255qDxz5kwFBwdr9uzZGjp0aLL6s2fP1tWrV7V9+3Zly5ZNkuTh4fFEfQCAzC4t7p39/f11+fJljRo1ShcuXJC3t7c2bNggFxcXSXdnGiV9S0ySrl27pu7du+vChQt68cUXValSJW3fvl2lSpVKkz4BWYmdnZ0mT56s2rVry2w2a8iQIcqbN6/q16+voKAgq1l/KVm6dKm++OILq7Ju3bqpY8eOKlOmjF544QV9++23T7MLSAWeYwDAs4HxGACejsea6Xfr1i29++67ypEjh0qXLq0zZ85Ikt5//31NmDAhTQMEADy+tBiv4+LitGfPHvn6+lrKbGxs5Ovrqx07dqTYZs2aNfLx8VGfPn3k4uKiMmXKaNy4cUpMTLzveWJjYxUdHW31A4CsIK3vnfv27avTp08rNjZWO3fuVLVq1Sz7QkNDNXfuXMv21KlTLXUvXLig4OBgVahQ4Yn7BGRVjRs31rFjx3TixAnL0p3r1q1LlvCrVauWli9fblX23/8fpbvfyFyyZIkOHjyonTt38v9fBuI5BgA8GxiPAeDpeqykX2BgoP7880+FhobK0dHRUu7r66slS5akWXAAgCeTFuN1VFSUEhMTLbNIkri4uOjChQsptjl16pSWL1+uxMRErVu3TiNHjtTkyZP1ySef3Pc848ePl5OTk+VXsGDBVMUHAM867p0BIOMxFgPAs4HxGACerseaO71q1SotWbJEr776qtX3CkqXLq2TJ0+mWXAAgCeTUeO12WyWs7OzvvnmG9na2qpSpUqKjIzUxIkTNXr06BTbBAYGKiAgwLIdHR1N4g9AlsC9MwBkPMZiAHg2MB4DwNP1WEm/y5cvy9nZOVl5TEyM1WANAMhYaTFe58uXT7a2trp48aJV+cWLF+Xq6ppimwIFCihbtmyytbW1lJUsWVIXLlxQXFyc7O3tk7VxcHCQg4NDqmICgMyEe2cAyHiMxQDwbGA8BoCn67GSfpUrV1ZwcLDef/99SbIMyEFBQfLx8Um76AAATyQtxmt7e3tVqlRJISEhatq0qaS7M/lCQkLUt2/fFNvUqFFDP/zwg8xms2xs7q4kfezYMRUoUCDFhB8AZGXcOwMZ7+OBP2V0CI9k1ORGGR1ClsNYDADPBsZjAHi6HivpN27cONWrV09//fWXEhIS9Pnnn+uvv/7S9u3b9fPPP6d1jACAx5RW43VAQIA6deqkypUrq2rVqpo2bZpiYmLUpUsXSVLHjh3l7u6u8ePHS5J69eql6dOnq3///nr//fd1/PhxjRs3Tv369Xsq/QSAZxn3zgCQ8RiLAeDZwHgMAE+XzeM0qlmzpv78808lJCSobNmy2rRpk5ydnbVjxw5VqlQprWMEADymtBqv/f39NWnSJI0aNUre3t4KDw/Xhg0b5OLiIkk6c+aMzp8/b6lfsGBBbdy4Ubt27VK5cuXUr18/9e/fX0OHDk3zPgLAs457ZwDIeIzFAPBsYDwGgKfrkWf6xcfH67333tPIkSP17bffPo2YAABpIK3H6759+953Oc/Q0NBkZT4+Pvrjjz+e+LwAkJlx7wwAGY+xGACeDYzHAPD0PfJMv2zZsunHH39MswBmzJghDw8POTo6qlq1agoLC3tg/WXLlqlEiRJydHRU2bJltW7dumR1Dh8+rMaNG8vJyUkvvPCCqlSpojNnzqRZzACQGaT1eA0AeHSMxQCQ8Z7GWPyozzKuX7+uPn36qECBAnJwcNArr7yS4vMMAMjKuDcGgKfvsZb3bNq0qVatWvXEJ1+yZIkCAgI0evRo7d27V+XLl5efn58uXbqUYv3t27erTZs2evfdd7Vv3z41bdpUTZs21cGDBy11Tp48qZo1a6pEiRIKDQ3V/v37NXLkSDk6Oj5xvACQ2aTVeA0AeHyMxQCQ8dJyLH7UZxlxcXF666239Pfff2v58uU6evSovv32W7m7u6dJPACQmXBvDABP1yMv7ylJxYsX18cff6zff/9dlSpV0gsvvGC1v1+/fqk6zpQpU9S9e3d16dJFkjRz5kwFBwdr9uzZKX736fPPP1fdunU1ePBgSdLYsWO1efNmTZ8+XTNnzpQkDR8+XPXr19f//vc/S7tixYo9TjcBINNLq/EaAPD4GIsBIOOl5Vj8qM8yZs+eratXr2r79u3Kli2bJMnDw+PxOwMAmRj3xgDwdD1W0u+7775Tnjx5tGfPHu3Zs8dqn8lkStXgHBcXpz179igwMNBSZmNjI19fX+3YsSPFNjt27FBAQIBVmZ+fn+XtELPZrODgYA0ZMkR+fn7at2+fihQposDAQDVt2vS+scTGxio2NtayHR0d/dD4ASAzSIvxGgDwZBiLASDjpdVY/DjPMtasWSMfHx/16dNHq1evVv78+dW2bVt9+OGHsrW1TbENzykAZFXcGwPA0/X/2rv3+Jzrx//jzx3YQs0pk6WP2HJmRY7l8GkforYUEmkSCZGa5BhJGjlEORPKoaFQ5JTJhzL5OuVQDpvztDGHOWWbXa/fH367Pi3Dxrb3dV173G+33T5d7+t9XXu9buZhn+v1PtzRot/hw4fv+hsnJCQoNTVVvr6+6bb7+vpq3759Gb4mLi4uw/3j4uIkSadOndKlS5c0YsQIffTRRxo5cqRWrVqlF154QT/99JMaNmyY4fuGh4dr6NChdz0nAHA02dFrAMDdocUAYL3savGdfJZx6NAhrVu3Ti+//LJWrFih6Ohode/eXSkpKRoyZEiGr+FzCgCuit+NASBn3dE9/f7OGCNjTHaM5a7ZbDZJ0nPPPad33nlHgYGB6tevn5599ln75T8z0r9/fyUmJtq/jh8/nltDBoBc40i9BoC8ihYDgPVyu8U2m00lSpTQtGnTVKNGDbVp00YDBw7kcwoAeR6/GwNA9rvjRb+vvvpKVatW1T333KN77rlH1apV05w5czL9+uLFi8vDw0Px8fHptsfHx6tkyZIZvqZkyZK33L948eLy9PRUpUqV0u1TsWJFHTt27KZj8fLy0n333ZfuCwBcxd32GgBw92gxAFgvO1p8J59lPPDAA3rkkUfSXcqzYsWKiouLU3Jycoav4XMKAK6M340BIOfc0aLf2LFj1a1bNzVv3lwLFy7UwoUL9fTTT6tr16769NNPM/Ue+fPnV40aNRQZGWnfZrPZFBkZqbp162b4mrp166bbX5J+/PFH+/758+fX448/rv3796fb58CBA/rXv/6VlSkCgEvIjl4DAO4OLQYA62VXi+/ks4z69esrOjrafnUi6frnFA888IDy589/55MCACfE78YAkLPu6J5+n3/+uSZPnqzQ0FD7tpCQEFWuXFkffPCB3nnnnUy9T1hYmDp06KCaNWuqVq1aGjdunC5fvqyOHTtKkkJDQ+Xn56fw8HBJUq9evdSwYUONGTNGzzzzjCIiIrR161ZNmzbN/p59+vRRmzZt1KBBAzVu3FirVq3SsmXLtH79+juZKgA4tezqNQDgztFiALBedrY4q59ldOvWTRMmTFCvXr3Us2dPHTx4UB9//LHeeuut7J0kADgBfjcGgJx1R4t+f/75p+rVq3fD9nr16unPP//M9Pu0adNGp0+f1uDBgxUXF6fAwECtWrXKfkPsY8eOyd39fycj1qtXT/Pnz9egQYM0YMAABQQEaOnSpapSpYp9n+eff15TpkxReHi43nrrLZUvX17ffvutnnjiiTuZKgA4tezqNQDgztFiALBedrY4q59llC5dWqtXr9Y777yjatWqyc/PT7169VLfvn3vblIA4IT43RgActYdXd7T399fCxcuvGH7ggULFBAQkKX36tGjh44ePaqkpCT9+uuvql27tv259evXa/bs2en2b926tfbv36+kpCTt2bNHzZs3v+E9X3vtNR08eFB//fWXdu7cqeeeey5LYwIAV5GdvQYA3BlaDADWy+4WZ/WzjLp162rz5s26evWqYmJiNGDAgHT3+AOAvILfjQEgZ93RmX5Dhw5VmzZttGHDBtWvX1+S9MsvvygyMjLDaAMArEGvAcB6tBgArEeLAcAx0GMAyFl3dKZfy5Yt9euvv6p48eJaunSpli5dquLFi2vLli16/vnns3uMAIA7RK8BwHq0GACsR4sBwDHQYwDIWXd0pp8k1ahRQ3Pnzs3OsQAAcgC9BgDr0WIAsB4tBgDHQI8BIOfc0Zl+K1as0OrVq2/Yvnr1aq1cufKuBwUAyB70GgCsR4sBwHq0GAAcAz0GgJx1R4t+/fr1U2pq6g3bjTHq16/fXQ8KAJA96DUAWI8WA4D1aDEAOAZ6DAA5644W/Q4ePKhKlSrdsL1ChQqKjo6+60EBALIHvQYA69FiALAeLQYAx0CPASBn3dGin4+Pjw4dOnTD9ujoaBUsWPCuBwUAyB70GgCsR4sBwHq0GAAcAz0GgJx1R4t+zz33nN5++23FxMTYt0VHR6t3794KCQnJtsEBAO4OvQYA69FiALAeLQYAx0CPASBn3dGi3yeffKKCBQuqQoUKevjhh/Xwww+rQoUKKlasmEaPHp3dYwQA3CF6DQDWo8UAYD1aDACOgR4DQM7yvJMX+fj4aNOmTfrxxx/122+/6Z577lH16tX15JNPZvf4AAB3gV4DgPVoMQBYjxYDgGOgxwCQs7J0pl9UVJSWL18uSXJzc1OTJk1UokQJjR49Wi1btlSXLl2UlJSUIwMFAGQevQYA69FiALAeLQYAx0CPASB3ZGnR78MPP9TevXvtj3fv3q3XX39d//nPf9SvXz8tW7ZM4eHh2T5IAEDW0GsAsF5OtXjixIkqU6aMvL29Vbt2bW3ZsiVTr4uIiJCbm5tatGiR5e8JAM6K34sBwDHQYwDIHVla9Nu5c6eeeuop++OIiAjVqlVL06dPV1hYmD777DMtXLgw2wcJAMgaeg0A1suJFi9YsEBhYWEaMmSItm/frurVq6tp06Y6derULV935MgRvfvuu1w2CUCew+/FAOAY6DEA5I4sLfqdO3dOvr6+9sf//e9/1axZM/vjxx9/XMePH8++0QEA7gi9BgDr5USLx44dq9dff10dO3ZUpUqVNGXKFBUoUEAzZ8686WtSU1P18ssva+jQoSpbtmzWJwIATozfiwHAMdBjAMgdWVr08/X11eHDhyVJycnJ2r59u+rUqWN//uLFi8qXL1/2jhAAkGX0GgCsl90tTk5O1rZt2xQUFGTf5u7urqCgIEVFRd30dR9++KFKlCihTp06Zer7JCUl6cKFC+m+AMBZ8XsxADiGnOgxl70HgBtladGvefPm6tevnzZu3Kj+/furQIEC6S4RtGvXLpUrVy7bBwkAyBp6DQDWy+4WJyQkKDU1Nd0R0tL1D1Di4uIyfM3PP/+sL774QtOnT8/09wkPD5ePj4/9q3Tp0pl+LQA4Gn4vBgDHkN095rL3AJCxLC36DRs2TJ6enmrYsKGmT5+u6dOnK3/+/PbnZ86cqSZNmmT7IAEAWUOvAcB6Vrf44sWLeuWVVzR9+nQVL14806/r37+/EhMT7V9cZgmAM7O6xQCA67K7x1z2HgAy5pmVnYsXL64NGzYoMTFRhQoVkoeHR7rnFy1apEKFCmXrAAEAWUevAcB62d3i4sWLy8PDQ/Hx8em2x8fHq2TJkjfsHxMToyNHjig4ONi+zWazSZI8PT21f//+DI+m9vLykpeXV6bHBQCOjN+LAcAxZGeP0y57379/f/u2rF72fuPGjXc2EQBwcFla9Evj4+OT4faiRYve1WAAANmLXgOA9bKrxfnz51eNGjUUGRlpv/+IzWZTZGSkevToccP+FSpU0O7du9NtGzRokC5evKjx48dz2U4AeQq/FwOAY8iOHt/qsvf79u3L8DVpl73fuXNnpr9PUlKSkpKS7I+51zUAZ3BHi34AAAAAcl9YWJg6dOigmjVrqlatWho3bpwuX76sjh07SpJCQ0Pl5+en8PBweXt7q0qVKuleX7hwYUm6YTsAAADgqu70svfh4eEaOnRoDo4MALIfi34AAACAk2jTpo1Onz6twYMHKy4uToGBgVq1apX9KOdjx47J3T1Lt+0GAAAAnEpuXfa+f//+CgsLsz++cOECV8sA4PBY9AMAAACcSI8ePTK8nKckrV+//pavnT17dvYPCAAAAMhFuXXZe+51DcAZsegHAAAAAAAAAHAaXPYeADLGoh8AAAAAAAAAwGlw2XsAyBiLfgAAAAAAAAAAp8Jl7wHgRhzuAAAAAAAAAAAAADg5Fv0AAAAAAAAAAAAAJ8eiHwAAAAAAAAAAAODkWPQDAAAAAAAAAAAAnByLfhZYvny5ypcvr4CAAM2YMeOG57ds2aLKlSvL399fH3744Q3Pt2rVSjVr1rQ/TkhIUOPGjRUQEKAXXnhBV69ezdHxAwAAAAAAAAAAwLGw6JfLrl27prCwMK1bt047duzQqFGjdObMmXT7vPnmm/r666+1f/9+rVixQrt377Y/9+OPP8rDwyPd/iNGjFDLli118OBBlS1bNsOFRAAAAAAAAAAAALguFv1yWdpZfH5+fipUqJCaNWumNWvW2J8/efKkrl27pmrVqsnDw0MvvfSSli9fLklKSUnRxx9/rEGDBqV7z++//16vvPKKJKl9+/ZatmxZ7k0IAAAAAAAAAAAAlmPRL5edPHlSfn5+9sd+fn6KjY3N1PNjx45Vhw4ddO+996Z7z8TERPn4+GT4fgAAAAAAAAAAAHB9LPo5idjYWK1Zs0YdOnSweigAAAAAAAAAAABwMCz65bJSpUqlOxMvNjZWpUqVuu3zO3fu1O+//66HH35YTzzxhHbv3q3mzZtLknx8fJSYmJjh+wEAAAAAAAAAAMD1seiXy2rVqqU9e/YoNjZWly5d0sqVK9W0aVP786VKlZKHh4d27dql1NRURUREKDg4WM8884z+/PNPHTlyRD///LOqVq2qFStWSJKeffZZzZkzR5I0d+5cBQcHWzI3AHAmy5cvV/ny5RUQEKAZM2ZkuI/NZlPt2rXVqlUr+7aYmBjVrFlT/v7+6tq1q4wxkqSEhAQ1btxYAQEBeuGFF3T16tVcmQcAAAAAAAAASCz65TpPT0+NGTNGjRs3VmBgoHr37q1ixYqpefPmOnnypCRpwoQJatu2rR555BE9/fTTqlq16i3fs3///lq0aJH8/f0VHR2tzp0758ZUAMBpXbt2TWFhYVq3bp127NihUaNG6cyZMzfs98UXX6hMmTLptvXt21cffPCBoqOjlZCQoB9++EGSNGLECLVs2VIHDx5U2bJlb7qQCAAAAAAAAAA5wdPqAeRFISEhCgkJSbct7aw9SapTp4727t1709eXKVNGW7dutT++//779d///jf7BwoALmrLli2qXLmy/Pz8JEnNmjXTmjVr1LZtW/s+Z8+eVUREhAYMGKDJkydLkowx2rRpkxYtWiRJat++vZYtW6Znn31W33//vf7v//7Pvr1v377q0aNHLs8MAAAAAAAAQF7Foh8AIM85efKkfcFPkvz8/NLdT1WSBg4cqPfffz/dtjNnzqho0aJyc3O74XWJiYny8fG56fsBAAAAAAAAQE7i8p4AAPzDjh07dO7cOTVq1MjqoQAAAAAAAABApnCmHwAgzylVqlS6M/FiY2NVq1Yt++PNmzdr48aNKlOmjK5evaqLFy+qS5cumjp1qs6ePStjjNzc3BQbG6tSpUpJknx8fOxn+/19OwAAAAAAAADkBs70AwDkObVq1dKePXsUGxurS5cuaeXKlWratKn9+W7duik2NlZHjhxRRESEmjVrpmnTpsnNzU116tTRDz/8IEmaN2+egoODJUnPPvus5syZI0maO3eufTsAAAAAAAAA5AYW/QAAeY6np6fGjBmjxo0bKzAwUL1791axYsXUvHlznTx58pavHTlypIYMGaJy5cqpSJEieuaZZyRJ/fv316JFi+Tv76/o6Gh17tw5N6YCAAAAAAAAAJJY9AMAZMHEiRNVpkwZeXt7q3bt2tqyZUumXhcRESE3Nze1aNEiZweYBSEhITpw4ICio6PVpUsXSdKKFStuuCxno0aN9M0339gfBwQEaNu2bYqJidG0adPk7n79n9L7779f//3vfxUdHa2lS5fqnnvuyb3JAAAAAHdh+fLlKl++vAICAjRjxowM97HZbKpdu7ZatWpl3xYTE6OaNWvK399fXbt2lTFGkpSQkKDGjRsrICBAL7zwgq5evZor8wAAAMjrWPQDAGTKggULFBYWpiFDhmj79u2qXr26mjZtqlOnTt3ydUeOHNG7776rJ598MpdGCgAAACCzrl27prCwMK1bt047duzQqFGjdObMmRv2++KLL1SmTJl02/r27asPPvhA0dHRSkhIsF8Gf8SIEWrZsqUOHjyosmXL3nQhEQAAANmLRT8AQKaMHTtWr7/+ujp27KhKlSppypQpKlCggGbOnHnT16Smpurll1/W0KFDVbZs2VwcLQAAAIDM2LJliypXriw/Pz8VKlRIzZo105o1a9Ltc/bsWUVERNivkCFJxhht2rTJfrn79u3ba9myZZKk77//Xq+88soN2wEAAJCzWPQDANxWcnKytm3bpqCgIPs2d3d3BQUFKSoq6qav+/DDD1WiRAl16tTptt8jKSlJFy5cSPcFAAAAIGedPHlSfn5+9sd+fn6KjY1Nt8/AgQP1/vvvy8PDw77tzJkzKlq0qNzc3G54XWJionx8fG76fgAAAMgZnlYPAADg+BISEpSamipfX9902319fbVv374MX/Pzzz/riy++0M6dOzP1PcLDwzV06NC7HaqCe3931++Rm5aNec7qIQAAAAA3tWPHDp07d06NGjXS+vXrrR4OALis5cuXq3fv3rLZbOrbt686d+5sf+7KlStq2bKlDh8+LA8PD3Xt2lU9e/aUdL3TXbt21eXLl1WtWjV9+eWXypcvn44cOaJXX31VZ86c0YMPPqiIiAj7ARkAXBdn+gEAst3Fixf1yiuvaPr06SpevHimXtO/f38lJibav44fP57DowQAAABQqlSpdGfixcbGqlSpUvbHmzdv1saNG1WmTBm99NJLWrlypbp06aJixYrp7NmzMsbc8DofHx8lJiZm+H4AgBtl5v6q/fr10759+/Trr79q4sSJio6OliR17txZn332mfbs2aPKlStr1qxZkqTevXurW7du2r17t9q3b6+RI0fm+rwA5D4W/QAAt1W8eHF5eHgoPj4+3fb4+HiVLFnyhv1jYmJ05MgRBQcHy9PTU56envrqq6/0/fffy9PTUzExMTe8xsvLS/fdd1+6LwAAAAA5q1atWtqzZ49iY2N16dIlrVy5Uk2bNrU/361bN8XGxurIkSOKiIhQ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LhHw22+/adSoUTpw4IA8PDy0adMm+9+rBg0aqHTp0vr6668tHi1yEy2mxY7GlVss0WPcHD12vh7TYloM10OLna/FEj121h7TYtwMLabFjoYWu0iLDXJMTEyMuXDhgrl06ZIZO3asffvs2bPNyy+/bIwxJikpyfz111/2565du2Y6dOhgYmJicn28WREfH5/u8alTp0xoaKh57LHHzKuvvmpSU1PN6tWrjb+/v5k2bZp9v+3bt5sDBw7k9nCz5OjRo+kex8TEmODgYFOrVi0TFhZmjDHmyy+/NGXLljU//PCDfb9ffvnFHD9+PFfHeidSU1NNvXr1zLhx4+zbhg8fbgYNGmR/XLVqVbN06VJjzPWfSUdms9nsf4dSU1ONzWYzAwYMMPXr1zdTp041L7zwgvn6669NRESEadKkif11b775pgkMDDRr1qyxaujIJbSYFjsiV2uxMfQYt0ePna/HtJgWw/XQYudrsTH02Bjn6jEtxu3QYlrsiGjxda7QYs70yyG///67/P399fnnn+uee+5Rt27d7Cv6Tz75pM6ePasrV64of/788vb2lnT9dNKwsDCdPXtWpUqVsnL4t9WtWzcdPnxYkhQVFaXWrVurTp062rZtm2JjYzVr1iwVKVJEL730knbt2qWrV69q0KBBeuWVV3ThwgWLR39zqamp6t69u86fPy9JWrlypV555RWFhoZqzZo12rJlixYvXqyyZcsqODhYW7du1cWLF/Xmm2/qnXfesR+x4mh+//13RUVFKS4uTu7u7urRo4c2bNigM2fOSLp+Q9Zq1arZT7kfPHiwhg0blu6oFUd05coVrVixQnFxcZKkuLg4ubm5ycfHRz///LPuu+8+/fHHHzp37pzatGmjCxcu6P3339cnn3yiI0eOaMiQIWrcuLHFs0BOosW02JG4aosleozbo8fO12NaTIvhemix87VYosfO1mNajNuhxbTYkdBi12wxi3455OrVq6pYsaIOHz6sHTt2yNvb23692A0bNsjPz08FChSw779s2TLVq1dPxhh9/fXX9qg7EpvNpmvXrkmSvvnmG506dUqSVKBAAcXExOi+++6TJPXp00fr1q2Tu7u7evXqpYsXL6pt27Y6duyYfvzxR9WoUcOyOdyMzWZTamqqPDw8tHz5cu3YsUOSlC9fPu3fv1+lSpWSj4+PunXrppUrV6pYsWJ6++23dfDgQbVq1Ur58uXTunXrVK5cOYtnkt7ly5f19ttvq2XLlho3bpyefvppSVLbtm3l6empqVOnKiwsTJMmTdK4ceP04osv6uLFi2rVqpUKFCigTz75xOIZZCztl6ECBQooOjpaYWFhqlKlir766ivFxsZqxowZqlevnpYsWaKIiAh169ZNkrRo0SI9/PDD2rVrl0aPHq0WLVrI09PTaU6xR9bRYlrsCFy1xRI9RubRY+fpMS2mxbTYddFi52mxRI+drce0GJlFi2mxI6DFLt7iXDun0MVt3brVvPDCC2bdunXGmOunjzZt2tQ89dRT5rPPPjMJCQn2fT/++GMzdepUY8z1U5fPnj1rjh496tCnZ//9dN20udSoUcP06dPHGGPMp59+ajp06GBsNpsxxpg+ffqY9957z1y4cMEYY+z/64hSU1Pt/3369GljjDElSpQw06dPN8YYM2jQIPPWW2/Z9+nSpYv5+OOPTVJSkjHGmIsXL+biaDPv7Nmz5rnnnjPBwcHm0qVLxhhjHn/8cTN06FBjjDE7duxId2r90aNHTevWrc2///1v8/XXX5vz58+nu4yAI0hJSblh28KFC03RokXTnWrerVu3dKdl79692wwfPtycP38+3WvTTu2G66DFtNjRuGKLjaHHuD167Jw9psW0mBa7FlrsnC02hh47U49pMW6HFtNiR0OLXb/FnOmXTU6cOKHIyEi9++67Wrt2rdzc3BQaGqpGjRppw4YN2rVrl/2Ih1OnTik+Pl5dunRR//79df78eT300EMqW7asxbO4OQ8PDyUkJKht27Z69913lZSUpAULFmju3LlKSEhQu3bt5O7urlmzZkmSXn31VZ06dUqXLl2SJN17771WDv+W3N3dFRMTo+bNm2vEiBGSpK+//lrh4eGSpPbt2+vUqVP64YcfJEkvvviiTp48qStXrkiSChUqZM3Ab6NIkSKqUaOG6tataz/1/L333tO9994rm82mwMBA/fvf/9aDDz4od3d3PfTQQ5o3b54GDhyo+vXry8fHR97e3vbTt622fPlytWnTRpL0119/aeTIkfrtt9/UpEkTTZgwQcnJydqzZ48k6YMPPtChQ4c0YsQIde/eXS1btrQfeZMm7WbCaUdTwTXQYlrsaFytxRI9RubQY+fsMS2mxbTYtdBi52yxRI+dpce0GJlBi2mxo6HFeaDF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\n"
},
"metadata": {}
},
{
"output_type": "stream",
"name": "stdout",
"text": [
"chart saved as retrieval_comparison.png\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"# latency comparison \u2014 important practical tradeoff\n",
"\n",
"print(\"Latency Comparison (avg per query, seconds):\\n\")\n",
"latency_data = {'Method': [], 'Latency (s)': []}\n",
"for method, res in all_results.items():\n",
" latency_data['Method'].append(method)\n",
" latency_data['Latency (s)'].append(res[10]['Avg Latency(s)'])\n",
"\n",
"df_latency = pd.DataFrame(latency_data).set_index('Method')\n",
"print(df_latency.to_string())\n",
"\n",
"# quick takeaway\n",
"fastest = df_latency['Latency (s)'].idxmin()\n",
"slowest = df_latency['Latency (s)'].idxmax()\n",
"print(f\"\\nfastest: {fastest}\")\n",
"print(f\"slowest: {slowest}\")"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "gUomKieGOXd2",
"outputId": "e7de5098-44e0-45eb-8830-4aa3e841ae52"
},
"execution_count": 50,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Latency Comparison (avg per query, seconds):\n",
"\n",
" Latency (s)\n",
"Method \n",
"BM25 0.2150\n",
"MiniLM Cosine 0.0237\n",
"BGE Cosine 0.0473\n",
"Hybrid RRF 0.2292\n",
"Hybrid Weighted 0.2481\n",
"\n",
"fastest: MiniLM Cosine\n",
"slowest: Hybrid Weighted\n"
]
}
]
},
{
"cell_type": "markdown",
"source": [
"#### Task 6 Analysis\n",
"\n",
"The results were a bit surprising \u2014 MiniLM came out on top for MRR (0.68) and BGE was very close behind (0.66). BM25 was clearly the weakest with MRR of just 0.27, which makes sense given that our 10 evaluation queries are mostly natural language questions where exact keyword matching struggles.\n",
"\n",
"The hybrid methods didn't beat the dense models here, which is worth explaining. Hybrid RRF actually hurt performance compared to dense-only (MRR dropped to 0.48). This happens because RRF gives equal weight to both retrievers \u2014 when BM25 is performing poorly, pulling its low-quality results into the fusion actively degrades the final ranking. Weighted fusion handled this better (MRR=0.64) since the dense component still dominates.\n",
"\n",
"This is a known limitation of RRF: it assumes both retrievers are roughly equal quality. When one is significantly weaker (BM25 on semantic queries), weighted fusion with a high alpha favoring dense is a better choice.\n",
"\n",
"On latency, MiniLM is the fastest at 23ms per query \u2014 it's a smaller model and pure vector lookup is very fast once the index is built. BM25 at 215ms is slower than expected because it scores the full 57k corpus for every query. Dense retrieval on the 5000-doc FAISS index is much faster because FAISS is optimized for this.\n",
"\n",
"One caveat: all 10 eval queries happened to be more semantic in nature (business expenses, tax questions, banking). A dataset with more exact-term queries (ticker lookups, regulation numbers) would likely show BM25 performing better and hybrid RRF gaining more."
],
"metadata": {
"id": "jRlsfXDbOZEn"
}
},
{
"cell_type": "markdown",
"source": "## Technical Report\n\n**Dataset:** FiQA-2018, loaded via the BEIR benchmark (BeIR/fiqa on HuggingFace). BEIR packages FiQA into a standardized retrieval format with consistent IDs across corpus, queries, and qrels \u2014 which is necessary for computing metrics like MRR and NDCG correctly. The underlying data is the same FiQA-2018 financial QA corpus from Stack Exchange; BEIR just structures it properly for IR evaluation. Raw corpus: 57k passages.\n\n**Corpus sampling:** Full corpus is 57k docs \u2014 encoding on Colab CPU took ~6 mins even for 5000 docs (364s for MiniLM, 966s for BGE). Sampled 5000 with random_state=42 for reproducibility. Absolute metric scores are lower than full-corpus evaluation would give, but relative comparisons between methods are valid.\n\n**BM25 over TF-IDF:** BM25 adds term frequency saturation and document length normalization which matters here since FiQA passages vary a lot in length \u2014 from 2-line Reddit comments to long financial explanations.\n\n**MiniLM vs BGE:** MiniLM slightly outperformed BGE on our evaluation set (MRR 0.68 vs 0.66). Both are strong but MiniLM's smaller size also made it faster. BGE is generally considered better for retrieval tasks but the gap here was small.\n\n**Similarity metrics:** Cosine (inner product on normalized vectors) vs L2 distance. Cosine was more stable for variable-length passages \u2014 L2 is magnitude-sensitive and gets thrown off by longer documents.\n\n**Fusion:** RRF underperformed on our eval set (MRR 0.48) because BM25 was weak on these semantic queries and RRF doesn't discriminate \u2014 it gives equal weight to both retrievers. Weighted fusion (alpha=0.7) was better (MRR 0.64) since it lets the dense model dominate. This aligns with known RRF behavior: it works best when both retrievers have similar quality.\n\n**Challenges faced:**\n- ID type mismatch between qrels (integers) and corpus (strings) \u2014 fixed with str() casting\n- Relevant documents in qrels often not in the 5000-doc sample \u2014 filtered eval to only queries with at least one relevant doc in sample\n- BGE encoding took 966 seconds even on 5000 docs \u2014 much slower than MiniLM despite same architecture size\n- BeIR/fiqa loads corpus, queries, and qrels as three separate HuggingFace configs \u2014 had to load and join them carefully before any processing could start\n\n**Limitations:**\n- 5000-doc sample means many relevant docs simply aren't indexed \u2014 hurts recall numbers\n- Only 10 evaluation queries \u2014 not enough for statistical confidence\n- All 10 queries were semantic in nature \u2014 doesn't test BM25's strengths fairly\n- Template-based responses lack fluency \u2014 an LLM reader would improve answer quality\n\n**Future work:** Full corpus with GPU encoding, FinBERT embeddings for finance-specific representations, LLM reader layer on top (proper RAG), ColBERT for token-level late interaction, and a larger evaluation set with diverse query types.",
"metadata": {
"id": "kDvk1DzaOa3f"
}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment