colab-enterprise/gen-ai-demo/Common-Themes-RAG.ipynb (951 lines of code) (raw):

{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": { "executionInfo": { "elapsed": 7, "status": "ok", "timestamp": 1708156781433, "user": { "displayName": "", "userId": "" }, "user_tz": -180 }, "id": "xTDKwnuNDbZf" }, "outputs": [], "source": [ "##################################################################################\n", "# Copyright 2024 Google LLC\n", "#\n", "# Licensed under the Apache License, Version 2.0 (the \"License\");\n", "# you may not use this file except in compliance with the License.\n", "# You may obtain a copy of the License at\n", "#\n", "# https://www.apache.org/licenses/LICENSE-2.0\n", "#\n", "# Unless required by applicable law or agreed to in writing, software\n", "# distributed under the License is distributed on an \"AS IS\" BASIS,\n", "# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n", "# See the License for the specific language governing permissions and\n", "# limitations under the License.\n", "###################################################################################" ] }, { "cell_type": "markdown", "metadata": { "id": "GkXBaE31DgGz" }, "source": [ "# Data beans common themes by item summarization using RAG\n", "\n", "This notebook shows how to implement a RAG procedure inside BigQuery to extract common review themes by product name, it performs the following steps:\n", "- Create LLM and embeddings models (`gemini-pro` and `gecko`)\n", "- Embbed the `review_text` column of the `customer_review` table\n", "- Create an index on the embeddings for faster retrieval\n", "- Wraps inside a BigQuery procedure a RAG implementation" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "PROJECT_ID = \"${project_id}\"\n", "REGION = \"us\"\n", "DATASET_ID = \"${bigquery_data_beans_curated_dataset}\"\n", "CONNECTION_NAME = \"vertex-ai\"" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "qysuJw2zDR2P" }, "outputs": [], "source": [ "%%bigquery\n", "CREATE SCHEMA IF NOT EXISTS `${project_id}.${bigquery_data_beans_curated_dataset}_local` OPTIONS(location = 'US');\n", "\n", "CREATE OR REPLACE MODEL `${project_id}.${bigquery_data_beans_curated_dataset}_local.embedding_model`\n", " REMOTE WITH CONNECTION `us.vertex-ai`\n", " OPTIONS(ENDPOINT = 'text-embedding-005');\n", "\n", "CREATE OR REPLACE MODEL `${project_id}.${bigquery_data_beans_curated_dataset}_local.gemini_model`\n", " REMOTE WITH CONNECTION `us.vertex-ai`\n", " OPTIONS(ENDPOINT = 'gemini-2.0-flash');" ] }, { "cell_type": "markdown", "metadata": { "id": "tHr461ArEs8O" }, "source": [ "Create table with embeddings" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "WqoUaWO4EU0-" }, "outputs": [], "source": [ "%%bigquery\n", "CREATE OR REPLACE TABLE `${project_id}.${bigquery_data_beans_curated_dataset}_local.customer_review_embedded`\n", "as\n", "SELECT *\n", "FROM\n", " ML.GENERATE_TEXT_EMBEDDING(\n", " MODEL `${project_id}.${bigquery_data_beans_curated_dataset}_local.embedding_model`,\n", " (select review_text as content from `${project_id}.${bigquery_data_beans_curated_dataset}.customer_review` )\n", ");" ] }, { "cell_type": "markdown", "metadata": { "id": "3ua1JMYQExIc" }, "source": [ "Create vector index on the embeddings table" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "_336_8GiEc8l" }, "outputs": [], "source": [ "%%bigquery\n", "CREATE OR REPLACE VECTOR INDEX `${project_id}.${bigquery_data_beans_curated_dataset}_local.reviews_index`\n", "ON `${project_id}.${bigquery_data_beans_curated_dataset}_local.customer_review_embedded`(text_embedding)\n", "OPTIONS(distance_type='COSINE', index_type='IVF');" ] }, { "cell_type": "markdown", "metadata": { "id": "czttDTVZE000" }, "source": [ "Create a procedure to implement a RAG pipeline" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "Ho-GZBDyEhoB" }, "outputs": [], "source": [ "%%bigquery\n", "CREATE OR REPLACE PROCEDURE ${bigquery_data_beans_curated_dataset}_local.common_themes_by_menu_items(menu_item STRING, OUT themes STRING)\n", "BEGIN\n", "SELECT\n", " ml_generate_text_llm_result AS generated\n", "FROM\n", " ML.GENERATE_TEXT( MODEL `${project_id}.${bigquery_data_beans_curated_dataset}_local.gemini_model`,\n", " (\n", " SELECT\n", " CONCAT('Extract common themes from the following reviews: ', STRING_AGG(FORMAT(\"review text: %s\", base.content), ',\\n'),\n", " '. Reply in JSON format with this format: {\"item_name\": ITEM_NAME_HERE, \"common_themes\": [COMMON_THEMES_LIST_HERE]]}') AS prompt,\n", " FROM\n", " VECTOR_SEARCH( TABLE `${project_id}.${bigquery_data_beans_curated_dataset}_local.customer_review_embedded`,\n", " 'text_embedding',\n", " (\n", " SELECT\n", " text_embedding,\n", " content AS query\n", " FROM\n", " ML.GENERATE_TEXT_EMBEDDING( MODEL `${project_id}.${bigquery_data_beans_curated_dataset}_local.embedding_model`,\n", " (\n", " SELECT\n", " CAST(menu_item AS STRING) AS content)) ),\n", " top_k => 5) ),\n", " STRUCT(0.4 AS temperature,\n", " 300 AS max_output_tokens,\n", " 0.5 AS top_p,\n", " 5 AS top_k,\n", " TRUE AS flatten_json_output));\n", "END" ] }, { "cell_type": "markdown", "metadata": { "id": "_kWL7MACFBx9" }, "source": [ "Executes the procedure" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 224, "referenced_widgets": [ "6d5126f83d0c4d09baa2de0671b40b7c", "5a3f565ea81a42e3884f93b411ed5c8e", "4bf36a5c64ef47d197a0a8dcde9b301b", "114418ec6d774ff484f6119e6d5cffba", "37468b8ee1694a24b1d0e77e8bcb3866", "eb5ebfe064e84796a59e830122db3f5f", "9bb8a77ef2e44775bfbc0eea4860e70b", "20b3d0a30be04489af00592aea40afdc", "6e330008f69d4799a2d9a897923447b1", "0659f3f8b373495080fabdb1b8304459", "929d8b4c298b4657ae3480c9907342e8", "16b51a6ef4df4cc19cb6ae4d9c2578e6", "ef9359d7346c419da34ce2e42099bd8b", "101fb26b4a3347b891e33d8a72373ad1", "b9b6a9903c5347e7b7c7897f9c8af992", "1d259be6d0214d5385fa1773ce4dd9db", "9fc5000413a5472c8127168cbe7828dd", "4442a1a5ea02423697dafddfee62079e", "34d2c277b83642a3ab02f6492cfd48e7", "7ad6948100154faf9fb79681fb1b2252", "8f923063fc0b4470b9ec78643bd2a51c", "0308bf58f9a847948fedf6bd0d25a175" ] }, "executionInfo": { "elapsed": 5691, "status": "ok", "timestamp": 1708156834192, "user": { "displayName": "", "userId": "" }, "user_tz": -180 }, "id": "S5ID5P1BElhf", "outputId": "b84fcb68-bb78-4b33-e2f7-b76d070b1bbd" }, "outputs": [], "source": [ "%%bigquery\n", "DECLARE themes STRING;\n", "CALL ${bigquery_data_beans_curated_dataset}_local.common_themes_by_menu_items('capuccino',themes);" ] } ], "metadata": { "colab": { "cell_execution_strategy": "setup", "name": "BigQuery table", "provenance": [] }, "kernelspec": { "display_name": "Python 3", "name": "python3" }, "language_info": { "name": "python" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "0308bf58f9a847948fedf6bd0d25a175": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "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": "" } }, "0659f3f8b373495080fabdb1b8304459": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "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 } }, "101fb26b4a3347b891e33d8a72373ad1": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "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_34d2c277b83642a3ab02f6492cfd48e7", "max": 1, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_7ad6948100154faf9fb79681fb1b2252", "value": 1 } }, "114418ec6d774ff484f6119e6d5cffba": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "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_0659f3f8b373495080fabdb1b8304459", "placeholder": "​", "style": "IPY_MODEL_929d8b4c298b4657ae3480c9907342e8", "value": "" } }, "16b51a6ef4df4cc19cb6ae4d9c2578e6": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "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_ef9359d7346c419da34ce2e42099bd8b", "IPY_MODEL_101fb26b4a3347b891e33d8a72373ad1", "IPY_MODEL_b9b6a9903c5347e7b7c7897f9c8af992" ], "layout": "IPY_MODEL_1d259be6d0214d5385fa1773ce4dd9db" } }, "1d259be6d0214d5385fa1773ce4dd9db": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "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 } }, "20b3d0a30be04489af00592aea40afdc": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "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 } }, "34d2c277b83642a3ab02f6492cfd48e7": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "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 } }, "37468b8ee1694a24b1d0e77e8bcb3866": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "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 } }, "4442a1a5ea02423697dafddfee62079e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "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": "" } }, "4bf36a5c64ef47d197a0a8dcde9b301b": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "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_20b3d0a30be04489af00592aea40afdc", "max": 1, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_6e330008f69d4799a2d9a897923447b1", "value": 1 } }, "5a3f565ea81a42e3884f93b411ed5c8e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "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_eb5ebfe064e84796a59e830122db3f5f", "placeholder": "​", "style": "IPY_MODEL_9bb8a77ef2e44775bfbc0eea4860e70b", "value": "Job ID 6bf3f187-529a-446b-a980-d10a7584fb9a successfully executed: 100%" } }, "6d5126f83d0c4d09baa2de0671b40b7c": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "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_5a3f565ea81a42e3884f93b411ed5c8e", "IPY_MODEL_4bf36a5c64ef47d197a0a8dcde9b301b", "IPY_MODEL_114418ec6d774ff484f6119e6d5cffba" ], "layout": "IPY_MODEL_37468b8ee1694a24b1d0e77e8bcb3866" } }, "6e330008f69d4799a2d9a897923447b1": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "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": "" } }, "7ad6948100154faf9fb79681fb1b2252": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "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": "" } }, "8f923063fc0b4470b9ec78643bd2a51c": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "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 } }, "929d8b4c298b4657ae3480c9907342e8": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "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": "" } }, "9bb8a77ef2e44775bfbc0eea4860e70b": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "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": "" } }, "9fc5000413a5472c8127168cbe7828dd": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "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 } }, "b9b6a9903c5347e7b7c7897f9c8af992": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "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_8f923063fc0b4470b9ec78643bd2a51c", "placeholder": "​", "style": "IPY_MODEL_0308bf58f9a847948fedf6bd0d25a175", "value": "" } }, "eb5ebfe064e84796a59e830122db3f5f": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "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 } }, "ef9359d7346c419da34ce2e42099bd8b": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "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_9fc5000413a5472c8127168cbe7828dd", "placeholder": "​", "style": "IPY_MODEL_4442a1a5ea02423697dafddfee62079e", "value": "Downloading: 100%" } } } } }, "nbformat": 4, "nbformat_minor": 0 }